I am the creator of SensorML, an international standard for describing sensor systems and processes surrounding the act of measurement. Fo more info on SensorML chack out: http://vast.uah.edu/SensorML
I am also a newcomer to the RelaxNG Forum. I have looked over the archive of messages so I hope that I'm not bringing up issues that have already been discussed. A bit of background on my thoughts: (1) SensorML is defined in XML Schema (i.e. xsd) but is a very general framework for defining sensors and processes. We rely heavily on "soft-typing" for creating profiles and XML Instances (i.e., we don't derive new elements when restricting but rather depend on references to terms defined in online disctionaries and ontologies. (2) We greatly prefer RelaxNG for creating profiles (i.e. restrictions) in SensorML in order to define various reusable sensor components, sensor systems, and process models. Why? XML Schema is a bitch to derive profiles through restriction, and RelaxNG provides more flexibility and a much nicer transition between Schema and Instances. (3) Thus we have created a RelaxNG version of SensorML as well as having begun experiementing with creating profiles for components and process models. These can be found at: http://vast.uah.edu/svn/vast/RelaxNG-v1.0/ So here are my questions: (1) We sort of feel that the division between XML Schema and XML Instances is too solidly defined. That is, we have the need to begin creating profiles in which we define the general rules as well as some of the value for properties. There may be several such profile "steps" before an instance is ultimately defined. For example, we might wish to create a profile from the general SensorML schema that first defines the rules for any type of thermometer (ie. defines appropriate properties to include, etc). A manufacturer might then wish to further restrict this profile to include some of the values for these properties plus perhaps add some additional properties (if allowed by the thermometer profile). Finally the user might wish to add the final information for a particular thermometer (e.g. serial number, location, etc.) such that all options are now removed and we can in in essence output an XML instance. Thus, in this scenario, the division between schema and instance begins to blur. RelaxNG seems to be much better suited for this. Has anyone else considered this approach as a viable direction for XML and an application of RelaxNG? (2) We wish to have an editor for helping us create these profiles. The general SensorML rng schema uses many references (i.e. ref properties) within the schema, as will many of the profiles. It would be very nice to have an editor where we could ask the editor to resolve a particular reference so that we could maybe include values or other restrictions to that section within the profile. Do you know of any RelaxNG editors that allow that and which handle editing with this philosophy? (3) I know that the RelaxNG philosophy views inheritance as a bad thing, but is there any way to validate that a profile is a valid restriction of an existing rng schema? Thanks. Sorry for such a long request. Mike Botts
