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]

Reply via email to