Author: gdaniels
Date: Sat Sep 17 23:09:48 2005
New Revision: 289897

URL: http://svn.apache.org/viewcvs?rev=289897&view=rev
Log:
* Rough in test framework

* Fix problem with element forms, change bizarre capitalization of enum values 
for form

* Add a couple of tests

Added:
    webservices/commons/trunk/XmlSchema/test/
    webservices/commons/trunk/XmlSchema/test-resources/
    webservices/commons/trunk/XmlSchema/test-resources/elementForm.xsd
    webservices/commons/trunk/XmlSchema/test-resources/forwardRef.xsd
    webservices/commons/trunk/XmlSchema/test/tests/
    webservices/commons/trunk/XmlSchema/test/tests/TestElementForm.java
    webservices/commons/trunk/XmlSchema/test/tests/TestForwardRefs.java
Modified:
    webservices/commons/trunk/XmlSchema/build.xml
    webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/enum/Enum.java
    
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java
    
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchema.java
    
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaAttribute.java
    
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaElement.java
    
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaForm.java
    
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaSerializer.java

Modified: webservices/commons/trunk/XmlSchema/build.xml
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/build.xml?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- webservices/commons/trunk/XmlSchema/build.xml (original)
+++ webservices/commons/trunk/XmlSchema/build.xml Sat Sep 17 23:09:48 2005
@@ -11,12 +11,20 @@
        <property name="dist.dir" value="${build.dir}/dist"/>
        <property name="dist.zip" value="${project.name}.zip"/>
        <property name="srcdist.zip" value="${project.name}-src.zip"/>
+    <property name="test.dir" value="${basedir}/test"/>
+    <property name="test_classes.dir" value="${build.dir}/test-classes"/>
+    <property name="test_reports.dir" value="${build.dir}/test-reports"/>
 
     <target name="prepare">
                <mkdir dir="${build_classes.dir}"/>
                <mkdir dir="${build_lib.dir}"/>
     </target>
 
+    <target name="prepare-tests">
+        <mkdir dir="${test_classes.dir}"/>
+        <mkdir dir="${test_reports.dir}"/>
+    </target>
+
     <target name="compile" depends="prepare" description="compiles the src and 
puts it in build/classes">
                <javac srcdir="${src.dir}" destdir="${build_classes.dir}" 
debug="true" 
                       deprecation="true">
@@ -24,7 +32,29 @@
            </javac>
     </target>
 
-    <target name="jar" depends="compile" description="compiles the src and 
creates XmlSchema.jar in  build/lib">
+    <target name="compile-tests" depends="prepare-tests, compile" 
description="compiles the tests and puts them in build/test-classes">
+               <javac srcdir="${test.dir}" destdir="${test_classes.dir}" 
debug="true"
+                      deprecation="true">
+               <include name="**/*.java" />
+           </javac>
+    </target>
+
+    <target name="test" depends="compile-tests" description="Runs the unit 
tests">
+        <junit printsummary="yes" haltonfailure="yes">
+            <classpath>
+                <pathelement location="${build_classes.dir}"/>
+                <pathelement location="${test_classes.dir}"/>
+            </classpath>
+
+            <batchtest todir="${test_reports.dir}">
+                <fileset dir="${test.dir}">
+                    <include name="**/*Test*.java"/>
+                </fileset>
+            </batchtest>
+        </junit>
+    </target>
+
+    <target name="jar" depends="compile, test" description="compiles the src 
and creates XmlSchema.jar in  build/lib">
         <jar jarfile="${build_lib.dir}/${output.jar}" compress="true" 
basedir="${build_classes.dir}"/>
     </target>
 

Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/enum/Enum.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/enum/Enum.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/enum/Enum.java 
(original)
+++ webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/enum/Enum.java 
Sat Sep 17 23:09:48 2005
@@ -92,7 +92,7 @@
                     break;
                 }
                 if (i == values.length - 1)
-                    throw new EnumValueException("Bad Enumeration value");
+                    throw new EnumValueException("Bad Enumeration value '" + 
value + "'");
             }
         }
     }

Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java
 (original)
+++ 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/SchemaBuilder.java
 Sat Sep 17 23:09:48 2005
@@ -88,7 +88,7 @@
                 schema.items.add(type);

                 collection.resolveType(type.getQName(), type);

             } else if (el.getLocalName().equals("element")) {

-                XmlSchemaElement element = handleElement(schema, el, schemaEl);

+                XmlSchemaElement element = handleElement(schema, el, schemaEl, 
true);

                 if (element.qualifiedName != null)

                     schema.elements.collection.put(element.qualifiedName, 
element);

                 else if (element.refName != null)

@@ -951,7 +951,7 @@
                 sequence.items.add(seq);

             } else if (el.getLocalName().equals("element")) {

                 XmlSchemaElement element = handleElement(schema, el,

-                                                         schemaEl);

+                                                         schemaEl, false);

                 sequence.items.add(element);

             } else if (el.getLocalName().equals("group")) {

                 XmlSchemaGroupRef group = handleGroupRef(schema, el,

@@ -1021,7 +1021,7 @@
                 choice.items.add(seq);

             } else if (el.getLocalName().equals("element")) {

                 XmlSchemaElement element =

-                        handleElement(schema, el, schemaEl);

+                        handleElement(schema, el, schemaEl, false);

                 choice.items.add(element);

             } else if (el.getLocalName().equals("group")) {

                 XmlSchemaGroupRef group =

@@ -1051,7 +1051,7 @@
              el != null; el = XDOMUtil.getNextSiblingElementNS(el, 
XmlSchema.SCHEMA_NS)) {

 

             if (el.getLocalName().equals("element")) {

-                XmlSchemaElement element = handleElement(schema, el, schemaEl);

+                XmlSchemaElement element = handleElement(schema, el, schemaEl, 
false);

                 all.items.add(element);

             } else if (el.getLocalName().equals("annotation")) {

                 XmlSchemaAnnotation annotation = handleAnnotation(el);

@@ -1361,8 +1361,10 @@
      * ********

      * handle_complex_content_restriction

      */

-    XmlSchemaElement handleElement(XmlSchema schema, Element el,

-                                   Element schemaEl) {

+    XmlSchemaElement handleElement(XmlSchema schema,

+                                   Element el,

+                                   Element schemaEl,

+                                   boolean isGlobal) {

 

         XmlSchemaElement element = new XmlSchemaElement();

 

@@ -1372,8 +1374,16 @@
         //                String namespace = (schema.targetNamespace==null)?

         //                                      "" : schema.targetNamespace;

 

-        element.qualifiedName = new QName(schema.targetNamespace,

-                                          element.name);

+        boolean isQualified = 
schema.getElementFormDefault().getValue().equals(XmlSchemaForm.QUALIFIED);

+        if (el.hasAttribute("form")) {

+            String formDef = el.getAttribute("form");

+            element.form = new XmlSchemaForm(formDef);

+            isQualified = formDef.equals(XmlSchemaForm.QUALIFIED);

+        }

+

+        String ns = isQualified || isGlobal ? schema.targetNamespace :

+                                                     null;

+        element.qualifiedName = new QName(ns, element.name);

 

         Element annotationEl =

                 XDOMUtil.getFirstChildElementNS(el,

@@ -1502,10 +1512,6 @@
         if (el.hasAttribute("fixed"))

             element.fixedValue = el.getAttribute("fixed");

 

-        if (el.hasAttribute("form")) {

-            String formDef = getEnumString(el, "form");

-            element.form = new XmlSchemaForm(formDef);

-        }

         if (el.hasAttribute("id"))

             element.id = el.getAttribute("id");

 

@@ -1768,7 +1774,7 @@
             char c = Character.toUpperCase(value.charAt(0));

             return new XmlSchemaForm(c + value.substring(1));

         } else

-            return new XmlSchemaForm("Unqualified");

+            return new XmlSchemaForm("unqualified");

     }

 

     //Check value entered by user and change according to .net spec,


Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchema.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchema.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchema.java
 (original)
+++ 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchema.java
 Sat Sep 17 23:09:48 2005
@@ -117,8 +117,8 @@
      */
     public XmlSchema(XmlSchemaCollection parent) {
         this.parent = parent;
-        attributeFormDefault = new XmlSchemaForm("Qualified");
-        elementFormDefault = new XmlSchemaForm("Qualified");
+        attributeFormDefault = new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED);
+        elementFormDefault = new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED);
         blockDefault = new XmlSchemaDerivationMethod("None");
         finalDefault = new XmlSchemaDerivationMethod("None");
         items = new XmlSchemaObjectCollection();

Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaAttribute.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaAttribute.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaAttribute.java
 (original)
+++ 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaAttribute.java
 Sat Sep 17 23:09:48 2005
@@ -85,7 +85,7 @@
      * Creates new XmlSchemaAttribute
      */
     public XmlSchemaAttribute() {
-        form = new XmlSchemaForm("None");
+        form = new XmlSchemaForm(XmlSchemaForm.NONE);
         use = new XmlSchemaUse("None");
     }
 

Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaElement.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaElement.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaElement.java
 (original)
+++ 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaElement.java
 Sat Sep 17 23:09:48 2005
@@ -137,7 +137,7 @@
         constraints = new XmlSchemaObjectCollection();
         isAbstract = false;
         isNillable = false;
-        form = new XmlSchemaForm("None");
+        form = new XmlSchemaForm(XmlSchemaForm.NONE);
         finalDerivation = new XmlSchemaDerivationMethod("None");
         block = new XmlSchemaDerivationMethod("None");
     }

Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaForm.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaForm.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaForm.java
 (original)
+++ 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaForm.java
 Sat Sep 17 23:09:48 2005
@@ -75,7 +75,11 @@
 
 public class XmlSchemaForm extends Enum {
 
-    static String[] members = new String[]{"None", "Qualified", "Unqualified"};
+    public static final String QUALIFIED = "qualified";
+    public static final String UNQUALIFIED = "unqualified";
+    public static final String NONE = "none";
+    
+    static String[] members = new String[]{NONE, QUALIFIED, UNQUALIFIED};
 
     /**
      * Creates new XmlSchemaForm

Modified: 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaSerializer.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaSerializer.java?rev=289897&r1=289896&r2=289897&view=diff
==============================================================================
--- 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaSerializer.java
 (original)
+++ 
webservices/commons/trunk/XmlSchema/src/org/apache/axis/xsd/xml/schema/XmlSchemaSerializer.java
 Sat Sep 17 23:09:48 2005
@@ -168,7 +168,7 @@
         if (schemaObj.attributeFormDefault != null) {
             String formQualified = schemaObj.attributeFormDefault.getValue();
 
-            if (!formQualified.equals("None"))
+            if (!formQualified.equals(XmlSchemaForm.NONE))
                 serializedSchema.setAttributeNS(XmlSchema.SCHEMA_NS,
                                                 "attributeFormDefault", 
convertString(formQualified));
         }
@@ -176,7 +176,7 @@
         if (schemaObj.elementFormDefault != null) {
             String formQualified = schemaObj.elementFormDefault.getValue();
 
-            if (!formQualified.equals("None"))
+            if (!formQualified.equals(XmlSchemaForm.NONE))
                 serializedSchema.setAttributeNS(XmlSchema.SCHEMA_NS,
                                                 "elementFormDefault", 
convertString(formQualified));
         }
@@ -570,7 +570,7 @@
                                         elementObj.fixedValue);
 
         String formDef = elementObj.form.getValue();
-        if (!formDef.equals("None")) {
+        if (!formDef.equals(XmlSchemaForm.NONE)) {
             formDef = convertString(formDef);
             serializedEl.setAttributeNS(XmlSchema.SCHEMA_NS, "form", formDef);
         }
@@ -1082,7 +1082,7 @@
                                      attributeObj.fixedValue);
 
         String formType = attributeObj.form.getValue();
-        if (!formType.equals("None")) {
+        if (!formType.equals(XmlSchemaForm.NONE)) {
             formType = convertString(formType);
             attribute.setAttributeNS(XmlSchema.SCHEMA_NS, "form", formType);
         }

Added: webservices/commons/trunk/XmlSchema/test-resources/elementForm.xsd
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/test-resources/elementForm.xsd?rev=289897&view=auto
==============================================================================
--- webservices/commons/trunk/XmlSchema/test-resources/elementForm.xsd (added)
+++ webservices/commons/trunk/XmlSchema/test-resources/elementForm.xsd Sat Sep 
17 23:09:48 2005
@@ -0,0 +1,19 @@
+<schema

+    xmlns="http://www.w3.org/2001/XMLSchema";

+    xmlns:xsd="http://www.w3.org/2001/XMLSchema";

+    xmlns:tns="http://unqualified-elements.example.com";

+    targetNamespace="http://unqualified-elements.example.com";>

+

+    <element name="unQualifiedLocals">

+        <complexType>

+            <sequence>

+                <element name="unqualified" type="xsd:string"/>

+                <element name="qualified" form="qualified" type="xsd:int"/>

+<!--                <element ref="tns:global"/>-->

+            </sequence>

+        </complexType>

+    </element>

+

+    <element name="global" type="xsd:int"/>

+

+</schema>


Added: webservices/commons/trunk/XmlSchema/test-resources/forwardRef.xsd
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/test-resources/forwardRef.xsd?rev=289897&view=auto
==============================================================================
--- webservices/commons/trunk/XmlSchema/test-resources/forwardRef.xsd (added)
+++ webservices/commons/trunk/XmlSchema/test-resources/forwardRef.xsd Sat Sep 
17 23:09:48 2005
@@ -0,0 +1,62 @@
+<schema

+    xmlns="http://www.w3.org/2001/XMLSchema";

+    xmlns:xsd="http://www.w3.org/2001/XMLSchema";

+    xmlns:tns="http://soapinterop.org/types";

+    targetNamespace="http://soapinterop.org/types";>

+

+    <element name="attrTest">

+        <complexType>

+            <attribute name="forward" type="xsd:int"/>

+            <sequence>

+                <element name="foo" type="xsd:string"/>

+            </sequence>

+        </complexType>

+    </element>

+

+    <complexType name="Struct">

+        <sequence>

+            <element name="varString" type="xsd:string"/>

+            <element name="varInt" type="xsd:int"/>

+            <element name="varFloat" type="xsd:float"/>

+            <element name="varStruct" type="tns:Struct"/>

+            <element name="varForward" type="tns:Forward"/>

+        </sequence>

+    </complexType>

+

+    <complexType name="Forward">

+        <sequence>

+            <element name="soapStruct" type="tns:Struct"/>

+        </sequence>

+    </complexType>

+

+    <complexType name="BaseStruct">

+        <sequence>

+            <element name="structMessage" type="tns:Struct"/>

+            <element name="shortMessage" type="xsd:short"/>

+        </sequence>

+    </complexType>

+

+    <complexType name="ExtendedStruct">

+        <complexContent>

+            <extension base="tns:BaseStruct">

+                <sequence>

+                    <element name="stringMessage" type="xsd:string"/>

+                    <element name="intMessage" type="xsd:int"/>

+                    <element name="anotherIntMessage" type="xsd:int"/>

+                </sequence>

+            </extension>

+        </complexContent>

+    </complexType>

+

+    <complexType name="MoreExtendedStruct">

+        <complexContent>

+            <extension base="tns:ExtendedStruct">

+                <sequence>

+                    <element name="booleanMessage" type="xsd:boolean"/>

+                </sequence>

+            </extension>

+        </complexContent>

+    </complexType>

+

+    <element name="foo" type="tns:ExtendedStruct"/>

+</schema>


Added: webservices/commons/trunk/XmlSchema/test/tests/TestElementForm.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/test/tests/TestElementForm.java?rev=289897&view=auto
==============================================================================
--- webservices/commons/trunk/XmlSchema/test/tests/TestElementForm.java (added)
+++ webservices/commons/trunk/XmlSchema/test/tests/TestElementForm.java Sat Sep 
17 23:09:48 2005
@@ -0,0 +1,61 @@
+/*

+* Copyright 2004,2005 The Apache Software Foundation.

+*

+* Licensed under the Apache License, Version 2.0 (the "License");

+* you may not use this file except in compliance with the License.

+* You may obtain a copy of the License at

+*

+*      http://www.apache.org/licenses/LICENSE-2.0

+*

+* Unless required by applicable law or agreed to in writing, software

+* distributed under the License is distributed on an "AS IS" BASIS,

+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+* See the License for the specific language governing permissions and

+* limitations under the License.

+*/

+package tests;

+

+import junit.framework.TestCase;

+

+import java.io.InputStream;

+import java.io.FileInputStream;

+import java.util.Iterator;

+

+import org.apache.axis.xsd.xml.schema.XmlSchemaCollection;

+import org.apache.axis.xsd.xml.schema.XmlSchemaElement;

+import org.apache.axis.xsd.xml.schema.XmlSchemaComplexType;

+import org.apache.axis.xsd.xml.schema.XmlSchemaSequence;

+import org.apache.axis.xsd.xml.schema.XmlSchemaObjectCollection;

+

+import javax.xml.transform.stream.StreamSource;

+import javax.xml.namespace.QName;

+

+/**

+ * TestElementForm

+ */

+public class TestElementForm extends TestCase {

+    String NS = "http://unqualified-elements.example.com";;

+    QName UNQUAL = new QName(NS, "unQualifiedLocals");

+    private XmlSchemaCollection schema;

+

+    protected void setUp() throws Exception {

+        InputStream is = new FileInputStream("test-resources/elementForm.xsd");

+        schema = new XmlSchemaCollection();

+        schema.read(new StreamSource(is), null);

+    }

+

+    public void testLocalElements() throws Exception {

+        XmlSchemaElement element = schema.getElementByQName(UNQUAL);

+        assertNotNull("Couldn't find unQualifiedLocals element", element);

+        XmlSchemaComplexType type = 
(XmlSchemaComplexType)element.getSchemaType();

+        XmlSchemaSequence seq = (XmlSchemaSequence)type.getParticle();

+        XmlSchemaObjectCollection items = seq.getItems();

+        XmlSchemaElement subElement;

+        subElement = (XmlSchemaElement)items.getItem(0);

+        QName qname = subElement.getQName();

+        assertEquals("Namespace on unqualified element", "", 
qname.getNamespaceURI());

+        subElement = (XmlSchemaElement)items.getItem(1);

+        qname = subElement.getQName();

+        assertEquals("Bad namespace on qualified element", NS, 
qname.getNamespaceURI());

+    }

+}


Added: webservices/commons/trunk/XmlSchema/test/tests/TestForwardRefs.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/test/tests/TestForwardRefs.java?rev=289897&view=auto
==============================================================================
--- webservices/commons/trunk/XmlSchema/test/tests/TestForwardRefs.java (added)
+++ webservices/commons/trunk/XmlSchema/test/tests/TestForwardRefs.java Sat Sep 
17 23:09:48 2005
@@ -0,0 +1,36 @@
+package tests;

+

+import junit.framework.TestCase;

+

+import java.io.InputStream;

+import java.io.FileInputStream;

+

+import org.apache.axis.xsd.xml.schema.XmlSchemaCollection;

+import org.apache.axis.xsd.xml.schema.XmlSchemaElement;

+import org.apache.axis.xsd.xml.schema.XmlSchemaType;

+import org.apache.axis.xsd.xml.schema.XmlSchemaComplexType;

+import org.apache.axis.xsd.xml.schema.XmlSchemaSequence;

+

+import javax.xml.transform.stream.StreamSource;

+import javax.xml.namespace.QName;

+

+/**

+ */

+public class TestForwardRefs extends TestCase {

+    public void testForwardRefs() throws Exception {

+        QName ELEMENT_QNAME = new QName("http://soapinterop.org/types";,

+                                        "attrTest");

+        InputStream is = new FileInputStream("test-resources/forwardRef.xsd");

+        XmlSchemaCollection schema = new XmlSchemaCollection();

+        schema.read(new StreamSource(is), null);

+

+        XmlSchemaElement elem = schema.getElementByQName(ELEMENT_QNAME);

+        assertNotNull(elem);

+        XmlSchemaType type = elem.getSchemaType();

+        assertNotNull(type);

+        assertTrue(type instanceof XmlSchemaComplexType);

+        XmlSchemaComplexType cType = (XmlSchemaComplexType)type;

+        XmlSchemaSequence seq = (XmlSchemaSequence)cType.getParticle();

+        assertNotNull(seq);

+    }

+}



Reply via email to