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">
7 <documentation xml:lang="en">
8 Copyright (c) 2001-2014 OPEN CASCADE SAS
10 This file is part of Open CASCADE Technology software library.
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.
18 Alternatively, this file may be used under the terms of Open CASCADE
19 commercial license or contractual agreement.
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
27 <!-- DEFINITIONS OF SIMPLE BASIC TYPES -->
29 <simpleType name="ListOfInteger">
30 <list itemType="int"/>
33 <simpleType name="ListOfReal">
34 <list itemType="double"/>
37 <simpleType name="ListOf3Real">
38 <restriction base="ocaf:ListOfReal">
43 <simpleType name="GuidType">
44 <restriction base="string">
46 <pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/>
50 <simpleType name="XPathLabel">
51 <restriction base="string">
52 <pattern value='/document/label(/label\[@tag=\"[1-9][0-9]*\"\])*'/>
56 <!-- DEFINITIONS OF BASIC TYPES FOR OCAF ATTRIBUTES -->
58 <complexType name="AbsStringAttributeType">
60 <extension base="string">
61 <attribute name="id" type="positiveInteger" use="required"/>
66 <complexType name="AbsIntegerAttributeType">
68 <extension base="int">
69 <attribute name="id" type="positiveInteger" use="required"/>
74 <complexType name="AbsRealAttributeType">
76 <extension base="double">
77 <attribute name="id" type="positiveInteger" use="required"/>
82 <complexType name="AbsListIntegerAttributeType">
84 <extension base="ocaf:ListOfInteger">
85 <attribute name="id" type="positiveInteger" use="required"/>
90 <complexType name="AbsListRealAttributeType">
92 <extension base="ocaf:ListOfReal">
93 <attribute name="id" type="positiveInteger" use="required"/>
98 <complexType name="AbsXPathLabelType">
100 <extension base="ocaf:XPathLabel">
101 <attribute name="id" type="positiveInteger" use="required"/>
106 <complexType name="AbsList3RealAttributeType">
108 <extension base="ocaf:ListOf3Real">
109 <attribute name="id" type="positiveInteger" use="required"/>
114 <!-- DECLARATIONS OF ABSTRACT XML ELEMENTS FOR OCAF ATTRIBUTES -->
116 <element name="AbstractStringAtt" type="ocaf:AbsStringAttributeType" abstract="true">
119 Abstract type corresponding to TDF_Attribute with String content
124 <element name="AbstractIntegerAtt" type="ocaf:AbsIntegerAttributeType" abstract="true">
127 Abstract type corresponding to TDF_Attribute with Integer content
132 <element name="AbstractRealAtt" type="ocaf:AbsRealAttributeType" abstract="true">
135 Abstract type corresponding to TDF_Attribute with Real content
140 <element name="AbstractListIntegerAtt"
141 type="ocaf:AbsListIntegerAttributeType" abstract="true">
144 Abstract type corresponding to TDF_Attribute with List-Of-Integer content
149 <element name="AbstractListRealAtt"
150 type="ocaf:AbsListRealAttributeType" abstract="true">
153 Abstract type corresponding to TDF_Attribute with List-Of-Real content
158 <element name="AbstractXPathLabel" type="ocaf:AbsXPathLabelType" abstract="true">
161 Abstract type representing XPath reference to OCAF label
166 <element name="AbstractList3RealAtt"
167 type="ocaf:AbsList3RealAttributeType" abstract="true">
170 Abstract type corresponding to TDF_Attribute with List-Of-3-Real content
175 <!-- DECLARATION OF ABSTRACT XML ELEMENT FOR OCAF ATTRIBUTES WITH NO SIMPLE CONTENT -->
177 <complexType name="AbstractAttributeType">
179 <restriction base="anyType">
180 <attribute name="id" type="positiveInteger" use="required"/>
185 <element name="AbstractAttribute" type="ocaf:AbstractAttributeType" abstract="true">
188 Abstract type corresponding to TDF_Attribute (the ancestor of all OCAF Attributes)
193 <!-- ELEMENT **LOCATION** -->
195 <complexType name="Location">
197 <element name="datum" minOccurs="0">
199 <attribute name="id" type="positiveInteger" use="required"/>
200 <attribute name="trsf" use="required">
202 <restriction base="ocaf:ListOfReal">
209 <element name="location" type="ocaf:Location" minOccurs="0"/>
211 <attribute name="power" type="positiveInteger" use="required"/>
212 <attribute name="datum" type="positiveInteger" use="required"/>
215 <element name="location" type="ocaf:Location"/>