Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xerces Wiki" for change notification.
The following page has been changed by assertions: http://wiki.apache.org/xerces/XML_Schema_1%2e1_Assertions ------------------------------------------------------------------------------ A first version of this interface is complete, and we have written sample implementations of this interface for following freely available XPath 2.0 engines: - 1. [http://psychopath.sourceforge.net/ PsychoPath] + 1. [http://psychopath.sourceforge.net/ Eclipse XPath2/PsychoPath] 1. [http://saxon.sourceforge.net/ Saxon basic] We have tried our best, to write an efficient implementation of XPath 2.0 integration for assertions. For nested elements having assertions, the child/descendant elements share the XPath (XDM) tree with the top most element. For each distinct XDM tree involved in assertions processing, we keep a reference of it's root node, and discard these references when assertions evaluation is complete for that tree. A caution for Schema authors: If we are specifying assertions for the root element of the XML document, a tree will be built for assertions processing, which could be as large as the XML document. Where memory is a concern for large XML documents, assertions may be specified at an inner level [1] of the XML documents, as far as possible. This [1] will cause smaller trees to be built, thereby reducing memory footprint. + + + '''Run-time notes''' + + By default, the Xerces-J Schema processor would select the PsychoPath engine for XPath 2.0 processing. Xerces-J has a provision for the user, to select between different XPath 2.0 engines, for evaluating assertions. This can be done by setting the Java system property, '''org.apache.xerces.assertProcessor'''. Xerces-J has an out of the box support for PsychoPath and Saxon-b engines. If the user doesn't set this property, or set it's value to, '''org.apache.xerces.impl.xs.XMLAssertPsychopathImpl''', the PsychoPath processor would be selected for XPath 2.0 processing. For selecting Saxon-b as the XPath 2.0 engine, the user must set the value of this property to, '''org.apache.xerces.impl.xs.XMLAssertSaxonImpl'''. + + If user's wish to use yet another, XPath 2.0 engine for Xerces-J assertions, they need to write a custom Java layer similar to org.apache.xerces.impl.xs.XMLAssertPsychopathImpl or org.apache.xerces.impl.xs.XMLAssertSaxonImpl. Xerces-J would publish an API, to integrate to XPath 2.0 engines. '''References:''' --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
