Author: mukulg
Date: Sun May 15 10:53:03 2011
New Revision: 1103314
URL: http://svn.apache.org/viewvc?rev=1103314&view=rev
Log:
if there's a schema header element as following,
<xs:schema xpathDefaultNamespace="##targetNamespace" ...>
...
</xs:schema>
(i.e xpathDefaultNamespace points to the targetNamespace of the schema),
xpathDefaultNamespace is not set properly within the XSModel.
this commit solves this problem.
there are also few cosmetic whitespace improvements in XSDComplexTypeTraverser.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDocumentInfo.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java?rev=1103314&r1=1103313&r2=1103314&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
Sun May 15 10:53:03 2011
@@ -1668,11 +1668,9 @@ class XSDComplexTypeTraverser extends X
*/
private void traverseAsserts(Element assertElement, XSDocumentInfo
schemaDoc, SchemaGrammar grammar, XSComplexTypeDecl enclosingCT) throws
ComplexTypeRecoverableError {
- Object[] attrValues = fAttrChecker.checkAttributes(assertElement,
- false, schemaDoc);
+ Object[] attrValues = fAttrChecker.checkAttributes(assertElement,
false, schemaDoc);
String test = (String) attrValues[XSAttributeChecker.ATTIDX_XPATH];
- String xpathDefaultNamespace = (String) attrValues[XSAttributeChecker.
-
ATTIDX_XPATHDEFAULTNS];
+ String xpathDefaultNamespace = (String)
attrValues[XSAttributeChecker.ATTIDX_XPATHDEFAULTNS];
if (xpathDefaultNamespace == null) {
xpathDefaultNamespace = schemaDoc.fXpathDefaultNamespace;
}
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDocumentInfo.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDocumentInfo.java?rev=1103314&r1=1103313&r2=1103314&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDocumentInfo.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDocumentInfo.java
Sun May 15 10:53:03 2011
@@ -28,7 +28,9 @@ import org.apache.xerces.impl.xs.XMLSche
import org.apache.xerces.impl.xs.XSAttributeGroupDecl;
import org.apache.xerces.impl.xs.XSOpenContentDecl;
import org.apache.xerces.impl.xs.util.XInt;
+import org.apache.xerces.util.DOMUtil;
import org.apache.xerces.util.SymbolTable;
+import org.apache.xerces.util.XMLChar;
import org.apache.xerces.xni.QName;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -120,6 +122,10 @@ class XSDocumentInfo {
fValidationContext.setSymbolTable(symbolTable);
fValidationContext.setTypeValidatorHelper(typeValidatorHelper);
+ fTargetNamespace = XMLChar.trim(DOMUtil.getAttrValue(root,
SchemaSymbols.ATT_TARGETNAMESPACE));
+ if (!"".equals(fTargetNamespace)) {
+ fTargetNamespace = symbolTable.addSymbol(fTargetNamespace);
+ }
fSchemaAttrs = attrChecker.checkAttributes(root, true, this);
// schemaAttrs == null means it's not an <xsd:schema> element
// throw an exception, but we don't know the document systemId,
@@ -134,12 +140,7 @@ class XSDocumentInfo {
fBlockDefault =
((XInt)fSchemaAttrs[XSAttributeChecker.ATTIDX_BLOCKDEFAULT]).shortValue();
fFinalDefault =
-
((XInt)fSchemaAttrs[XSAttributeChecker.ATTIDX_FINALDEFAULT]).shortValue();
- fTargetNamespace =
-
(String)fSchemaAttrs[XSAttributeChecker.ATTIDX_TARGETNAMESPACE];
- if (fTargetNamespace != null)
- fTargetNamespace = symbolTable.addSymbol(fTargetNamespace);
-
+
((XInt)fSchemaAttrs[XSAttributeChecker.ATTIDX_FINALDEFAULT]).shortValue();
fXpathDefaultNamespace =
(String)fSchemaAttrs[XSAttributeChecker.ATTIDX_XPATHDEFAULTNS];
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]