summaryrefslogtreecommitdiff
path: root/test/schemas/derivation-ok-restriction-2-1-1_0.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'test/schemas/derivation-ok-restriction-2-1-1_0.xsd')
-rw-r--r--test/schemas/derivation-ok-restriction-2-1-1_0.xsd56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/schemas/derivation-ok-restriction-2-1-1_0.xsd b/test/schemas/derivation-ok-restriction-2-1-1_0.xsd
new file mode 100644
index 0000000..e91fe43
--- /dev/null
+++ b/test/schemas/derivation-ok-restriction-2-1-1_0.xsd
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://FOO" targetNamespace="http://FOO">
+
+ <xs:element name="foo">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="typeA">
+ <xs:attribute name="barA_1" type="xs:string" use="optional"/>
+ <!-- OK -->
+ <xs:attribute name="barA_2" type="xs:string" use="required"/>
+ <!-- OK -->
+ <xs:attribute name="barA_3" type="xs:string" use="prohibited"/>
+ <!-- OK -->
+
+ <xs:attribute name="barB_1" type="xs:string" use="optional"/>
+ <!-- 2.1.1 inconsistent ( OR 3 ) -->
+ <xs:attribute name="barB_2" type="xs:string" use="required"/>
+ <!-- OK -->
+ <xs:attribute name="barB_3" type="xs:string" use="prohibited"/>
+ <!-- 3 -->
+
+ <xs:attribute name="barC_1" type="xs:string" use="optional"/>
+ <!-- 2.2 no match in base -->
+ <xs:attribute name="barC_2" type="xs:string" use="required"/>
+ <!-- 2.2 no match in base -->
+ <xs:attribute name="barC_3" type="xs:string" use="prohibited"/>
+ <!-- OK -->
+
+ <xs:attribute name="barD_1" type="xs:string" use="optional"/>
+ <!-- 2.2 no match in base -->
+ <xs:attribute name="barD_2" type="xs:string" use="required"/>
+ <!-- 2.2 no match in base -->
+ <xs:attribute name="barD_3" type="xs:string" use="prohibited"/>
+ <!-- OK -->
+
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:complexType name="typeA">
+ <xs:attribute name="barA_1" type="xs:string" use="optional"/>
+ <xs:attribute name="barA_2" type="xs:string" use="optional"/>
+ <xs:attribute name="barA_3" type="xs:string" use="optional"/>
+ <xs:attribute name="barB_1" type="xs:string" use="required"/>
+ <xs:attribute name="barB_2" type="xs:string" use="required"/>
+ <xs:attribute name="barB_3" type="xs:string" use="required"/>
+ <xs:attribute name="barC_1" type="xs:string" use="prohibited"/>
+ <xs:attribute name="barC_2" type="xs:string" use="prohibited"/>
+ <xs:attribute name="barC_3" type="xs:string" use="prohibited"/>
+ </xs:complexType>
+
+</xs:schema>
+
+