You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2010/11/17 19:15:41 UTC

svn commit: r1036152 - in /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl: msg/XMLSchemaMessages.properties xs/traversers/XSDHandler.java xs/traversers/override/DOMOverrideImpl.java

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: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org