1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
---|
3 | xmlns="http://FOO" targetNamespace="http://FOO">
|
---|
4 |
|
---|
5 | <xs:element name="foo">
|
---|
6 | <xs:complexType>
|
---|
7 | <xs:complexContent>
|
---|
8 | <xs:restriction base="typeA">
|
---|
9 | <xs:attribute name="barA_1" type="xs:string" use="optional"/>
|
---|
10 | <!-- OK -->
|
---|
11 | <xs:attribute name="barA_2" type="xs:string" use="required"/>
|
---|
12 | <!-- OK -->
|
---|
13 | <xs:attribute name="barA_3" type="xs:string" use="prohibited"/>
|
---|
14 | <!-- OK -->
|
---|
15 |
|
---|
16 | <xs:attribute name="barB_1" type="xs:string" use="optional"/>
|
---|
17 | <!-- 2.1.1 inconsistent ( OR 3 ) -->
|
---|
18 | <xs:attribute name="barB_2" type="xs:string" use="required"/>
|
---|
19 | <!-- OK -->
|
---|
20 | <xs:attribute name="barB_3" type="xs:string" use="prohibited"/>
|
---|
21 | <!-- 3 -->
|
---|
22 |
|
---|
23 | <xs:attribute name="barC_1" type="xs:string" use="optional"/>
|
---|
24 | <!-- 2.2 no match in base -->
|
---|
25 | <xs:attribute name="barC_2" type="xs:string" use="required"/>
|
---|
26 | <!-- 2.2 no match in base -->
|
---|
27 | <xs:attribute name="barC_3" type="xs:string" use="prohibited"/>
|
---|
28 | <!-- OK -->
|
---|
29 |
|
---|
30 | <xs:attribute name="barD_1" type="xs:string" use="optional"/>
|
---|
31 | <!-- 2.2 no match in base -->
|
---|
32 | <xs:attribute name="barD_2" type="xs:string" use="required"/>
|
---|
33 | <!-- 2.2 no match in base -->
|
---|
34 | <xs:attribute name="barD_3" type="xs:string" use="prohibited"/>
|
---|
35 | <!-- OK -->
|
---|
36 |
|
---|
37 | </xs:restriction>
|
---|
38 | </xs:complexContent>
|
---|
39 | </xs:complexType>
|
---|
40 | </xs:element>
|
---|
41 |
|
---|
42 | <xs:complexType name="typeA">
|
---|
43 | <xs:attribute name="barA_1" type="xs:string" use="optional"/>
|
---|
44 | <xs:attribute name="barA_2" type="xs:string" use="optional"/>
|
---|
45 | <xs:attribute name="barA_3" type="xs:string" use="optional"/>
|
---|
46 | <xs:attribute name="barB_1" type="xs:string" use="required"/>
|
---|
47 | <xs:attribute name="barB_2" type="xs:string" use="required"/>
|
---|
48 | <xs:attribute name="barB_3" type="xs:string" use="required"/>
|
---|
49 | <xs:attribute name="barC_1" type="xs:string" use="prohibited"/>
|
---|
50 | <xs:attribute name="barC_2" type="xs:string" use="prohibited"/>
|
---|
51 | <xs:attribute name="barC_3" type="xs:string" use="prohibited"/>
|
---|
52 | </xs:complexType>
|
---|
53 |
|
---|
54 | </xs:schema>
|
---|
55 |
|
---|
56 |
|
---|