Also note that we did have a discussion on this topic back in November 2010
[1] which touched on some of the points you've mentioned here.

[1] http://markmail.org/message/yyqtyr7pttfvjhom

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [email protected]
E-mail: [email protected]

Michael Glavassevich <[email protected]> wrote on 09/08/2011 08:51:55 AM:

> Hi Mukul,
>
> Thanks for the summary, though I'm sure you're well aware that
> decisions need to be made through discussion here on the mailing
> list. If you find yourself in an off-list discussion, bring it back
> to the list first and summarize your thoughts so that the community
> has an opportunity to weigh in.
>
> Thanks.
>
> Michael Glavassevich
> XML Parser Development
> IBM Toronto Lab
> E-mail: [email protected]
> E-mail: [email protected]
>
> Mukul Gandhi <[email protected]> wrote on 09/08/2011 05:29:30 AM:
>
> > Hi all,
> >     I thought that it's good that I write about this issue to
> > xerces-dev list, since the code base changes that we did within Xerces
> > recently (the commit trace for these changes are in this mail trail)
> > affects a significant implementation design about use of XSD 1.1 CTA
> > feature, when we would use the XSD validator with Xerces.
> >
> > There was a private discussion (and I'm writing here, some of design
> > decisions we agreed in that discussion) that went between some of
> > committers at Xerces, about devising a better design to select "XPath
> > subset" vs "full XPath language" while using XSD 1.1 CTA with Xerces.
> > We felt that there's value in supporting both of these XPath modes,
> > and the selection of this must be controlled by a Xerces feature (so
> > the user may explicitly decide, that which XPath mode should be active
> > during a validation episode, and no implicit fall back from "XPath
> > subset" to "full XPath" must occur [which occurred before this code
> > base change] -- we felt, that this was an ambiguous and isn't a good
> > design for XSD 1.1 CTA processing).
> >
> > We also felt, that other than having an improved technical design as
> > mentioned above by providing this strict separation (via implementing
> > a Xerces feature) of XPath mode selection, we would also get following
> > benefits:
> >
> > 1. Supporting the subset can provide better performance, and can
> > improve inter-op with other XSD 1.1 implementations that only support
> > the subset.
> > 2. Supporting full XPath helps us remain compatible with Saxon (which
> > is another well known XSD 1.1 implementation).
> >
> > This particular code base change, implemented a Xerces feature
> > identified by the string Constants.XERCES_FEATURE_PREFIX +
> > Constants.CTA_FULL_XPATH_CHECKING_FEATURE (Class "Constants" belongs
> > to package, org.apache.xerces.impl), which by default is 'false'
> > (which means that XPath subset is active) and can be toggled to 'true'
> > (which activates full XPath for CTA, using the PsychoPath XPath 2.0
> > engine) by setting this feature on the JAXP SchemaFactory.
> >
> > Please feel free to provide comments about these code base changes.

Reply via email to