aboutsummaryrefslogtreecommitdiff
path: root/tests/cxx/hybrid/built-in/test.xsd
blob: 1481d4f697dd12bbd2cc4f38c977a329b014bde0 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">

  <!-- anyType -->

  <complexType name="any-res">
    <complexContent>
      <restriction base="anyType">
        <sequence>
          <element name="a" type="int"/>
          <element name="b" type="string"/>
        </sequence>
        <attribute name="x" type="string"/>
      </restriction>
    </complexContent>
  </complexType>

  <!-- anySimpleType -->

  <complexType name="any-simple-ext">
    <simpleContent>
      <extension base="anySimpleType">
        <attribute name="x" type="string"/>
      </extension>
    </simpleContent>
  </complexType>


  <!-- int -->

  <simpleType name="simple-int">
    <restriction base="int"/>
  </simpleType>

  <complexType name="int-base">
    <simpleContent>
      <extension base="int">
        <attribute name="x" type="string"/>
      </extension>
    </simpleContent>
  </complexType>

  <complexType name="int-derived">
    <simpleContent>
      <extension base="t:int-base">
        <attribute name="y" type="string"/>
      </extension>
    </simpleContent>
  </complexType>

  <!-- base64Binary -->

  <simpleType name="simple-bin">
    <restriction base="base64Binary"/>
  </simpleType>

  <complexType name="bin-base">
    <simpleContent>
      <extension base="base64Binary">
        <attribute name="x" type="string"/>
      </extension>
    </simpleContent>
  </complexType>

  <complexType name="bin-derived">
    <simpleContent>
      <extension base="t:bin-base">
        <attribute name="y" type="string"/>
      </extension>
    </simpleContent>
  </complexType>

  <!-- string -->

  <simpleType name="simple-string">
    <restriction base="string"/>
  </simpleType>

  <complexType name="string-base">
    <simpleContent>
      <extension base="string">
        <attribute name="x" type="string"/>
      </extension>
    </simpleContent>
  </complexType>

  <complexType name="string-derived">
    <simpleContent>
      <extension base="t:string-base">
        <attribute name="y" type="string"/>
      </extension>
    </simpleContent>
  </complexType>

  <complexType name="type">
    <sequence>

      <element name="any" type="anyType"/>
      <element name="any-res" type="t:any-res"/>

      <element name="any-simple" type="anySimpleType"/>
      <element name="any-simple-ext" type="t:any-simple-ext"/>

      <element name="int" type="int"/>
      <element name="simple-int" type="t:simple-int"/>
      <element name="int-base" type="t:int-base"/>
      <element name="int-derived" type="t:int-derived"/>

      <element name="bin" type="base64Binary"/>
      <element name="simple-bin" type="t:simple-bin"/>
      <element name="bin-base" type="t:bin-base"/>
      <element name="bin-derived" type="t:bin-derived"/>

      <element name="string" type="string"/>
      <element name="simple-string" type="t:simple-string"/>
      <element name="string-base" type="t:string-base"/>
      <element name="string-derived" type="t:string-derived"/>

    </sequence>
      <attribute name="any-simple-attr" type="anySimpleType"/>
  </complexType>

  <element name="root" type="t:type"/>

</schema>