summaryrefslogtreecommitdiff
path: root/tests/auto/qxmlschemavalidator/testdata/QTBUG-77620.xsd
blob: 33657c7dfa856be5b2c25b905c36bb4c157ad3a8 (plain)
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
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="pattern_type">
    <xs:restriction base="xs:string">
      <xs:pattern value="CUSTOM_[0-9a-zA-Z]+" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enum_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="KEY1" />
      <xs:enumeration value="KEY2" />
      <!-- Note: *no* matching entry for key "CUSTOM_KEY1" -->
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="union_type">
    <xs:union memberTypes="enum_type pattern_type" />
  </xs:simpleType>

  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="item" maxOccurs="unbounded">
          <xs:complexType>
            <xs:attribute name="key" type="union_type" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
    <xs:key name="primary_key">
      <xs:selector xpath="./item" />
      <xs:field xpath="@key" />
    </xs:key>
  </xs:element>
</xs:schema>