You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/04/17 16:57:13 UTC

svn commit: r529631 [1/2] - in /incubator/tuscany/java/cts/sdo2.1/src/main: java/test/sdo21/ java/test/sdo21/tests/general/ java/test/sdo21/tests/xsd/ resources/complexType/

Author: kelvingoodson
Date: Tue Apr 17 07:57:11 2007
New Revision: 529631

URL: http://svn.apache.org/viewvc?view=rev&rev=529631
Log:
TUSCANY-1210 add new XSD complex type tests

Added:
    incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_22.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_23.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_24.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_25.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_26.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_27.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_28.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_29.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_30.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_31.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_32.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_42.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_43.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_44.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_45.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_46.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_47.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_48.xsd   (with props)
    incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_49.xsd   (with props)
Modified:
    incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/CTSSuite.java
    incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/UnderReviewSuite.java
    incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDSerializationTest.java

Modified: incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/CTSSuite.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/CTSSuite.java?view=diff&rev=529631&r1=529630&r2=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/CTSSuite.java (original)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/CTSSuite.java Tue Apr 17 07:57:11 2007
@@ -62,7 +62,8 @@
     public static void init() {
         if (!initialized) {
             try {
-                String helperClassName = System.getenv(SDO_CTS_TESTHELPER_CLASS);
+                // String helperClassName = System.getenv(SDO_CTS_TESTHELPER_CLASS);
+                String helperClassName = "test.sdo21.vendor.tuscany.testHelper.TuscanyTestHelper";
 
                 if ((helperClassName == null) || (helperClassName.equals(""))) {
                     System.out.println(SDO_CTS_TESTHELPER_CLASS + " was not set - attempting Tuscany implementation : "

Modified: incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/UnderReviewSuite.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/UnderReviewSuite.java?view=diff&rev=529631&r1=529630&r2=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/UnderReviewSuite.java (original)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/UnderReviewSuite.java Tue Apr 17 07:57:11 2007
@@ -43,7 +43,8 @@
                       test.sdo21.paramatizedTests.conversion.TypeConversionTest.class,
                       test.sdo21.tests.general.XMLHelperTest.class,
                       test.sdo21.tests.scenarios.DataObjectListTest.class,
-                      test.sdo21.tests.xsd.XSDChoiceTest.class})
+                      test.sdo21.tests.xsd.XSDChoiceTest.class,
+                      test.sdo21.tests.xsd.XSDComplexTypeTest.class})
 public class UnderReviewSuite {
 
 }

Modified: incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDSerializationTest.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDSerializationTest.java?view=diff&rev=529631&r1=529630&r2=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDSerializationTest.java (original)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDSerializationTest.java Tue Apr 17 07:57:11 2007
@@ -26,11 +26,13 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+
 import java.net.URL;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Vector;
 
+//import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.Ignore;
@@ -166,4 +168,8 @@
             fail("Exception caught" + e.toString());
         }
     }
+    
+//@Before protected void setUp() throws Exception {
+//      System.out.println("executing setup");
+//    }
 }

Added: incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java Tue Apr 17 07:57:11 2007
@@ -0,0 +1,967 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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 test.sdo21.tests.xsd;
+
+import java.util.List;
+import java.io.IOException;
+import java.io.File;
+
+import commonj.sdo.Type;
+import commonj.sdo.Property;
+import commonj.sdo.DataObject;
+import commonj.sdo.helper.TypeHelper;
+import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.XMLHelper;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class XSDComplexTypeTest extends XSDBaseTestCase {
+
+  /**
+   * <complexType> containing other elements.
+   *
+   * @throws Exception
+   */
+  @Test
+  public void testTC128ComplexTypeWithElement() throws Exception {
+
+    // parse the schema
+    List types = define("/complexType/cT_01.xsd");
+
+    assertEquals(1, types.size());
+
+    Type type = (Type) types.get(0);
+    assertTrue(type.isSequenced());
+    assertFalse(type.isOpen());
+    assertFalse(type.isDataType());
+    assertFalse(type.isAbstract());
+    assertEquals("cT_01", type.getName());
+
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertPropertyExists(type, "name", "String", true, false);
+  }
+
+  /**
+   * <complexType> with abstract="true".
+   *
+   * @throws Exception
+   */
+  @Test public void testTC129ComplexTypeAbstractTrue() throws Exception {
+
+    List types = define("/complexType/cT_02.xsd");
+    assertEquals(1, types.size());
+
+    Type type = (Type) types.get(0);
+    assertTrue(type.isSequenced());
+    assertEquals("cT_02", type.getName());
+    assertTrue(type.isAbstract());
+
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertFalse(type.getProperty("id").isReadOnly() );
+    assertPropertyExists(type, "name", "String", true, false);
+    assertFalse(type.getProperty("name").isReadOnly() );
+  }
+
+  /**
+   * <complexType> extending another <complexType>.
+   *
+   * @throws Exception
+   */
+  @Test public void testTC130ComplexTypeExtendingComplexType() throws Exception {
+
+    List types = define("/complexType/cT_03.xsd");
+    assertEquals(2, types.size());
+
+    // parent
+    Type parentType = getType(types, "cT_03_parent");
+
+    List properties = parentType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("id", p1.getName());
+    assertEquals("Int", p1.getType().getName());
+
+    // child
+    Type childType = getType(types, "cT_03_child");
+
+    List baseTypes = childType.getBaseTypes();
+    assertEquals(1, baseTypes.size());
+    Type baseType = (Type) baseTypes.get(0);
+    assertEquals("cT_03_parent", baseType.getName());
+
+    properties = childType.getProperties();
+    assertEquals(2, properties.size());
+    assertEquals(1, childType.getDeclaredProperties().size() );
+
+    //verify name and type of Properties
+    // base properties appear first, derived properties are appended
+    Property childTypeProp1 = (Property) properties.get(0);
+    assertEquals("id", childTypeProp1.getName());
+    assertEquals("Int", childTypeProp1.getType().getName());
+
+    Property childTypeProp2 = (Property) properties.get(1);
+    assertEquals("name", childTypeProp2.getName());
+    assertEquals("String", childTypeProp2.getType().getName());
+  }
+
+  /**
+   * <complexType> derived from <complexType> with block="#all" (should not affect SDO Types generated).
+   *
+   * @throws Exception
+   */
+  @Test public void testTC131ComplexTypeBlockAll() throws Exception {
+    List types = define("/complexType/cT_04.xsd");
+    assertEquals(2, types.size());
+
+    // parent
+    Type parentType = getType(types, "cT_04_parent");
+
+    List properties = parentType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("id", p1.getName());
+    assertEquals("Int", p1.getType().getName());
+
+    // child
+    Type childType = getType(types, "cT_04_child");
+
+    List baseTypes = childType.getBaseTypes();
+    assertEquals(1, baseTypes.size());
+    Type baseType = (Type) baseTypes.get(0);
+    assertEquals("cT_04_parent", baseType.getName());
+
+    properties = childType.getProperties();
+    assertEquals(2, properties.size());
+    assertEquals(1, childType.getDeclaredProperties().size() );
+
+    //verify name and type of Properties
+    // base properties appear first, derived properties are appended
+    Property childTypeProp1 = (Property) properties.get(0);
+    assertEquals("id", childTypeProp1.getName());
+    assertEquals("Int", childTypeProp1.getType().getName());
+
+    Property childTypeProp2 = (Property) properties.get(1);
+    assertEquals("name", childTypeProp2.getName());
+    assertEquals("String", childTypeProp2.getType().getName());
+  }
+
+  /**
+   * <complexType> containing <group> containing <sequence>.
+   *
+   * @throws Exception
+   */
+  @Test public void testTC132ComplexTypeGroupWithSequence() throws Exception {
+    List types = define("/complexType/cT_05.xsd");
+    assertEquals(1, types.size());
+
+    Type type = (Type) types.get(0);
+    assertEquals("cT_05", type.getName());
+    assertFalse(type.isAbstract());
+
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertFalse(type.getProperty("id").isReadOnly());
+    assertPropertyExists(type, "name", "String", true, false);
+    assertFalse(type.getProperty("name").isReadOnly());
+  }
+
+  /**
+   * <element> name="cT_06" containing anonymous <complexType>.
+   *
+   * @throws Exception
+   */
+  @Test public void testTC133ComplexTypeAnonymous() throws Exception {
+    List types = define("/complexType/cT_06.xsd");
+    assertEquals(1, types.size());
+
+    // The spec maps the name of anonymous types to the name
+    // of their enclosing element. This is a broken method however,
+    // as it can conflict with same named types and other same
+    // named elements with anonymous types. So currently we are
+    // intentially non-compliant. using unique names for
+    // anonymous types
+
+    Property property = typeHelper.getOpenContentProperty( "http://www.example.com/xsd/6/",
+                                                         "cT_06" );
+    Type type = property.getType();
+    assertFalse(type.isAbstract());
+    assertTrue(type.isSequenced());
+
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertFalse(type.getProperty("id").isReadOnly());
+    assertPropertyExists(type, "name", "String", true, false);
+    assertFalse(type.getProperty("name").isReadOnly());
+  }
+
+  /**
+   * <complexType> with name.
+   *
+   * @throws Exception
+   */
+  @Test public void testTC134ComplexTypeNamed() throws Exception {
+    List types = define("/complexType/cT_07.xsd");
+    assertEquals(1, types.size());
+
+    Type type = (Type) types.get(0);
+    assertEquals("cT_07", type.getName());
+    assertFalse(type.isAbstract());
+    assertTrue(type.isSequenced());
+
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertFalse(type.getProperty("id").isReadOnly());
+    assertPropertyExists(type, "name", "String", true, false);
+    assertFalse(type.getProperty("name").isReadOnly());
+  }
+
+  /**
+   * <complexType> with final="true" containing <complexContent> containing <extension> of a <complexType> with abstract="true".
+   *
+   * @throws Exception
+   */
+  @Test public void testTC136ComplexTypeExtendAbstractTrue() throws Exception {
+    List types = define("/complexType/cT_09.xsd");
+    assertEquals(2, types.size());
+
+    // parent
+    Type parentType = typeHelper.getType("http://www.example.com/xsd/9/", "cT_09_parent");
+
+    List properties = parentType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("id", p1.getName());
+    assertEquals("Int", p1.getType().getName());
+
+    // child
+    Type childType = typeHelper.getType("http://www.example.com/xsd/9/", "cT_09_child");
+
+    List baseTypes = childType.getBaseTypes();
+    assertEquals(1, baseTypes.size());
+    Type baseType = (Type) baseTypes.get(0);
+    assertEquals("cT_09_parent", baseType.getName());
+
+    properties = childType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+    assertEquals(2, childType.getProperties().size() );
+
+    Property p2 = (Property) properties.get(0);
+
+    assertEquals("name", p2.getName());
+    assertEquals("String", p2.getType().getName());
+  }
+
+  /**
+   * <complexType> containing <complexContent> containing <restriction> of a <complexType> with abstract="true".
+   *
+   * @throws Exception
+   */
+  @Test public void testTC137ComplexTypeExtendWithRestriction() throws Exception {
+    List types = define("/complexType/cT_10.xsd");
+    assertEquals(2, types.size());
+
+    // parent
+    Type parentType = getType(types, "cT_10_parent");
+
+    List properties = parentType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+    assertEquals("id", p1.getName());
+    assertEquals("Int", p1.getType().getName());
+
+    // child
+    Type childType = getType(types, "cT_10_child");
+
+    List baseTypes = childType.getBaseTypes();
+    assertEquals(1, baseTypes.size());
+    Type baseType = (Type) baseTypes.get(0);
+    assertEquals("cT_10_parent", baseType.getName());
+
+    properties = childType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p2 = (Property) properties.get(0);
+    assertEquals("name", p2.getName());
+    assertEquals("String", p2.getType().getName());
+  }
+
+  /**
+   * <complexType> containing <complexContent> containing <extension> of a <complexType> with abstract="true".
+   *
+   * @throws Exception
+   */
+  @Test public void testTC138ComplexTypeExtend() throws Exception {
+    List types = define("/complexType/cT_11.xsd");
+    assertEquals(2, types.size());
+
+    // parent
+    Type parentType = getType(types, "cT_11_parent");
+
+    List properties = parentType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("id", p1.getName());
+    assertEquals("Int", p1.getType().getName());
+
+    // child
+    Type childType = getType(types, "cT_11_child");
+
+    List baseTypes = childType.getBaseTypes();
+    assertEquals(1, baseTypes.size());
+    Type baseType = (Type) baseTypes.get(0);
+    assertEquals("cT_11_parent", baseType.getName());
+
+    properties = childType.getDeclaredProperties();
+    assertEquals(1, properties.size());
+
+    Property p2 = (Property) properties.get(0);
+
+    assertEquals("name", p2.getName());
+    assertEquals("String", p2.getType().getName());
+  }
+
+  /**
+   * <complexType> containing <simpleContent> containing <extension>.
+   *
+   * @throws Exception
+   */
+  @Test public void testTC143ComplexTypeSimpleContent() throws Exception {
+    List types = define("/complexType/cT_18.xsd");
+    assertEquals(1, types.size());
+
+    Type type = typeHelper.getType("http://www.example.com/xsd/18/", "cT_18");
+
+    // 10.8. Corner cases
+    // ...
+    // 5. In some cases it is not possible to maintain an SDO base
+    //    relationship when one exists in schema. This can happen for
+    //    example when complex types extend simple types
+    //
+    // So a complexType extending a simple type doesn't have an SDO
+    // base type set
+
+    List baseTypes = type.getBaseTypes();
+    assertEquals(0, baseTypes.size());
+
+    // however complex types with simple content get a special
+    // property named "value" to represent their content
+    // p100, box 3 of the latest C++ 2.1 draft
+    // Complex Type extending a SimpleType
+    // <complexType name=[NAME]>
+    // <simpleContent>
+    // <extension
+    // base=[BASE]/>
+    // </simpleContent>
+    // </complexType>
+    //
+    // Type name=[NAME]
+    // uri=[URI]
+    // Property:
+    // name="value" type=[BASE]
+    // Properties are created for attribute
+    // declarations.
+
+    Property valueProperty = type.getProperty("value");
+    Type valueType = valueProperty.getType();
+    assertEquals("String", valueType.getName());
+    assertEquals("commonj.sdo", valueType.getURI());
+  }
+
+  /**
+   * <complexType> containing <simpleContent> containing <extension> containing <attribute>.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_19() throws Exception {
+    List types = define("/complexType/cT_19.xsd");
+    assertEquals(1, types.size());
+
+    // parent
+    Type type = getType(types, "cT_19");
+
+    // 10.8. Corner cases
+    // ...
+    // 5. In some cases it is not possible to maintain an SDO base
+    //    relationship when one exists in schema. This can happen for
+    //    example when complex types extend simple types
+    //
+    // So a complexType extending a simple type doesn't have an SDO
+    // base type set
+
+    List baseTypes = type.getBaseTypes();
+    assertEquals(0, baseTypes.size());
+
+    List properties = type.getDeclaredProperties();
+    assertEquals(2, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("lang", p1.getName());
+    assertEquals("String", p1.getType().getName());
+
+    // however complex types with simple content get a special
+    // property named "value" to represent their content
+    // p100, box 3 of the latest C++ 2.1 draft
+    // Complex Type extending a SimpleType
+    // <complexType name=[NAME]>
+    // <simpleContent>
+    // <extension
+    // base=[BASE]/>
+    // </simpleContent>
+    // </complexType>
+    //
+    // Type name=[NAME]
+    // uri=[URI]
+    // Property:
+    // name="value" type=[BASE]
+    // Properties are created for attribute
+    // declarations.
+
+    Property valueProperty = type.getProperty("value");
+    Type valueType = valueProperty.getType();
+    assertEquals("String", valueType.getName());
+    assertEquals("commonj.sdo", valueType.getURI());
+  }
+
+  /**
+   * <complexType> containing <simpleContent> containing <extension> containing <attribute>.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_22() throws Exception {
+    List types = define("/complexType/cT_22.xsd3");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_22");
+    assertFalse(type.isSequenced());
+
+    // 10.8. Corner cases
+    // ...
+    // 5. In some cases it is not possible to maintain an SDO base
+    //    relationship when one exists in schema. This can happen for
+    //    example when complex types extend simple types
+    //
+    // So a complexType extending a simple type doesn't have an SDO
+    // base type set
+
+    List baseTypes = type.getBaseTypes();
+    assertEquals(0, baseTypes.size());
+
+    List properties = type.getDeclaredProperties();
+    assertEquals(2, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("lang", p1.getName());
+    assertEquals("String", p1.getType().getName());
+
+    // however complex types with simple content get a special
+    // property named "value" to represent their content
+    // p100, box 3 of the latest C++ 2.1 draft
+    // Complex Type extending a SimpleType
+    // <complexType name=[NAME]>
+    // <simpleContent>
+    // <extension
+    // base=[BASE]/>
+    // </simpleContent>
+    // </complexType>
+    //
+    // Type name=[NAME]
+    // uri=[URI]
+    // Property:
+    // name="value" type=[BASE]
+    // Properties are created for attribute
+    // declarations.
+
+    Property valueProperty = type.getProperty("value");
+    Type valueType = valueProperty.getType();
+    assertEquals("String", valueType.getName());
+    assertEquals("commonj.sdo", valueType.getURI());
+  }
+
+  /**
+   * <complexType> containing <simpleContent> containing <extension> containing <attribute>
+   * containing <simpleType> containing <restriction>.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_23() throws Exception {
+    List types = define("/complexType/cT_23.xsd");
+    // two types are output the one for the complex type
+    // and the simple type
+    assertEquals(2, types.size());
+    Type type = getType(types, "cT_23");
+    assertFalse(type.isSequenced());
+
+    // 10.8. Corner cases
+    // ...
+    // 5. In some cases it is not possible to maintain an SDO base
+    //    relationship when one exists in schema. This can happen for
+    //    example when complex types extend simple types
+    //
+    // So a complexType extending a simple type doesn't have an SDO
+    // base type set
+
+    List baseTypes = type.getBaseTypes();
+    assertEquals(0, baseTypes.size());
+
+    List properties = type.getDeclaredProperties();
+    assertEquals(2, properties.size());
+
+    Property p1 = (Property) properties.get(0);
+
+    assertEquals("lang", p1.getName());
+
+    // the actual type here for the lang attribute will be
+    // the anonymous simple type, which as it's base will
+    // be commonj.sdo#String
+    Type langBaseType = (Type)p1.getType().getBaseTypes().get(0);
+    assertEquals("String", langBaseType.getName());
+
+    // however complex types with simple content get a special
+    // property named "value" to represent their content
+    // p100, box 3 of the latest C++ 2.1 draft
+    // Complex Type extending a SimpleType
+    // <complexType name=[NAME]>
+    // <simpleContent>
+    // <extension
+    // base=[BASE]/>
+    // </simpleContent>
+    // </complexType>
+    //
+    // Type name=[NAME]
+    // uri=[URI]
+    // Property:
+    // name="value" type=[BASE]
+    // Properties are created for attribute
+    // declarations.
+
+    Property valueProperty = type.getProperty("value");
+    Type valueType = valueProperty.getType();
+    assertEquals("String", valueType.getName());
+    assertEquals("commonj.sdo", valueType.getURI());
+  }
+
+  /**
+   * <complexType> containing <all> containing <element> with minOccurs="1", maxOccurs="1".
+   *
+   * @throws Exception
+   */
+  @Test public void testTC300ComplexTypeContainingAllGroupWithElements() throws Exception {
+    List types = define("/complexType/cT_24.xsd");
+    Type type = getType(types, "cT_24");
+    assertPropertyExists(type, "p1", "String", true, false);
+  }
+
+  /**
+   * <complexType> containing <sequence> containing <element> with minOccurs="1", maxOccurs="1".
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_25() throws Exception {
+    List types = define("/complexType/cT_25.xsd");
+    Type type = getType(types, "cT_25");
+    assertPropertyExists(type, "p1", "String", true, false);
+  }
+
+  /**
+   * <complexType> containing <sequence> containing <element> with minOccurs="0", maxOccurs="unbounded".
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_26() throws Exception {
+    List types = define("/complexType/cT_26.xsd");
+    Type type = getType(types, "cT_26");
+    assertPropertyExists(type, "p1", "String", true, true);
+  }
+
+  /**
+   * <complexType> containing <sequence> containing <element> with minOccurs="1", maxOccurs="unbounded".
+   *
+   * @throws Exception
+   */
+  @Test public void testTC299ComplexTypeContainingUnboundedElement() throws Exception {
+    List types = define("/complexType/cT_27.xsd");
+    Type type = typeHelper.getType("http://www.example.com/xsd/27/", "cT_27");
+    assertPropertyExists(type, "p1", "String", true, true);
+  }
+
+  /**
+   * <complexType> containing an <element> for each XSD type supported by SDO.
+   *
+   * @throws Exception
+   */
+  @Test public void testTC297ComplexTypeContainingElementsOfAllTypes() throws Exception {
+    List types = define("/complexType/cT_28.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_28");
+    assertTrue(type.isSequenced());
+    assertEquals( 44, type.getProperties().size() );
+    assertPropertyExists(type, "type_date", "YearMonthDay", true, false);
+    assertPropertyExists(type, "type_dateTime", "DateTime", true, false);
+    assertPropertyExists(type, "type_decimal", "Decimal", true, false);
+    assertPropertyExists(type, "type_double", "Double", true, false);
+    assertPropertyExists(type, "type_duration", "Duration", true, false);
+    assertPropertyExists(type, "type_float", "Float", true, false);
+    assertPropertyExists(type, "type_gDay", "Day", true, false);
+    assertPropertyExists(type, "type_gMonth", "Month", true, false);
+    assertPropertyExists(type, "type_gMonthDay", "MonthDay", true, false);
+    assertPropertyExists(type, "type_gYear", "Year", true, false);
+    assertPropertyExists(type, "type_gYearMonth", "YearMonth", true, false);
+    assertPropertyExists(type, "type_int", "Int", true, false);
+    assertPropertyExists(type, "type_integer", "Integer", true, false);
+    assertPropertyExists(type, "type_long", "Long", true, false);
+    assertPropertyExists(type, "type_negativeInteger", "Integer", true, false);
+    assertPropertyExists(type, "type_nonNegativeInteger", "Integer", true, false);
+    assertPropertyExists(type, "type_nonPositiveInteger", "Integer", true, false);
+    assertPropertyExists(type, "type_positiveInteger", "Integer", true, false);
+    assertPropertyExists(type, "type_short", "Short", true, false);
+    assertPropertyExists(type, "type_string", "String", true, false);
+    assertPropertyExists(type, "type_time", "Time", true, false);
+    assertPropertyExists(type, "type_unsignedByte", "Short", true, false);
+    assertPropertyExists(type, "type_unsignedInt", "Long", true, false);
+    assertPropertyExists(type, "type_unsignedLong", "Integer", true, false);
+    assertPropertyExists(type, "type_unsignedShort", "Int", true, false);
+    assertPropertyExists(type, "type_anyType", "DataObject", true, false);
+    assertPropertyExists(type, "type_anyURI", "URI", true, false);
+    assertPropertyExists(type, "type_base64Binary", "Bytes", true, false);
+    assertPropertyExists(type, "type_byte", "Byte", true, false);
+    assertPropertyExists(type, "type_ENTITY", "String", true, false);
+    assertPropertyExists(type, "type_hexBinary", "Bytes", true, false);
+    assertPropertyExists(type, "type_ID", "String", true, false);
+    assertPropertyExists(type, "type_IDREF", "String", true, false);
+    assertPropertyExists(type, "type_language", "String", true, false);
+    assertPropertyExists(type, "type_Name", "String", true, false);
+    assertPropertyExists(type, "type_NCName", "String", true, false);
+    assertPropertyExists(type, "type_QName", "URI", true, false);
+    assertPropertyExists(type, "type_token", "String", true, false);
+    assertPropertyExists(type, "type_NMTOKEN", "String", true, false);
+    assertPropertyExists(type, "type_NMTOKENS", "Strings", true, false);
+    assertPropertyExists(type, "type_IDREFS", "Strings", true, false);
+    assertPropertyExists(type, "type_ENTITIES", "Strings", true, false);
+    assertPropertyExists(type, "type_anySimpleType", "Object", true, false);
+  }
+
+  /**
+   * <complexType> containing an <attribute> for each XSD type supported by SDO.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_29() throws Exception {
+    List types = define("/complexType/cT_29.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_29");
+    assertFalse(type.isSequenced());
+    assertPropertyExists(type, "type_date", "YearMonthDay", false, false);
+    assertPropertyExists(type, "type_dateTime", "DateTime", false, false);
+    assertPropertyExists(type, "type_decimal", "Decimal", false, false);
+    assertPropertyExists(type, "type_double", "Double", false, false);
+    assertPropertyExists(type, "type_duration", "Duration", false, false);
+    assertPropertyExists(type, "type_float", "Float", false, false);
+    assertPropertyExists(type, "type_gDay", "Day", false, false);
+    assertPropertyExists(type, "type_gMonth", "Month", false, false);
+    assertPropertyExists(type, "type_gMonthDay", "MonthDay", false, false);
+    assertPropertyExists(type, "type_gYear", "Year", false, false);
+    assertPropertyExists(type, "type_gYearMonth", "YearMonth", false, false);
+    assertPropertyExists(type, "type_int", "Int", false, false);
+    assertPropertyExists(type, "type_integer", "Integer", false, false);
+    assertPropertyExists(type, "type_long", "Long", false, false);
+    assertPropertyExists(type, "type_negativeInteger", "Integer", false, false);
+    assertPropertyExists(type, "type_nonNegativeInteger", "Integer", false, false);
+    assertPropertyExists(type, "type_nonPositiveInteger", "Integer", false, false);
+    assertPropertyExists(type, "type_positiveInteger", "Integer", false, false);
+    assertPropertyExists(type, "type_short", "Short", false, false);
+    assertPropertyExists(type, "type_string", "String", false, false);
+    assertPropertyExists(type, "type_time", "Time", false, false);
+    assertPropertyExists(type, "type_unsignedByte", "Short", false, false);
+    assertPropertyExists(type, "type_unsignedInt", "Long", false, false);
+    assertPropertyExists(type, "type_unsignedLong", "Integer", false, false);
+    assertPropertyExists(type, "type_unsignedShort", "Int", false, false);
+    assertPropertyExists(type, "type_anyURI", "URI", false, false);
+    assertPropertyExists(type, "type_base64Binary", "Bytes", false, false);
+    assertPropertyExists(type, "type_byte", "Byte", false, false);
+    assertPropertyExists(type, "type_ENTITIES", "Strings", false, false);
+    assertPropertyExists(type, "type_ENTITY", "String", false, false);
+    assertPropertyExists(type, "type_hexBinary", "Bytes", false, false);
+    assertPropertyExists(type, "type_ID", "String", false, false);
+    assertPropertyExists(type, "type_IDREF", "String", false, false);
+    assertPropertyExists(type, "type_IDREFS", "Strings", false, false);
+    assertPropertyExists(type, "type_language", "String", false, false);
+    assertPropertyExists(type, "type_Name", "String", false, false);
+    assertPropertyExists(type, "type_NMTOKEN", "String", false, false);
+    assertPropertyExists(type, "type_NMTOKENS", "Strings", false, false);
+    assertPropertyExists(type, "type_QName", "URI", false, false);
+    assertPropertyExists(type, "type_token", "String", false, false);
+    assertPropertyExists(type, "type_NCName", "String", false, false);
+    assertPropertyExists(type, "type_anySimpleType", "Object", false, false);
+  }
+
+  /**
+   * <complexType> containing a <sequence> which contains a <group> reference and an <element>. The <group>
+   * also contains a <sequence>.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_30() throws Exception {
+    List types = define("/complexType/cT_30.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_30");
+    assertTrue(type.isSequenced());
+    assertPropertyExists(type, "p1", "String", true, false);
+    assertPropertyExists(type, "p2", "String", true, false);
+    assertPropertyExists(type, "p3", "Int", true, false);
+  }
+
+  /**
+   * <complexContent> using <extension> to extend another <complexContent>. The derived <complexContent>
+   * references a <group> which contains a <sequence>.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_31() throws Exception {
+    List types = define("/complexType/cT_31.xsd");
+    assertEquals(2, types.size());
+
+    Type type = getType(types, "cT_31");
+    assertTrue(type.isSequenced());
+    assertPropertyExists(type, "p1", "String", true, false);
+    assertPropertyExists(type, "p2", "String", true, false);
+    assertPropertyExists(type, "p3", "Int", true, false);
+    assertPropertyExists(type, "p4", "String", true, false);
+    assertPropertyExists(type, "p5", "String", true, false);
+  }
+
+  /**
+   * <complexType> with mixed="true". Must create SDO Type with sequenced="true".
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_42() throws Exception {
+    List types = define("/complexType/cT_42.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_42");
+    assertTrue(type.isSequenced());
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertPropertyExists(type, "name", "String", true, false);
+  }
+
+
+  /**
+   * <complexType> containing <any> with maxOccurs="unbounded". Should map to SDO Type with
+   * sequenced="true" and no declared properties.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_43() throws Exception {
+    List types = define("/complexType/cT_43.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_43");
+    assertTrue(type.isOpen());
+    assertTrue(type.isSequenced());
+    assertEquals(0, type.getProperties().size());
+  }
+
+  /**
+   * <complexType> containing <any> with maxOccurs="1". Should map to SDO Type with
+   * sequenced="false" and no declared properties.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_44() throws Exception {
+    List types = define("/complexType/cT_44.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_44");
+    assertTrue(type.isOpen());
+    assertFalse(type.isSequenced());
+    assertEquals(0, type.getProperties().size());
+  }
+
+  /**
+   * <complexType> containing <anyAttribute> . Should map to SDO Type with
+   * no declared properties.
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_45() throws Exception {
+    List types = define("/complexType/cT_45.xsd");
+    assertEquals(1, types.size());
+
+    Type type = getType(types, "cT_45");
+    assertTrue(type.isOpen());
+    assertFalse(type.isSequenced());
+    assertEquals(0, type.getProperties().size());
+  }
+
+  /**
+   * <complexType> containing element with nillable="true"
+   *
+   * @throws Exception
+   */
+  @Test public void test_cT_46() throws Exception {
+
+    List types = define("/complexType/cT_46.xsd");
+    assertEquals(1, types.size());
+
+    Type type = (Type) types.get(0);
+    assertTrue(type.isSequenced());
+    assertFalse(type.isOpen());
+    assertFalse(type.isDataType());
+    assertFalse(type.isAbstract());
+    assertEquals("cT_46", type.getName());
+
+    assertPropertyExists(type, "id", "Int", true, false);
+    assertPropertyExists(type, "name", "String", true, false);
+
+    assertEquals( false, type.getProperty("id").isNullable() );
+    assertEquals( true, type.getProperty("name").isNullable() );
+  }
+
+  /**
+   * <complexType> containing an anySimpletype element
+   *
+   * @throws Exception
+   */
+  @Test public void testTC298ComplexTypeSetAnySimpleTypeWithStringValue() throws Exception {
+    List types = define("/complexType/cT_47.xsd");
+
+    assertEquals(1, types.size());
+
+    DataObject dobj = testHelper.getDataFactory().create( "http://www.example.com/xsd/47/", "cT_47" );
+    Property p = dobj.getProperty( "type_anySimpleType" );
+    assertNotNull( p );
+
+    assertEquals( "commonj.sdo", p.getType().getURI() );
+    assertEquals( "Object", p.getType().getName() );
+
+    dobj.set( "type_anySimpleType", "foo" );
+    assertEquals( "foo", dobj.get( "type_anySimpleType") );
+  }
+
+  @Test public void test_cT_48() throws IOException {
+    List types = define("/complexType/cT_48.xsd");
+    assertEquals(4, types.size());
+
+    Type t1 = getType(types, "complextype1");
+    Property p1 = t1.getProperty("person");
+    assertNotNull(p1);
+
+    Type t2 = getType(types, "complextype2");
+    Property p2 = t2.getProperty("person");
+    assertNotNull(p2);
+
+    // although the 2.1 spec says that the name of the anonymous types should be the same as the name of the
+    // enclosing element or attribute, this would result in a name clash so we need to ensure that the type
+    // names are not the same
+    String typeName1 = p1.getType().getName();
+    String typeName2 = p2.getType().getName();
+    assertFalse( typeName1.equals(typeName2) );
+
+    // we are intentionally non-compliant with the SDO spec in naming anonymous types,
+    // since the spec is broken, currently anonymous types have unique names and emtpy uri's
+    // http://bugzilla.cvo.example.com/show_bug.cgi?id=3469
+//     assertEquals( "http://www.example.com/xsd/48/", p1.getType().getURI() );
+//     assertEquals( "http://www.example.com/xsd/48/", p2.getType().getURI() );
+
+  }
+
+  @Test public void testQualified() {
+
+    // elements and attributes qualified
+    {
+      String schema =
+        "<?xml version='1.0' encoding='ISO-8859-1' ?>" +
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' " +
+        "targetNamespace='http://www.example.com/xsd/qualified/' " +
+        "elementFormDefault='qualified' attributeFormDefault='qualified'>" +
+        "<xs:complexType name='foo'>" +
+        "<xs:sequence>" +
+        "<xs:element name='bar' type='xs:string'/>" +
+        "</xs:sequence>" +
+        "<xs:attribute name='baz' type='xs:string'/>" +
+        "</xs:complexType>" +
+        "</xs:schema>";
+
+      xsdHelper.define(schema);
+
+      DataObject foo = testHelper.getDataFactory().create("http://www.example.com/xsd/qualified/", "foo");
+      foo.setString("bar", "barValue");
+      foo.setString("baz", "bazValue");
+
+      String out = testHelper.getXMLHelper().save(foo, "http://www.example.com/xsd/qualified/", "foo");
+
+      String expected =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<ns0:foo xmlns:ns0=\"http://www.example.com/xsd/qualified/\" " +
+        "ns0:baz=\"bazValue\">" +
+        "<ns0:bar>barValue</ns0:bar>" +
+        "</ns0:foo>";
+
+      assertEquals(expected, out);
+    }
+    // elements qualfied, attributes unqualified
+    {
+      String schema =
+        "<?xml version='1.0' encoding='ISO-8859-1' ?>" +
+        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' " +
+        "targetNamespace='http://www.example.com/xsd/qualified2/' " +
+        "elementFormDefault='qualified' attributeFormDefault='unqualified'>" +
+        "<xs:complexType name='foo'>" +
+        "<xs:sequence>" +
+        "<xs:element name='bar' type='xs:string'/>" +
+        "</xs:sequence>" +
+        "<xs:attribute name='baz' type='xs:string'/>" +
+        "</xs:complexType>" +
+        "</xs:schema>";
+
+      xsdHelper.define(schema);
+
+      DataObject foo = testHelper.getDataFactory().create("http://www.example.com/xsd/qualified2/", "foo");
+      foo.setString("bar", "barValue");
+      foo.setString("baz", "bazValue");
+
+      String out = testHelper.getXMLHelper().save(foo, "http://www.example.com/xsd/qualified2/", "foo");
+
+      String expected =
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<ns0:foo xmlns:ns0=\"http://www.example.com/xsd/qualified2/\" " +
+        "baz=\"bazValue\">" +
+        "<ns0:bar>barValue</ns0:bar>" +
+        "</ns0:foo>";
+
+      assertEquals(expected, out);
+    }
+  }
+
+}
+
+

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/java/test/sdo21/tests/xsd/XSDComplexTypeTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/1/">
+    <xs:complexType name="cT_01">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+            <xs:element name="name" type="xs:string"/>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_01.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/2/">
+    <xs:complexType name="cT_02" abstract="true">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+            <xs:element name="name" type="xs:string"/>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_02.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/3/" xmlns:tns="http://www.example.com/xsd/3/">
+    <xs:complexType name="cT_03_parent">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="cT_03_child" >
+        <xs:complexContent>
+            <xs:extension base="tns:cT_03_parent">
+                <xs:sequence>
+                    <xs:element name="name" type="xs:string"/>
+                </xs:sequence>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_03.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/4/" xmlns:tns="http://www.example.com/xsd/4/">
+    <xs:complexType name="cT_04_parent" block="#all">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="cT_04_child" >
+        <xs:complexContent>
+            <xs:extension base="tns:cT_04_parent">
+                <xs:sequence>
+                    <xs:element name="name" type="xs:string"/>
+                </xs:sequence>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_04.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/5/" xmlns:tns="http://www.example.com/xsd/5/">
+
+    <xs:group name="cT_05_group">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+            <xs:element name="name" type="xs:string"/>
+        </xs:sequence>
+    </xs:group>
+
+    <xs:complexType name="cT_05">
+        <xs:sequence>
+            <xs:group ref="tns:cT_05_group" />
+        </xs:sequence>
+    </xs:complexType>
+    
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_05.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/6/">
+    <xs:element name="cT_06">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="id" type="xs:int"/>
+                <xs:element name="name" type="xs:string"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_06.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/7/">
+    <xs:complexType name="cT_07">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+            <xs:element name="name" type="xs:string"/>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_07.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/9/" xmlns:tns="http://www.example.com/xsd/9/">
+    <xs:complexType name="cT_09_parent" abstract="true">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="cT_09_child" final="#all">
+        <xs:complexContent>
+            <xs:extension base="tns:cT_09_parent">
+                <xs:sequence>
+                    <xs:element name="name" type="xs:string"/>
+                </xs:sequence>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_09.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/10/" xmlns:tns="http://www.example.com/xsd/10/">
+    <xs:complexType name="cT_10_parent">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="cT_10_child" >
+        <xs:complexContent>
+            <xs:restriction base="tns:cT_10_parent">
+                <xs:sequence>
+                    <xs:element name="id" type="xs:int" minOccurs="1" maxOccurs="1" />
+                    <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1" />
+                </xs:sequence>
+            </xs:restriction>
+        </xs:complexContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.example.com/xsd/10b/" targetNamespace="http://www.example.com/xsd/10b/">
+<xs:complexType name="address_10b">
+  <xs:sequence>
+    <xs:element name="street" type="xs:string" />
+    <xs:element name="city" type="xs:string" />
+    <xs:element name="zipcode" type="xs:integer" />
+    <xs:element name="country" type="xs:string" />
+  </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="USAddress_10b">
+  <xs:complexContent>
+    <xs:restriction base="tns:address_10b">
+      <xs:sequence>
+        <xs:element name="street" type="xs:string" />
+        <xs:element name="city" type="xs:string" />
+        <xs:element name="zipcode" type="xs:integer" />
+        <xs:element name="country" type="xs:string" fixed="US" />
+      </xs:sequence>
+    </xs:restriction>
+  </xs:complexContent>
+</xs:complexType>
+
+</xs:schema>

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_10_b.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/11/" xmlns:tns="http://www.example.com/xsd/11/">
+    <xs:complexType name="cT_11_parent" abstract="true">
+        <xs:sequence>
+            <xs:element name="id" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="cT_11_child">
+        <xs:complexContent>
+            <xs:extension base="tns:cT_11_parent">
+                <xs:sequence>
+                    <xs:element name="name" type="xs:string"/>
+                </xs:sequence>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.example.com/xsd/11b/" targetNamespace="http://www.example.com/xsd/11b/">
+<xs:complexType name="address_11b" abstract="true">
+  <xs:sequence>
+    <xs:element name="street" type="xs:string" />
+    <xs:element name="city" type="xs:string" />
+  </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="USAddress_11b">
+  <xs:complexContent>
+    <xs:extension  base="tns:address_11b">
+      <xs:sequence>
+        <xs:element name="zipcode" type="xs:integer" />
+        <xs:element name="country" type="xs:string" fixed="US" />
+      </xs:sequence>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+
+</xs:schema>

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_11_b.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/17/">
+    <xs:complexType name="cT_18">
+        <xs:simpleContent>
+            <xs:restriction base="xs:string" />
+        </xs:simpleContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_17.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           targetNamespace="http://www.example.com/xsd/18/"
+           xmlns:tns="http://www.example.com/xsd/18/">
+    <xs:element name="cT_18" type="tns:cT_18"/>
+    <xs:complexType name="cT_18">
+        <xs:simpleContent>
+            <xs:extension base="xs:string" />
+        </xs:simpleContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           targetNamespace="http://www.example.com/xsd/18a/"
+           xmlns:tns="http://www.example.com/xsd/18a/">
+    <xs:element name="cT_18a" type="tns:cT_18a"/>
+    <xs:complexType name="cT_18a">
+        <xs:simpleContent>
+            <xs:extension base="xs:dateTime" />
+        </xs:simpleContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_18a.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/19/">
+    <xs:complexType name="cT_19">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute name="lang" type="xs:string"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_19.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<!-- complexType with simpleContent with restriction with attribute -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/20/">
+    <xs:complexType name="cT_20">
+        <xs:simpleContent>
+            <xs:restriction base="xs:string">
+                <xs:attribute name="lang" type="xs:string" />
+            </xs:restriction>
+        </xs:simpleContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_20.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd?view=auto&rev=529631
==============================================================================
--- incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd (added)
+++ incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd Tue Apr 17 07:57:11 2007
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ -->
+<!-- complexType with simpleContent with restriction with attribute with simpleType -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/xsd/21/">
+    <xs:complexType name="cT_21">
+        <xs:simpleContent>
+            <xs:restriction base="xs:string">
+                <xs:attribute name="lang">
+                    <xs:simpleType>
+                        <xs:restriction base="xs:string" />
+                    </xs:simpleType>
+                </xs:attribute>
+            </xs:restriction>
+        </xs:simpleContent>
+    </xs:complexType>
+</xs:schema>
\ No newline at end of file

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/cts/sdo2.1/src/main/resources/complexType/cT_21.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org