Author: mukulg
Date: Fri Jun 17 09:37:42 2011
New Revision: 1136825
URL: http://svn.apache.org/viewvc?rev=1136825view=rev
Log:
committing a schema 1.1 fix. it seems that implementation of attribute
xpathDefaultNamespace for xs:selector xs:field in IDC constraints was
incomplete (the evaluation of this wasn't occurring, but traverser was fine).
i'm committing an improved implementation of this functionality.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Field.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Selector.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDAbstractIDConstraintTraverser.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java?rev=1136825r1=1136824r2=1136825view=diff
==
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
Fri Jun 17 09:37:42 2011
@@ -1709,6 +1709,9 @@ public class XMLSchemaValidator
ValueStore valueStore =
fValueStoreCache.getValueStoreFor(field.getIdentityConstraint(),
initialDepth);
XPathMatcher matcher = field.createMatcher(valueStore);
+if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+matcher.setXPathDefaultNamespace(field.getXPathDefaultNamespace());
+}
fMatcherStack.addMatcher(matcher);
matcher.startDocumentFragment();
return matcher;
@@ -1734,6 +1737,9 @@ public class XMLSchemaValidator
if (selector == null)
return;
XPathMatcher matcher = selector.createMatcher(activator,
fElementDepth);
+if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+
matcher.setXPathDefaultNamespace(selector.getXPathDefaultNamespace());
+}
fMatcherStack.addMatcher(matcher);
matcher.startDocumentFragment();
}
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Field.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Field.java?rev=1136825r1=1136824r2=1136825view=diff
==
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Field.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Field.java
Fri Jun 17 09:37:42 2011
@@ -47,16 +47,19 @@ public class Field {
/** Identity constraint. */
protected final IdentityConstraint fIdentityConstraint;
+
+/** XPath default namespace. */
+protected String fXpathDefaultNamespace;
//
// Constructors
//
/** Constructs a field. */
-public Field(Field.XPath xpath,
- IdentityConstraint identityConstraint) {
+public Field(Field.XPath xpath, IdentityConstraint identityConstraint,
String xpathDefaultNamespace) {
fXPath = xpath;
fIdentityConstraint = identityConstraint;
+fXpathDefaultNamespace = xpathDefaultNamespace;
} // init(Field.XPath,IdentityConstraint)
//
@@ -88,6 +91,11 @@ public class Field {
public String toString() {
return fXPath.toString();
} // toString():String
+
+/** Return value of xpathDefaultNamespace. */
+public String getXPathDefaultNamespace() {
+return fXpathDefaultNamespace;
+}
//
// Classes
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Selector.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Selector.java?rev=1136825r1=1136824r2=1136825view=diff
==
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Selector.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/identity/Selector.java
Fri Jun 17 09:37:42 2011
@@ -49,16 +49,19 @@ public class Selector {
// the Identity constraint we're the matcher for. Only
// used for selectors!
protected IdentityConstraint fIDConstraint;
+
+/** XPath default namespace. */
+protected String fXpathDefaultNamespace;
//
// Constructors
//
/** Constructs a