Altova Mailing List Archives
>xmlschema-dev Archive Home
>Recent entries
[Thread Prev]
>Thread Next - RE: Access to Schema API information
Re: Access to Schema API information
To: "Henry S. Thompson" <ht@---.--.--.-->
Date: 5/22/2012 12:08:00 PM
On 22/05/2012 11:06, Henry S. Thompson wrote: > Michael Kay writes: > >> I have been implementing a Saxon extension that exposes the Schema >> Component Model to XSLT and XQuery applications > Using functions is cool, but did you consider sticking with XPath? It does stick with XPath, only it's XPath 3.0... I think that attempts to model this information using elements and attributes suffer two main problems: (a) the node identity problem. It's hard to get away from the fact that elements have identity, and if elements have identity and model schema components then there is a strong expectation that node identity reflects component identity, which (a) doesn't reflect the semantics of the model (which explicitly leaves identity undefined), and (b) makes a lazy implementation difficult. (b) the network modelling problem: the schema component model is a network, while XML is best at modelling trees. Any attempt to model a graph in XML leads to (a) to arbitrary decisions about which relationships to model as XML parent/child relationships, and (b) very clumsy navigation when you have to follow the non-hierarchic links. Using a functional model of the information neatly bypasses both these issues. Functions in the XPath 3.0 model have no identity, so there is no way of asking, for example whether two facets with the same properties are "the same facet". All navigation is done using function calls so there is no asymmetry between relationships "within the hierarchy" and relationships "across the hierarchy". Michael Kay Saxonica > > See an old Extreme paper for some work we did in Edinburgh along those > lines a long time back now: > > Uniform access to infosets via reflection > Extreme Markup Languages 2003 > http://www.ltg.ed.ac.uk/~ht/Extreme_2003.html > > ht
Disclaimer
These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

