<GMLFeatureClassList>
   <GMLFeatureClass>
      <Name>FeatureType1</Name> 
      <ElementPath>FeatureType1</ElementPath> 
      <GeomPropertyDefn>
         <Name>attGeom</Name>
         <ElementPath>attGeom</ElementPath>
         <Type>Surface</Type>
      </GeomPropertyDefn>
      <PropertyDefn>
         <Name>attCl</Name>
         <ElementPath>attCl</ElementPath>
         <Type>String</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDt_dtAtt1</Name>
         <ElementPath>attDt|DataType|dtAtt1</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDt_dtAtt2</Name>
         <ElementPath>attDt|DataType|dtAtt2</ElementPath>
         <Type>Real</Type>
      <Width>4</Width>
         <Precision>2</Precision>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attU_option1</Name>
         <ElementPath>attU|Union|option1</ElementPath>
         <Type>Integer</Type>
      <Width>5</Width>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attU_option2_dtAtt1</Name>
         <ElementPath>attU|Union|option2|DataType|dtAtt1</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attU_option2_dtAtt2</Name>
         <ElementPath>attU|Union|option2|DataType|dtAtt2</ElementPath>
         <Type>RealList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>roleFt2_href</Name>
         <ElementPath>roleFt2@href</ElementPath>
         <Type>FeaturePropertyList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>roleOt1_href</Name>
         <ElementPath>roleOt1</ElementPath>
         <Type>FeaturePropertyList</Type>
      </PropertyDefn>
   </GMLFeatureClass>
   <GMLFeatureClass>
      <Name>FeatureType2</Name>
      <ElementPath>FeatureType2</ElementPath>
      <GeomPropertyDefn>
         <Name>att3</Name>
         <ElementPath>att3</ElementPath>
         <Type>Point</Type>
      </GeomPropertyDefn>
      <GeomPropertyDefn>
         <Name>att5</Name>
         <ElementPath>att5</ElementPath>
         <Type>Curve</Type>
      </GeomPropertyDefn>
      <PropertyDefn>
         <Name>att1</Name>
         <ElementPath>att1</ElementPath>
         <Type>String</Type>
      <Width>20</Width>
      </PropertyDefn>
      <PropertyDefn>
         <Name>att2</Name>
         <ElementPath>att2</ElementPath>
         <Type>String</Type>
         <Subtype>Boolean</Subtype>
      </PropertyDefn>
      <PropertyDefn>
         <Name>att4</Name>
         <ElementPath>att4</ElementPath>
         <Type>IntegerList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>roleFt1_href</Name>
         <ElementPath>roleFt1@href</ElementPath>
         <Type>FeatureProperty</Type>
      </PropertyDefn>
   </GMLFeatureClass>
   <GMLFeatureClass>
      <Name>ObjectType1</Name>
      <ElementPath>ObjectType1</ElementPath>
      <GeomPropertyDefn>
         <Name>attDtSupertype_DataTypeSub1_attSuper1</Name>
      <ElementPath>attDtSupertype|DataTypeSub1|attSuper1</ElementPath>
         <Type>1</Type>
      </GeomPropertyDefn>
      <GeomPropertyDefn>
         <Name>attDtSupertype_DataTypeSub2_attSuper1</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSuper1</ElementPath>
         <Type>1</Type>
      </GeomPropertyDefn>
      <GeomPropertyDefn>
         <Name>attDtSupertype_DataTypeSupertype_attSuper1</Name>
         <ElementPath>attDtSupertype|DataTypeSupertype|attSuper1</ElementPath>
         <Type>1</Type>
      </GeomPropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub1_attSuper2</Name>
         <ElementPath>attDtSupertype|DataTypeSub1|attSuper2</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub1_attSuper3</Name>
         <ElementPath>attDtSupertype|DataTypeSub1|attSuper3</ElementPath>
         <Type>RealList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub1_attSuper3_uom</Name>
         <ElementPath>attDtSupertype|DataTypeSub1|attSuper3@uom</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub2_attSubAbstract</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSubAbstract</ElementPath>
         <Type>Integer</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub2_attSuper2</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSuper2</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub2_attSuper3</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSuper3</ElementPath>
         <Type>RealList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSub2_attSuper3_uom</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSuper3@uom</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSupertype_attSuper2</Name>
         <ElementPath>attDtSupertype|DataTypeSupertype|attSuper2</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSupertype_attSuper3</Name>
         <ElementPath>attDtSupertype|DataTypeSupertype|attSuper3</ElementPath>
         <Type>RealList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_DataTypeSupertype_attSuper3_uom</Name>
         <ElementPath>attDtSupertype|DataTypeSupertype|attSuper3@uom</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_attSub1</Name>
         <ElementPath>attDtSupertype|DataTypeSub1|attSub1</ElementPath>
         <Type>Real</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_attSub1_uom</Name>
         <ElementPath>attDtSupertype|DataTypeSub1|attSub1@uom</ElementPath>
         <Type>String</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_attSub2_option1</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSub2|Union|option1</ElementPath>
         <Type>Integer</Type>
         <Width>5</Width>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_attSub2_option2_dtAtt1</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSub2|Union|option2|DataType|dtAtt1</ElementPath>
         <Type>StringList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attDtSupertype_attSub2_option2_dtAtt2</Name>
         <ElementPath>attDtSupertype|DataTypeSub2|attSub2|Union|option2|DataType|dtAtt2</ElementPath>
         <Type>RealList</Type>
      </PropertyDefn>
      <PropertyDefn>
         <Name>attE</Name>
         <ElementPath>attE</ElementPath>
         <Type>String</Type>
      </PropertyDefn>
   </GMLFeatureClass>
</GMLFeatureClassList>
