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> |