You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by dk...@apache.org on 2014/09/08 21:37:38 UTC

svn commit: r1623505 - in /webservices/xmlschema/trunk/xmlschema-core/src: main/java/org/apache/ws/commons/schema/SchemaBuilder.java main/java/org/apache/ws/commons/schema/XmlSchemaAny.java test/java/tests/AnyTest.java

Author: dkulp
Date: Mon Sep  8 19:37:38 2014
New Revision: 1623505

URL: http://svn.apache.org/r1623505
Log:
[XMLSCHEMA-34] Attach schema target namespace fo XmlSchemaAny
Patch from Michael Pigott applied

Modified:
    webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
    webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/XmlSchemaAny.java
    webservices/xmlschema/trunk/xmlschema-core/src/test/java/tests/AnyTest.java

Modified: webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
URL: http://svn.apache.org/viewvc/webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java?rev=1623505&r1=1623504&r2=1623505&view=diff
==============================================================================
--- webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java (original)
+++ webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java Mon Sep  8 19:37:38 2014
@@ -858,6 +858,8 @@ public class SchemaBuilder {
 
         XmlSchemaAny any = new XmlSchemaAny();
 
+        any.setTargetNamespace(schema.getLogicalTargetNamespace());
+
         if (anyEl.hasAttribute("namespace")) {
             any.setNamespace(anyEl.getAttribute("namespace"));
         }

Modified: webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/XmlSchemaAny.java
URL: http://svn.apache.org/viewvc/webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/XmlSchemaAny.java?rev=1623505&r1=1623504&r2=1623505&view=diff
==============================================================================
--- webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/XmlSchemaAny.java (original)
+++ webservices/xmlschema/trunk/xmlschema-core/src/main/java/org/apache/ws/commons/schema/XmlSchemaAny.java Mon Sep  8 19:37:38 2014
@@ -32,8 +32,8 @@ public class XmlSchemaAny extends XmlSch
      */
     private String namespace;
     private XmlSchemaContentProcessing processContent;
+    private String targetNamespace;
 
-    
     /**
      * Creates new XmlSchemaAny
      */
@@ -58,4 +58,30 @@ public class XmlSchemaAny extends XmlSch
         this.processContent = processContent;
     }
 
+    /**
+     * {@link #getNamespace()} returns the namespace or set of namespaces
+     * that this wildcard element is valid for.  The target namespaces may
+     * include <code>##other</code>, <code>##targetNamespace</code>.  The
+     * <code>##other</code> directive means any namespace other than the
+     * schema's target namespace, while the <code>##targetNamespace</code>
+     * directive means the element <i>must be</i> in the schema's target
+     * namespace.  Resolving either of these requires knowledge of what
+     * the schema's target namespace is, which is returned by this method.
+     *
+     * @return The wildcard element's target namespace.
+     */
+    public String getTargetNamespace() {
+    	return targetNamespace;
+    }
+
+    /**
+     * Sets the schema's target namespace.
+     *
+     * @param namespace The schema's target namespace.
+     *
+     * @see #getTargetNamespace()
+     */
+    public void setTargetNamespace(String namespace) {
+    	targetNamespace = namespace;
+    }
 }

Modified: webservices/xmlschema/trunk/xmlschema-core/src/test/java/tests/AnyTest.java
URL: http://svn.apache.org/viewvc/webservices/xmlschema/trunk/xmlschema-core/src/test/java/tests/AnyTest.java?rev=1623505&r1=1623504&r2=1623505&view=diff
==============================================================================
--- webservices/xmlschema/trunk/xmlschema-core/src/test/java/tests/AnyTest.java (original)
+++ webservices/xmlschema/trunk/xmlschema-core/src/test/java/tests/AnyTest.java Mon Sep  8 19:37:38 2014
@@ -182,6 +182,7 @@ public class AnyTest extends Assert {
                 assertEquals("none", xscp.toString());
                 assertEquals(minCount, ((XmlSchemaAny)o).getMinOccurs());
                 assertEquals(maxCount, ((XmlSchemaAny)o).getMaxOccurs());
+                assertEquals(elementQName.getNamespaceURI(), ((XmlSchemaAny) o).getTargetNamespace());
             }
         }