aboutsummaryrefslogtreecommitdiff
path: root/tests/cxx/parser/recursive/test.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cxx/parser/recursive/test.xsd')
-rw-r--r--tests/cxx/parser/recursive/test.xsd29
1 files changed, 27 insertions, 2 deletions
diff --git a/tests/cxx/parser/recursive/test.xsd b/tests/cxx/parser/recursive/test.xsd
index 33e1d2d..0723ca2 100644
--- a/tests/cxx/parser/recursive/test.xsd
+++ b/tests/cxx/parser/recursive/test.xsd
@@ -1,5 +1,7 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <!-- test 1 -->
+
<xs:complexType name="sub_type">
<xs:sequence>
<xs:element name="sub" type="sub_type" minOccurs="0"/>
@@ -16,10 +18,33 @@
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
+ <!-- test 2 -->
+
+ <xs:element name="a">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="a" />
+ <xs:element ref="b" />
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="b">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- root -->
+
<xs:complexType name="test_type">
- <xs:sequence>
+ <xs:choice>
<xs:element name="sub" type="sub_type" />
- </xs:sequence>
+ <xs:element ref="a"/>
+ </xs:choice>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>