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]

Reply via email to