summaryrefslogtreecommitdiff
path: root/examples/cxx/parser/performance/test.xsd
blob: 2af594ebe6c5b3b9ad1c16874324c3912b6c9893 (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
<?xml version="1.0"?>

<!--

file      : examples/cxx/parser/performance/test.xsd
author    : Boris Kolpackov <boris@codesynthesis.com>
copyright : not copyrighted - public domain

-->

<schema targetNamespace="test" xmlns:t="test"
        xmlns="http://www.w3.org/2001/XMLSchema">

  <simpleType name="enum">
    <restriction base="string">
      <enumeration value="romance"/>
      <enumeration value="fiction"/>
      <enumeration value="horror"/>
      <enumeration value="history"/>
      <enumeration value="philosophy"/>
    </restriction>
  </simpleType>

  <complexType name="record">
    <sequence>
      <element name="int" type="unsignedInt"/>
      <element name="double" type="double"/>
      <element name="name" type="NCName"/>
      <element name="string" type="string" minOccurs="0" maxOccurs="1"/>
      <choice>
        <element name="choice1" type="string"/>
        <element name="choice2" type="string"/>
        <element name="choice3" type="string"/>
        <element name="choice4" type="string"/>
      </choice>
      <element name="enum" type="t:enum"/>
    </sequence>
    <attribute name="apple" type="boolean"/>
    <attribute name="orange" type="unsignedLong" use="required"/>
  </complexType>

  <complexType name="root">
    <sequence>
      <element name="record" type="t:record" maxOccurs="unbounded"/>
    </sequence>
  </complexType>

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

</schema>