File: issue_018.xsd

package info (click to toggle)
python-xmlschema 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,208 kB
  • sloc: python: 39,174; xml: 1,282; makefile: 36
file content (44 lines) | stat: -rw-r--r-- 1,449 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!--Note: this is an XSD 1.1 schema -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="root" type="rootType"/>
    <xs:element name="node" type="nodeType">
        <xs:alternative test="@mode='A'" type="nodeA"/>
        <xs:alternative test="@mode='B'" type="nodeB"/>
    </xs:element>

    <xs:complexType name="rootType">
        <xs:sequence>
            <xs:element ref="node" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="nodeType">
        <xs:attribute name="mode" type="allowed-node-types"/>
    </xs:complexType>

    <xs:simpleType name="allowed-node-types">
        <xs:restriction base="xs:string">
            <xs:enumeration value="A"/>
            <xs:enumeration value="B"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="nodeA">
        <xs:complexContent>
            <xs:extension base="nodeType">
                <xs:attribute name="value" type="xs:string" use="required"/>
                <xs:anyAttribute />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="nodeB">
        <xs:complexContent>
            <xs:extension base="nodeType">
                <xs:attribute name="name" type="xs:string" use="required"/>
                <xs:anyAttribute processContents="skip"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

</xs:schema>