RE: painting types
Len, > > Ok. So please expand on "painting" so > I get the whole picture. > > This seems to be settling down on types. XML > schema does at least two things with types: > > 1. Allows one to use the 'primitive' types > of the spec, roughly, the types that a relational > programmer uses. > > 2. Allows one to create new types, such as > the abstract types which are non-instantiable > but name and enable one to choose among > substitution groups. > > Of these, the first seems to be sharable among > all languages and doesn't require a schema if > they can be added inline, on the other hand, > that is like archforms: a privileged set of > names or attributes and that is just another > kind of schema. The second group clearly requires schema. Not exactly (IMHO) 1) In XML 1.0 the type of an element "element type" is defined by the name of the element (see http://www.w3.org/TR/REC-xml.html#dt-eldecl). 2) In RDF the type of a node is defined by the URI which represents the QName of the node (see typedNode production), and hence this idea of an element type being defined by its name is carried forward (essentially a namespaced/prefix indenpendent version of the element name) 3) In XML Schema the type of an element may similarly be inferred from its name (modulo context dependencies). One can view the directed labeled graph which represents the RDF interpretation of an XML document (see http://www.openhealth.org/RDF/rdf_Syntax_and_Names.htm) as a pruned grove or infoset where things like the differences between attribute and element values, or element order, etc. are not important nor maintained in the RDF 'infoset' -- but realize that the RDF graph *is* very much a type of grove. In RDF, type information is assigned via an arc from the node to the type having an arcname of "rdf:type" -- pretty simple. This is identical to: <someElt rdf:type="http://www.w3.org/2000/10/XMLSchema#unsignedInt" >34567</someElt> alternatively one can create a type chain akin to: [someElt, rdf:type, XMLSchema#unsignedInt] and ['12345', rdf:type, someElt] So in my view, the process of interpreting an XML Document as RDF results in the assignment of type information. Assume an RDF processor operates on a 'raw' XML infoset, strips out unnessary information items and assigns type information. XML Schema is yet another application which assigns type information to a 'raw' XML infoset. > > 1. The first issue as I understand it > is that without an infoSet extensive enough > to be considered a complete data model, there > isn't enough information to hyperlink reliably > or perform other common operations (what APIs > spec by interface). > > That was the nut of the groves tree as well. XSet *is* a full XML property set (or grove), but the Infoset does allow addressing anything that XPath/XPointer can address so I'm not sure that's the problem. > > 2. The second issue is that if alternative > schema means are used, the data model still > has to be accounted for by XPath and XSLT. > The grove guys get another point for the > grove plans idea. We need something of that > sort and that is what Henry says in his > presentation. agreed. start with the full grove (XSet provides this), prune to either the Infoset, PSVI, or RDF Model or to whatever else you care about. > > What precisely happens in XSLT and XPath without > schemas? What precisely happens with schemas? > Its all about properties that are there or not > there in a data model. If there are alternatives > to schemas, how does XSLT and XPath cope without > knowing in advance what post-process added to > the nodes in the data model? I can't say for sure what XPath 2.0 will look like, but if I were doing it I would create a function 'type()' which returns the qname of the type of the element in question the xpath: "//*[type()='xsd:unsignedIt'] would simply select all the elements with type=xsd:unsignedInt. One could construct *today* a query on an RDF store that would do the same thing (of course converting xsd:unsignedInt into 'http://www.w3.org/2000/10/XMLSchema#unsignedInt' ) Jonathan Borden The Open Healthcare Group http://www.openhealth.org
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format