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]