0023619: Integration of test grid "xml" into the new testing system
[occt.git] / src / XmlOcafResource / XmlOcaf_SmallTypes.xsd
1 <schema targetNamespace="http://www.opencascade.org/OCAF/XML"
2         xmlns="http://www.w3.org/2001/XMLSchema"
3         xmlns:ocaf="http://www.opencascade.org/OCAF/XML"
4         elementFormDefault="qualified">
5
6 <annotation>
7   <documentation xml:lang="en">
8     Open Cascade Application Framework: Definition of basic types
9     This file is included in XmlOcaf.xsd
10     URL: $(CASROOT)/src/XmlOcafResource/XmlOcaf_SmallTypes.xsd
11   </documentation>
12 </annotation>
13
14 <!-- DEFINITIONS OF SIMPLE BASIC TYPES -->
15
16 <simpleType name="ListOfInteger">
17   <list itemType="int"/>
18 </simpleType>
19
20 <simpleType name="ListOfReal">
21   <list itemType="double"/>
22 </simpleType>
23
24 <simpleType name="ListOf3Real">
25   <restriction base="ocaf:ListOfReal">
26     <length value="3"/>
27   </restriction>
28 </simpleType>
29
30 <simpleType name="GuidType">
31   <restriction base="string">
32     <length value="36"/>
33     <pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/>
34   </restriction>
35 </simpleType>
36
37 <simpleType name="XPathLabel">
38   <restriction base="string">
39     <pattern value='/document/label(/label\[@tag=\"[1-9][0-9]*\"\])*'/>
40   </restriction>
41 </simpleType>
42
43 <!-- DEFINITIONS OF BASIC TYPES FOR OCAF ATTRIBUTES -->
44
45 <complexType name="AbsStringAttributeType">
46   <simpleContent>
47     <extension base="string">
48       <attribute name="id" type="positiveInteger" use="required"/>
49     </extension>
50   </simpleContent>
51 </complexType>
52
53 <complexType name="AbsIntegerAttributeType">
54   <simpleContent>
55     <extension base="int">
56       <attribute name="id" type="positiveInteger" use="required"/>
57     </extension>
58   </simpleContent>
59 </complexType>
60
61 <complexType name="AbsRealAttributeType">
62   <simpleContent>
63     <extension base="double">
64       <attribute name="id" type="positiveInteger" use="required"/>
65     </extension>
66   </simpleContent>
67 </complexType>
68
69 <complexType name="AbsListIntegerAttributeType">
70   <simpleContent>
71     <extension base="ocaf:ListOfInteger">
72       <attribute name="id" type="positiveInteger" use="required"/>
73     </extension>
74   </simpleContent>
75 </complexType>
76
77 <complexType name="AbsListRealAttributeType">
78   <simpleContent>
79     <extension base="ocaf:ListOfReal">
80       <attribute name="id" type="positiveInteger" use="required"/>
81     </extension>
82   </simpleContent>
83 </complexType>
84
85 <complexType name="AbsXPathLabelType">
86   <simpleContent>
87     <extension base="ocaf:XPathLabel">
88       <attribute name="id" type="positiveInteger" use="required"/>
89     </extension>
90   </simpleContent>
91 </complexType>
92
93 <complexType name="AbsList3RealAttributeType">
94   <simpleContent>
95     <extension base="ocaf:ListOf3Real">
96       <attribute name="id" type="positiveInteger" use="required"/>
97     </extension>
98   </simpleContent>
99 </complexType>
100
101 <!-- DECLARATIONS OF ABSTRACT XML ELEMENTS FOR OCAF ATTRIBUTES -->
102
103 <element name="AbstractStringAtt" type="ocaf:AbsStringAttributeType" abstract="true">
104   <annotation>
105     <documentation>
106       Abstract type corresponding to TDF_Attribute with String content
107     </documentation>
108   </annotation>
109 </element>
110
111 <element name="AbstractIntegerAtt" type="ocaf:AbsIntegerAttributeType" abstract="true">
112   <annotation>
113     <documentation>
114       Abstract type corresponding to TDF_Attribute with Integer content
115     </documentation>
116   </annotation>
117 </element>
118
119 <element name="AbstractRealAtt" type="ocaf:AbsRealAttributeType" abstract="true">
120   <annotation>
121     <documentation>
122       Abstract type corresponding to TDF_Attribute with Real content
123     </documentation>
124   </annotation>
125 </element>
126
127 <element name="AbstractListIntegerAtt"
128          type="ocaf:AbsListIntegerAttributeType" abstract="true">
129   <annotation>
130     <documentation>
131       Abstract type corresponding to TDF_Attribute with List-Of-Integer content
132     </documentation>
133   </annotation>
134 </element>
135
136 <element name="AbstractListRealAtt"
137          type="ocaf:AbsListRealAttributeType" abstract="true">
138   <annotation>
139     <documentation>
140       Abstract type corresponding to TDF_Attribute with List-Of-Real content
141     </documentation>
142   </annotation>
143 </element>
144
145 <element name="AbstractXPathLabel" type="ocaf:AbsXPathLabelType" abstract="true">
146   <annotation>
147     <documentation>
148       Abstract type representing XPath reference to OCAF label
149     </documentation>
150   </annotation>
151 </element>
152
153 <element name="AbstractList3RealAtt"
154          type="ocaf:AbsList3RealAttributeType" abstract="true">
155   <annotation>
156     <documentation>
157       Abstract type corresponding to TDF_Attribute with List-Of-3-Real content
158     </documentation>
159   </annotation>
160 </element>
161
162 <!-- DECLARATION OF ABSTRACT XML ELEMENT FOR OCAF ATTRIBUTES WITH NO SIMPLE CONTENT -->
163
164 <complexType name="AbstractAttributeType">
165   <complexContent>
166     <restriction base="anyType">
167       <attribute name="id" type="positiveInteger" use="required"/>
168     </restriction>
169   </complexContent>
170 </complexType>
171
172 <element name="AbstractAttribute" type="ocaf:AbstractAttributeType" abstract="true">
173   <annotation>
174     <documentation>
175       Abstract type corresponding to TDF_Attribute (the ancestor of all OCAF Attributes)
176     </documentation>
177   </annotation>
178 </element>
179
180 <!--  ELEMENT **LOCATION** -->
181
182 <complexType name="Location">
183   <sequence>
184     <element name="datum" minOccurs="0">
185       <complexType>
186         <attribute name="id" type="positiveInteger" use="required"/>
187         <attribute name="trsf" use="required">
188           <simpleType>
189             <restriction base="ocaf:ListOfReal">
190               <length value="14"/>
191             </restriction>
192           </simpleType>
193         </attribute>
194       </complexType>
195     </element>
196     <element name="location" type="ocaf:Location" minOccurs="0"/>
197   </sequence>
198   <attribute name="power" type="positiveInteger" use="required"/>
199   <attribute name="datum" type="positiveInteger" use="required"/>
200 </complexType>
201
202 <element name="location" type="ocaf:Location"/>
203
204 </schema>