Author: mukulg
Date: Wed May 4 08:33:36 2011
New Revision: 1099369
URL: http://svn.apache.org/viewvc?rev=1099369&view=rev
Log:
committing a little fix for xpath evaluation with psychopath engine, while
processing schema 1.1 CTA's (seems there was an error with scope of an object).
also doing bit of refactoring.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/AbstractPsychoPathXPath2Impl.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/alternative/Test.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/AbstractPsychoPathXPath2Impl.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/AbstractPsychoPathXPath2Impl.java?rev=1099369&r1=1099368&r2=1099369&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/AbstractPsychoPathXPath2Impl.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/AbstractPsychoPathXPath2Impl.java
Wed May 4 08:33:36 2011
@@ -62,9 +62,9 @@ public class AbstractPsychoPathXPath2Imp
private Document fDomDoc = null;
/*
- * Initialize the "PsychoPath XPath 2" dynamic context.
+ * Initialize the PsychoPath engine XPath 2.0 dynamic context.
*/
- protected DynamicContext initDynamicContext(XSModel schema, Document
document, Map psychoPathParams) {
+ protected DynamicContext initXPath2DynamicContext(XSModel schema, Document
document, Map psychoPathParams) {
fXpath2DynamicContext = new DefaultDynamicContext(schema, document);
@@ -73,8 +73,7 @@ public class AbstractPsychoPathXPath2Imp
Enumeration currPrefixes = xpath2NamespaceContext.getAllPrefixes();
while (currPrefixes.hasMoreElements()) {
String prefix = (String)currPrefixes.nextElement();
- String uri = xpath2NamespaceContext.getURI(prefix);
- fXpath2DynamicContext.add_namespace(prefix, uri);
+ addNamespaceBindingToXPath2DynamicContext(prefix,
xpath2NamespaceContext.getURI(prefix));
}
fXpath2DynamicContext.add_function_library(new FnFunctionLibrary());
fXpath2DynamicContext.add_function_library(new XSCtrLibrary());
@@ -82,13 +81,21 @@ public class AbstractPsychoPathXPath2Imp
return fXpath2DynamicContext;
- } // initDynamicContext
+ } // initXPath2DynamicContext
+
+
+ /*
+ * Add namespace binding to XPath 2.0 dynamic context.
+ */
+ protected void addNamespaceBindingToXPath2DynamicContext(String prefix,
String uri) {
+ fXpath2DynamicContext.add_namespace(prefix, uri);
+ } // addNamespaceBindingToXPath2DynamicContext
/*
* Evaluate XPath expression with PsychoPath XPath2 engine.
*/
- protected boolean evaluateXPathExpr(XPath xpathObject, Element
contextNode) throws StaticError, DynamicError, Exception {
+ protected boolean evaluateXPathExpr(XPath xpathObject, Element
contextNode) throws Exception {
StaticChecker sc = new StaticNameResolver(fXpath2DynamicContext);
sc.check(xpathObject);
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java?rev=1099369&r1=1099368&r2=1099369&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java
Wed May 4 08:33:36 2011
@@ -121,7 +121,7 @@ public class XMLAssertPsychopathXPath2Im
private void initXPathProcessor() throws Exception {
fXmlSchemaValidator = (XMLSchemaValidator)
getProperty("http://apache.org/xml/properties/assert/validator");
fAbstrPsychopathImpl = new AbstractPsychoPathXPath2Impl();
- fXpath2DynamicContext =
fAbstrPsychopathImpl.initDynamicContext(fSchemaXSmodel, fAssertDocument,
fAssertParams);
+ fXpath2DynamicContext =
fAbstrPsychopathImpl.initXPath2DynamicContext(fSchemaXSmodel, fAssertDocument,
fAssertParams);
} // initXPathProcessor
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/alternative/Test.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/alternative/Test.java?rev=1099369&r1=1099368&r2=1099369&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/alternative/Test.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/alternative/Test.java
Wed May 4 08:33:36 2011
@@ -131,9 +131,9 @@ public class Test extends AbstractPsycho
// construct parameter values for psychopath xpath processor
Map psychoPathParams = new HashMap();
psychoPathParams.put("XPATH2_NS_CONTEXT", fXPath2NamespaceContext);
- DynamicContext xpath2DynamicContext = initDynamicContext(null,
document, psychoPathParams);
+ initXPath2DynamicContext(null, document, psychoPathParams);
if (fTypeAlternative.fXPathDefaultNamespace != null) {
- xpath2DynamicContext.add_namespace(null,
fTypeAlternative.fXPathDefaultNamespace);
+ addNamespaceBindingToXPath2DynamicContext(null,
fTypeAlternative.fXPathDefaultNamespace);
}
evaluationResult = evaluateXPathExpr(fXPathPsychoPath, elem);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]