0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / XmlOcafResource / XmlOcaf_SmallTypes.xsd
CommitLineData
7fd59977 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">
d5f74e42 8 Copyright (c) 2001-2014 OPEN CASCADE SAS
9
10 This file is part of Open CASCADE Technology software library.
11
12 This library is free software; you can redistribute it and/or modify it under
13 the terms of the GNU Lesser General Public License version 2.1 as published
14 by the Free Software Foundation, with special exception defined in the file
15 OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
16 distribution for complete text of the license and disclaimer of any warranty.
17
18 Alternatively, this file may be used under the terms of Open CASCADE
19 commercial license or contractual agreement.
20
7fd59977 21 Open Cascade Application Framework: Definition of basic types
22 This file is included in XmlOcaf.xsd
23 URL: $(CASROOT)/src/XmlOcafResource/XmlOcaf_SmallTypes.xsd
24 </documentation>
25</annotation>
26
27<!-- DEFINITIONS OF SIMPLE BASIC TYPES -->
28
29<simpleType name="ListOfInteger">
30 <list itemType="int"/>
31</simpleType>
32
33<simpleType name="ListOfReal">
34 <list itemType="double"/>
35</simpleType>
36
37<simpleType name="ListOf3Real">
38 <restriction base="ocaf:ListOfReal">
39 <length value="3"/>
40 </restriction>
41</simpleType>
42
43<simpleType name="GuidType">
44 <restriction base="string">
45 <length value="36"/>
46 <pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/>
47 </restriction>
48</simpleType>
49
50<simpleType name="XPathLabel">
51 <restriction base="string">
52 <pattern value='/document/label(/label\[@tag=\"[1-9][0-9]*\"\])*'/>
53 </restriction>
54</simpleType>
55
56<!-- DEFINITIONS OF BASIC TYPES FOR OCAF ATTRIBUTES -->
57
58<complexType name="AbsStringAttributeType">
59 <simpleContent>
60 <extension base="string">
61 <attribute name="id" type="positiveInteger" use="required"/>
62 </extension>
63 </simpleContent>
64</complexType>
65
66<complexType name="AbsIntegerAttributeType">
67 <simpleContent>
68 <extension base="int">
69 <attribute name="id" type="positiveInteger" use="required"/>
70 </extension>
71 </simpleContent>
72</complexType>
73
74<complexType name="AbsRealAttributeType">
75 <simpleContent>
76 <extension base="double">
77 <attribute name="id" type="positiveInteger" use="required"/>
78 </extension>
79 </simpleContent>
80</complexType>
81
82<complexType name="AbsListIntegerAttributeType">
83 <simpleContent>
84 <extension base="ocaf:ListOfInteger">
85 <attribute name="id" type="positiveInteger" use="required"/>
86 </extension>
87 </simpleContent>
88</complexType>
89
90<complexType name="AbsListRealAttributeType">
91 <simpleContent>
92 <extension base="ocaf:ListOfReal">
93 <attribute name="id" type="positiveInteger" use="required"/>
94 </extension>
95 </simpleContent>
96</complexType>
97
98<complexType name="AbsXPathLabelType">
99 <simpleContent>
100 <extension base="ocaf:XPathLabel">
101 <attribute name="id" type="positiveInteger" use="required"/>
102 </extension>
103 </simpleContent>
104</complexType>
105
106<complexType name="AbsList3RealAttributeType">
107 <simpleContent>
108 <extension base="ocaf:ListOf3Real">
109 <attribute name="id" type="positiveInteger" use="required"/>
110 </extension>
111 </simpleContent>
112</complexType>
113
114<!-- DECLARATIONS OF ABSTRACT XML ELEMENTS FOR OCAF ATTRIBUTES -->
115
116<element name="AbstractStringAtt" type="ocaf:AbsStringAttributeType" abstract="true">
117 <annotation>
118 <documentation>
119 Abstract type corresponding to TDF_Attribute with String content
120 </documentation>
121 </annotation>
122</element>
123
124<element name="AbstractIntegerAtt" type="ocaf:AbsIntegerAttributeType" abstract="true">
125 <annotation>
126 <documentation>
127 Abstract type corresponding to TDF_Attribute with Integer content
128 </documentation>
129 </annotation>
130</element>
131
132<element name="AbstractRealAtt" type="ocaf:AbsRealAttributeType" abstract="true">
133 <annotation>
134 <documentation>
135 Abstract type corresponding to TDF_Attribute with Real content
136 </documentation>
137 </annotation>
138</element>
139
140<element name="AbstractListIntegerAtt"
141 type="ocaf:AbsListIntegerAttributeType" abstract="true">
142 <annotation>
143 <documentation>
144 Abstract type corresponding to TDF_Attribute with List-Of-Integer content
145 </documentation>
146 </annotation>
147</element>
148
149<element name="AbstractListRealAtt"
150 type="ocaf:AbsListRealAttributeType" abstract="true">
151 <annotation>
152 <documentation>
153 Abstract type corresponding to TDF_Attribute with List-Of-Real content
154 </documentation>
155 </annotation>
156</element>
157
158<element name="AbstractXPathLabel" type="ocaf:AbsXPathLabelType" abstract="true">
159 <annotation>
160 <documentation>
161 Abstract type representing XPath reference to OCAF label
162 </documentation>
163 </annotation>
164</element>
165
166<element name="AbstractList3RealAtt"
167 type="ocaf:AbsList3RealAttributeType" abstract="true">
168 <annotation>
169 <documentation>
170 Abstract type corresponding to TDF_Attribute with List-Of-3-Real content
171 </documentation>
172 </annotation>
173</element>
174
175<!-- DECLARATION OF ABSTRACT XML ELEMENT FOR OCAF ATTRIBUTES WITH NO SIMPLE CONTENT -->
176
177<complexType name="AbstractAttributeType">
178 <complexContent>
179 <restriction base="anyType">
180 <attribute name="id" type="positiveInteger" use="required"/>
181 </restriction>
182 </complexContent>
183</complexType>
184
185<element name="AbstractAttribute" type="ocaf:AbstractAttributeType" abstract="true">
186 <annotation>
187 <documentation>
188 Abstract type corresponding to TDF_Attribute (the ancestor of all OCAF Attributes)
189 </documentation>
190 </annotation>
191</element>
192
193<!-- ELEMENT **LOCATION** -->
194
195<complexType name="Location">
196 <sequence>
197 <element name="datum" minOccurs="0">
198 <complexType>
199 <attribute name="id" type="positiveInteger" use="required"/>
200 <attribute name="trsf" use="required">
201 <simpleType>
202 <restriction base="ocaf:ListOfReal">
203 <length value="14"/>
204 </restriction>
205 </simpleType>
206 </attribute>
207 </complexType>
208 </element>
209 <element name="location" type="ocaf:Location" minOccurs="0"/>
210 </sequence>
211 <attribute name="power" type="positiveInteger" use="required"/>
212 <attribute name="datum" type="positiveInteger" use="required"/>
213</complexType>
214
215<element name="location" type="ocaf:Location"/>
216
217</schema>