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 Open Cascade Application Framework: Definition of basic types
9 This file is included in XmlOcaf.xsd
10 URL: $(CASROOT)/src/XmlOcafResource/XmlOcaf_SmallTypes.xsd
14 <!-- DEFINITIONS OF SIMPLE BASIC TYPES -->
16 <simpleType name="ListOfInteger">
17 <list itemType="int"/>
20 <simpleType name="ListOfReal">
21 <list itemType="double"/>
24 <simpleType name="ListOf3Real">
25 <restriction base="ocaf:ListOfReal">
30 <simpleType name="GuidType">
31 <restriction base="string">
33 <pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/>
37 <simpleType name="XPathLabel">
38 <restriction base="string">
39 <pattern value='/document/label(/label\[@tag=\"[1-9][0-9]*\"\])*'/>
43 <!-- DEFINITIONS OF BASIC TYPES FOR OCAF ATTRIBUTES -->
45 <complexType name="AbsStringAttributeType">
47 <extension base="string">
48 <attribute name="id" type="positiveInteger" use="required"/>
53 <complexType name="AbsIntegerAttributeType">
55 <extension base="int">
56 <attribute name="id" type="positiveInteger" use="required"/>
61 <complexType name="AbsRealAttributeType">
63 <extension base="double">
64 <attribute name="id" type="positiveInteger" use="required"/>
69 <complexType name="AbsListIntegerAttributeType">
71 <extension base="ocaf:ListOfInteger">
72 <attribute name="id" type="positiveInteger" use="required"/>
77 <complexType name="AbsListRealAttributeType">
79 <extension base="ocaf:ListOfReal">
80 <attribute name="id" type="positiveInteger" use="required"/>
85 <complexType name="AbsXPathLabelType">
87 <extension base="ocaf:XPathLabel">
88 <attribute name="id" type="positiveInteger" use="required"/>
93 <complexType name="AbsList3RealAttributeType">
95 <extension base="ocaf:ListOf3Real">
96 <attribute name="id" type="positiveInteger" use="required"/>
101 <!-- DECLARATIONS OF ABSTRACT XML ELEMENTS FOR OCAF ATTRIBUTES -->
103 <element name="AbstractStringAtt" type="ocaf:AbsStringAttributeType" abstract="true">
106 Abstract type corresponding to TDF_Attribute with String content
111 <element name="AbstractIntegerAtt" type="ocaf:AbsIntegerAttributeType" abstract="true">
114 Abstract type corresponding to TDF_Attribute with Integer content
119 <element name="AbstractRealAtt" type="ocaf:AbsRealAttributeType" abstract="true">
122 Abstract type corresponding to TDF_Attribute with Real content
127 <element name="AbstractListIntegerAtt"
128 type="ocaf:AbsListIntegerAttributeType" abstract="true">
131 Abstract type corresponding to TDF_Attribute with List-Of-Integer content
136 <element name="AbstractListRealAtt"
137 type="ocaf:AbsListRealAttributeType" abstract="true">
140 Abstract type corresponding to TDF_Attribute with List-Of-Real content
145 <element name="AbstractXPathLabel" type="ocaf:AbsXPathLabelType" abstract="true">
148 Abstract type representing XPath reference to OCAF label
153 <element name="AbstractList3RealAtt"
154 type="ocaf:AbsList3RealAttributeType" abstract="true">
157 Abstract type corresponding to TDF_Attribute with List-Of-3-Real content
162 <!-- DECLARATION OF ABSTRACT XML ELEMENT FOR OCAF ATTRIBUTES WITH NO SIMPLE CONTENT -->
164 <complexType name="AbstractAttributeType">
166 <restriction base="anyType">
167 <attribute name="id" type="positiveInteger" use="required"/>
172 <element name="AbstractAttribute" type="ocaf:AbstractAttributeType" abstract="true">
175 Abstract type corresponding to TDF_Attribute (the ancestor of all OCAF Attributes)
180 <!-- ELEMENT **LOCATION** -->
182 <complexType name="Location">
184 <element name="datum" minOccurs="0">
186 <attribute name="id" type="positiveInteger" use="required"/>
187 <attribute name="trsf" use="required">
189 <restriction base="ocaf:ListOfReal">
196 <element name="location" type="ocaf:Location" minOccurs="0"/>
198 <attribute name="power" type="positiveInteger" use="required"/>
199 <attribute name="datum" type="positiveInteger" use="required"/>
202 <element name="location" type="ocaf:Location"/>