Skip to content

Commit

Permalink
GMLAS tests: move .xml/.xsd test samples in on-disk files
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.osgeo.org/gdal/trunk@40972 f0d54148-0727-0410-94bb-9a71ac55c965
  • Loading branch information
rouault committed Dec 7, 2017
1 parent c489baa commit 517fd83
Show file tree
Hide file tree
Showing 63 changed files with 1,135 additions and 1,406 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<main_elt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="gmlas_any_field_at_end_of_declaration.xsd">
<foo>bar</foo>
<extra><something>baz</something></extra>
</main_elt>
13 changes: 13 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_any_field_at_end_of_declaration.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">

<xs:element name="main_elt">
<xs:complexType>
<xs:sequence>
<xs:element name="foo" type="xs:string" minOccurs="1"/>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<main:main_elt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:main="http://main"
xmlns:aux="http://aux"
xsi:schemaLocation="http://main gmlas_aux_schema_without_namespace_prefix_main.xsd http://aux gmlas_aux_schema_without_namespace_prefix_aux.xsd">
<main:foo>bar</main:foo>
<aux:genericInt><aux:value>1</aux:value></aux:genericInt>
</main:main_elt>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://aux"
targetNamespace="http://aux"
xmlns:main="http://main"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://main" schemaLocation="gmlas_aux_schema_without_namespace_prefix_main.xsd"/>
<xs:element name="genericInt" substitutionGroup="main:generic">
<xs:complexType>
<xs:sequence>
<xs:element name="value" type="xs:integer" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://main"
targetNamespace="http://main"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="main_elt">
<xs:complexType>
<xs:sequence>
<xs:element name="foo" type="xs:string"/>
<xs:element ref="generic" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="generic" abstract="true" type="xs:anyType"/>
</xs:schema>
24 changes: 24 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_avoid_same_name_inlined_classes.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://ns1"
xmlns:ns2="http://ns2"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:import namespace="http://ns1" schemaLocation="gmlas_avoid_same_name_inlined_classes_ns1.xsd"/>
<xs:import namespace="http://ns2" schemaLocation="gmlas_avoid_same_name_inlined_classes_ns2.xsd"/>

<xs:group name="mygroup">
<xs:sequence>
<xs:element ref="ns2:dt" minOccurs="0" maxOccurs="2"/>
</xs:sequence>
</xs:group>

<xs:element name="myFeature">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:dt" minOccurs="0" maxOccurs="2"/>
<xs:group ref="mygroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://ns1"
targetNamespace="http://ns1"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="dt">
<xs:complexType>
<xs:sequence>
<xs:element name="val" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://ns2"
targetNamespace="http://ns2"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="dt">
<xs:complexType>
<xs:sequence>
<xs:element name="val" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>
13 changes: 13 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_composition_compositionPart.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<first xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="gmlas_composition_compositionPart.xsd">
<composition>
<CompositionPart my_id="id1">
<a>a1</a>
</CompositionPart>
</composition>
<composition>
<CompositionPart my_id="id2">
<a>a2</a>
</CompositionPart>
</composition>
</first>
27 changes: 27 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_composition_compositionPart.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="first">
<xs:complexType>
<xs:sequence>
<xs:element name="composition" maxOccurs="unbounded" minOccurs="0" type="CompositionPartPropertyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:complexType name="CompositionPartPropertyType">
<xs:sequence>
<xs:element ref="CompositionPart"/>
</xs:sequence>
</xs:complexType>

<xs:element name="CompositionPart">
<xs:complexType>
<xs:sequence>
<xs:element name="a" type="xs:string"/>
</xs:sequence>
<xs:attribute name="my_id" type="xs:ID" use="required"/>
</xs:complexType>
</xs:element>

</xs:schema>
6 changes: 6 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_fake_xlink.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://fake_xlink"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:attribute name="href" type="xs:anyURI"/>
</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<main:main_elt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:main="http://main"
xmlns:gml="http://fake_gml32"
xsi:schemaLocation="http://main gmlas_geometry_as_substitutiongroup.xsd">
<main:foo><gml:Point gml:id="id"><gml:pos>5 6</gml:pos></gml:Point></main:foo>
</main:main_elt>
23 changes: 23 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_geometry_as_substitutiongroup.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://fake_gml32"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:import namespace="http://fake_gml32" schemaLocation="gmlas_fake_gml32.xsd"/>

<xs:element name="main_elt" substitutionGroup="gml:AbstractFeature">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element ref="_foo"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>

<xs:element name="_foo" type="xs:anyType" abstract="true"/>

<xs:element name="foo" type="gml:PointPropertyType" substitutionGroup="_foo"/>

</xs:schema>
20 changes: 20 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_identifier_case_ambiguity.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:myns="http://myns"
targetNamespace="http://myns"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="differentcase">
<xs:complexType>
<xs:sequence>
<xs:element name="differentcase" type="xs:string"/>
<xs:element name="DifferentCASE" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DifferentCASE">
<xs:complexType>
<xs:sequence>
<xs:element name="x" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
39 changes: 39 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_identifier_truncation.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:myns="http://myns"
targetNamespace="http://myns"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="very_long_identifier_class">
<xs:complexType>
<xs:sequence>
<xs:element name="very_long_idenTifier" type="xs:string"/>
<xs:element name="another_long_identifier" type="xs:string"/>
<xs:element name="another_long_identifierbis" type="xs:string"/>
<xs:element name="x" type="xs:string"/>
<xs:element name="noTCAMELCaseAndLong" type="xs:string"/>
<xs:element name="suuuuuuuuuuuperlong" type="xs:string"/>
<xs:element name="s_u_u_u_u_u_u_u_u_u_u_u_p_e_r_l_o_n_g" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="another_long_identifier_class">
<xs:complexType>
<xs:sequence>
<xs:element name="x" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="another_long_identifier_classbis">
<xs:complexType>
<xs:sequence>
<xs:element name="x" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="y">
<xs:complexType>
<xs:sequence>
<xs:element name="x" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
39 changes: 39 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_inline_identifier.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://fake_gml32"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:import namespace="http://fake_gml32" schemaLocation="gmlas_fake_gml32.xsd"/>

<xs:element name="identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="foo" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="first" substitutionGroup="gml:AbstractFeature">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element ref="identifier" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>

<xs:element name="second" substitutionGroup="gml:AbstractFeature">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element ref="identifier" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>

</xs:schema>
50 changes: 50 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_instantiate_only_gml_feature.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://fake_gml32"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:import namespace="http://fake_gml32" schemaLocation="gmlas_fake_gml32.xsd"/>

<!--
Xerces correctly detects circular dependencies
<xs:complexType name="typeA">
<xs:complexContent>
<xs:extension base="typeB">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="typeB">
<xs:complexContent>
<xs:extension base="typeA">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="A" substitutionGroup="B" type="typeA"/>
<xs:element name="B" substitutionGroup="A" type="typeB"/>
-->

<xs:element name="nonFeature">
<xs:complexType>
<xs:sequence>
<xs:element name="a" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="someFeature" substitutionGroup="gml:AbstractFeature">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element ref="nonFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>

</xs:schema>
12 changes: 12 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_interesting_schema.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my_ns="http://my/ns"
targetNamespace="http://my/ns"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="main_elt">
<xs:complexType>
<xs:sequence>
<xs:element name="attr" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
3 changes: 3 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_invalid_schema.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<myns:main_elt xmlns:myns="http://myns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://myns gmlas_invalid_schema.xsd"/>
6 changes: 6 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_invalid_schema.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:myns="http://myns"
targetNamespace="http://myns"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:foo/>
</xs:schema>
3 changes: 3 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_invalid_xml.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<myns:main_elt xmlns:myns="http://myns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://myns gmlas_invalid_xml.xsd">
12 changes: 12 additions & 0 deletions autotest/ogr/data/gmlas/gmlas_invalid_xml.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:myns="http://myns"
targetNamespace="http://myns"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="main_elt">
<xs:complexType>
<xs:sequence>
<xs:element name="foo" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<first xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="gmlas_link_nested_independant_child.xsd">
<second my_id="second_id"/>
</first>
Loading

0 comments on commit 517fd83

Please sign in to comment.