Author: knoaman
Date: Wed Nov 17 18:15:40 2010
New Revision: 1036152

URL: http://svn.apache.org/viewvc?rev=1036152&view=rev
Log:
Fix couple of bugs in xs:override implementation

Modified:
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
    
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/override/DOMOverrideImpl.java

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties?rev=1036152&r1=1036151&r2=1036152&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
 Wed Nov 17 18:15:40 2010
@@ -148,6 +148,8 @@
         src-import.3.1 = src-import.3.1: The namespace attribute, ''{0}'', of 
an <import> element information item must be identical to the targetNamespace 
attribute, ''{1}'', of the imported document.
         src-import.3.2 = src-import.3.2: An <import> element information item 
that had no namespace attribute was found, so the imported document cannot have 
a targetNamespace attribute. However, the targetNamespace ''{1}'' was found in 
the imported document.
         src-include.1 = src-include.1: The root element of document ''{0}'' 
has to have the namespace name ''http://www.w3.org/2001/XMLSchema'' and the 
local name ''schema''.
+        src-override.2.1 = src-override.2.1: The targetNamespace of the 
overridden schema, currently ''{1}'', must be identical to that of the 
overriding schema, currently ''{0}''.
+        src-override-transformation.1 = src-override-transformation.1: A 
''{0}'' definition with the name ''{2}'' cannot override a ''{1}'' definition 
with the same name.
         src-override-collision.1 = src-override-collision.1: The schema id 
''{0}'' referenced by <{1}> is colliding with an already overridden schema. 
Referenced schema is being ignored.
         src-override-collision.2 = src-override-collision.2: The override 
transformation of schema id ''{0}'' collides with an existing schema that was 
previously included, redefined, or overridden. Transformed schema is being 
ignored and override will not take place.
         src-include.2.1 = src-include.2.1: The targetNamespace of the 
referenced schema, currently ''{1}'', must be identical to that of the 
including schema, currently ''{0}''.

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=1036152&r1=1036151&r2=1036152&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
 Wed Nov 17 18:15:40 2010
@@ -805,7 +805,8 @@ public class XSDHandler {
             {"TargetNamespace.1", "TargetNamespace.2"},
             {"TargetNamespace.1", "TargetNamespace.2"},
             {"TargetNamespace.1", "TargetNamespace.2"},
-            {"TargetNamespace.1", "TargetNamespace.2"}
+            {"TargetNamespace.1", "TargetNamespace.2"},
+            {"src-override.2.1", "src-override.2.1"},
     };
     
     private static final String[] ELE_ERROR_CODES = {

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/override/DOMOverrideImpl.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/override/DOMOverrideImpl.java?rev=1036152&r1=1036151&r2=1036152&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/override/DOMOverrideImpl.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/override/DOMOverrideImpl.java
 Wed Nov 17 18:15:40 2010
@@ -163,6 +163,16 @@ public final class DOMOverrideImpl exten
                 Element oldNode = child;
                 //check if element needs to be overridden     
                 if (newNode != null){
+                    if (componentType == OVERRIDE_TYPE_DEFINITION) {
+                        final String overridingLocalName = 
getLocalName(newNode.originalElement);
+                        if (!localName.equals(overridingLocalName)) {
+                            
fSchemaHandler.reportSchemaError("src-override-transformation.1", new 
Object[]{overridingLocalName, localName, componentName}, 
newNode.originalElement);
+                            if (isOverrideRoot){
+                                newNode.overrideCloned = true;   
+                            }
+                            continue;
+                        }
+                    }
                     child = performDOMOverride(overridenSchemaRoot, 
newNode.originalElement, oldNode);
                     if (!child.isEqualNode(oldNode)) {
                         hasPerformedTransformations = true;



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

Reply via email to