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]

Reply via email to