1<?xml version="1.0" encoding="UTF-8"?>
2<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3            xmlns="http://incubator.apache.org/harmony/testing"
4            targetNamespace="http://incubator.apache.org/harmony/testing">
5
6    <!--
7    * A suite contains zero or more type declarations
8    -->
9    <xsd:element name="suite">
10        <xsd:complexType>
11            <xsd:sequence>
12                <xsd:element ref="type" minOccurs="0" maxOccurs="unbounded"/>
13            </xsd:sequence>
14        </xsd:complexType>
15    </xsd:element>
16
17    <!--
18    * A type contains one or more exclude elements.
19    * A type has a single attribute (id) which can be
20    * any meaningful character value that is based on
21    * proper XML naming conventions (must begin with a
22    * letter or underscore).
23    -->
24    <xsd:element name="type">
25        <xsd:complexType>
26            <xsd:sequence>
27                <xsd:element ref="exclude" minOccurs="1" maxOccurs="unbounded"/>
28            </xsd:sequence>
29            <xsd:attribute name="id" type="idtype" use="required"/>
30        </xsd:complexType>
31    </xsd:element>
32
33    <!--
34    * An exclude element can have an optional reason
35    * element.
36    -->
37    <xsd:element name="exclude">
38        <xsd:complexType>
39            <xsd:sequence>
40                <xsd:element ref="reason" minOccurs="0" maxOccurs="1"/>
41            </xsd:sequence>
42            <xsd:attribute name="id" type="idtype" default="all"/>
43            <xsd:attribute name="platform" type="platformlisttype"
44                           default="all"/>
45            <xsd:attribute name="shouldfix" type="booleanstringtype"
46                           default="true"/>
47        </xsd:complexType>
48    </xsd:element>
49
50    <!--
51    * A reason element has no attributes, only parsed
52    * character data.
53    -->
54    <xsd:element name="reason">
55        <xsd:complexType mixed="true"/>
56    </xsd:element>
57
58
59    <!--
60    * Type idtype is any string data.
61    -->
62    <xsd:simpleType name="idtype">
63        <xsd:restriction base="xsd:string"/>
64    </xsd:simpleType>
65
66
67    <!--
68    * Type platformstringtype is one of the
69    * strings "all", "win.IA32" or "linux.IA32".
70    -->
71    <xsd:simpleType name="platformstringtype">
72        <xsd:restriction base="xsd:string">
73            <xsd:enumeration value="win.IA32"/>
74            <xsd:enumeration value="linux.IA32"/>
75            <xsd:enumeration value="all"/>
76        </xsd:restriction>
77    </xsd:simpleType>
78
79
80    <xsd:simpleType name="platformlisttype">
81        <xsd:list itemType="platformstringtype"/>
82    </xsd:simpleType>
83
84
85    <!--
86    * Type booleanstringtype is one of the
87    * strings "true" or "false".
88    -->
89    <xsd:simpleType name="booleanstringtype">
90        <xsd:restriction base="xsd:string">
91            <xsd:enumeration value="true"/>
92            <xsd:enumeration value="false"/>
93        </xsd:restriction>
94    </xsd:simpleType>
95
96</xsd:schema>
97