Author: mukulg
Date: Fri May 13 09:58:31 2011
New Revision: 1102644

URL: http://svn.apache.org/viewvc?rev=1102644&view=rev
Log:
committing slight improvement to schema 1.1 type table comparison logic.

Modified:
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSConstraints.java
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSConstraints.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSConstraints.java?rev=1102644&r1=1102643&r2=1102644&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSConstraints.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSConstraints.java
 Fri May 13 09:58:31 2011
@@ -635,6 +635,9 @@ public abstract class XSConstraints {
             else if ((baseURI1 == null && baseURI2 == null) || 
baseURI1.equals(baseURI2)) {
                 isTypeAlternativesEquivalent = true;
             }
+            else {
+                isTypeAlternativesEquivalent = false;
+            }
         }
         
         return isTypeAlternativesEquivalent;

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=1102644&r1=1102643&r2=1102644&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
 Fri May 13 09:58:31 2011
@@ -4589,6 +4589,10 @@ public class XSDHandler {
         }
         fSchemaParser.setSupportedVersion(fSupportedVersion);
     }
+    
+    public String getDocumentURI() {
+        return fSchemaParser.getDocument().getDocumentURI();
+    }
 
     public short getSchemaVersion() {
         return fSchemaVersion;

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java?rev=1102644&r1=1102643&r2=1102644&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java
 Fri May 13 09:58:31 2011
@@ -61,14 +61,16 @@ import org.w3c.dom.Element;
 class XSDTypeAlternativeTraverser extends XSDAbstractTraverser {
     
     private static final XSSimpleType fErrorType;
+    private XSDHandler fXsdHandler = null;
+    
     static {
         SchemaGrammar grammar = 
SchemaGrammar.getS4SGrammar(Constants.SCHEMA_VERSION_1_1);
         fErrorType = (XSSimpleType)grammar.getGlobalTypeDecl("error");
     }
 
-    XSDTypeAlternativeTraverser (XSDHandler handler,
-            XSAttributeChecker attrChecker) {
+    XSDTypeAlternativeTraverser (XSDHandler handler, XSAttributeChecker 
attrChecker) {
         super(handler, attrChecker);
+        fXsdHandler = handler;
     }
 
     /**
@@ -209,7 +211,8 @@ class XSDTypeAlternativeTraverser extend
             typeAlternative.setNamespaceContext(new 
NamespaceSupport(schemaDoc.fNamespaceSupport)); 
         }
         
-        typeAlternative.setBaseURI(altElement.getBaseURI());
+        // REVISIT : is using Document.getDocumentURI() correct to retrieve 
base URI in every case, for type alternatives? 
+        typeAlternative.setBaseURI(fXsdHandler.getDocumentURI());
 
         if (xpathNS != null) {
             //set the xpathDefaultNamespace attribute value
@@ -218,5 +221,7 @@ class XSDTypeAlternativeTraverser extend
         
         grammar.addTypeAlternative(element, typeAlternative);
         fAttrChecker.returnAttrArray(attrValues, schemaDoc);
-    }
-}
+        
+    } // traverse
+    
+} // class XSDTypeAlternativeTraverser



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to