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 <include schemaLocation="XmlOcaf_SmallTypes.xsd"/>
6 <include schemaLocation="XmlOcaf_TDataStd.xsd"/>
7 <include schemaLocation="XmlOcaf_TDF.xsd"/>
8 <include schemaLocation="XmlOcaf_TDocStd.xsd"/>
9 <include schemaLocation="XmlOcaf_TFunction.xsd"/>
10 <include schemaLocation="XmlOcaf_TNaming.xsd"/>
11 <include schemaLocation="XmlOcaf_TPrsStd.xsd"/>
14 <documentation xml:lang="en">
15 Open Cascade Application Framework: Definition of XmlOcaf Persistence format.
16 This Schema definition resides at: $(CASROOT)/src/XmlOcafResource/XmlOcaf.xsd
20 <complexType name="LabelType">
22 <choice minOccurs="0" maxOccurs="unbounded">
23 <element ref="ocaf:AbstractStringAtt"/>
24 <element ref="ocaf:AbstractIntegerAtt"/>
25 <element ref="ocaf:AbstractRealAtt"/>
26 <element ref="ocaf:AbstractListIntegerAtt"/>
27 <element ref="ocaf:AbstractListRealAtt"/>
28 <element ref="ocaf:AbstractAttribute"/>
29 <element ref="ocaf:AbstractXPathLabel"/>
30 <element ref="ocaf:AbstractList3RealAtt"/>
32 <element name="label" type="ocaf:LabelType" minOccurs="0" maxOccurs="unbounded">
33 <!-- This type of uniqueness does not alow recursive structures
34 <unique name="LabelUniqueness">
35 <selector xpath="ocaf:label"/>
40 <attribute name="tag" type="positiveInteger" use="required"/>
43 <!-- Declaration of document element +++++++++++++++++++++++++++ -->
44 <element name="document">
48 <!-- Declaration of element 'info' +++++++++++++++++++++++++++++ -->
52 <element name="iitem" type="string" minOccurs="0" maxOccurs="unbounded"/>
54 <attribute name="date" type="date" use="required"/>
55 <attribute name="schemav" type="nonNegativeInteger" use="required"/>
56 <attribute name="objnb" type="nonNegativeInteger" use="required"/>
58 </element> <!-- END 'info' -->
60 <!-- Declaration of element 'comments' ++++++++++++++++++++++++++ -->
61 <element name="comments">
64 <element name="citem" type="string" minOccurs="0" maxOccurs="unbounded"/>
67 </element> <!-- END 'comments' -->
69 <!-- Declaration of element 'label' +++++++++++++++++++++++++++++ -->
70 <element name="label">
71 <!-- Local type redefinition from ocaf:LabelType by restriction -->
74 <restriction base="ocaf:LabelType">
76 <choice minOccurs="0" maxOccurs="unbounded">
77 <element ref="ocaf:AbstractStringAtt"/>
78 <element ref="ocaf:AbstractIntegerAtt"/>
79 <element ref="ocaf:AbstractRealAtt"/>
80 <element ref="ocaf:AbstractListIntegerAtt"/>
81 <element ref="ocaf:AbstractListRealAtt"/>
82 <element ref="ocaf:AbstractAttribute"/>
83 <element ref="ocaf:AbstractXPathLabel"/>
84 <element ref="ocaf:AbstractList3RealAtt"/>
86 <element name="label" type="ocaf:LabelType" minOccurs="0" maxOccurs="unbounded">
87 <unique name="Label1Uniqueness">
88 <selector xpath="ocaf:label"/>
89 <field xpath="@tag"/> <!-- label tags -->
93 <!-- Difference from ocaf:LabelType is FIXEDNESS of tag attribute -->
94 <attribute name="tag" type="nonNegativeInteger" fixed="0"/>
98 <!-- Uniqueness of tags in sub-labels -->
99 <unique name="Label0Uniqueness">
100 <selector xpath="ocaf:label"/>
101 <field xpath="@tag"/>
103 <!-- Uniqueness of 'id' values of shareable objects -->
104 <unique name="ShareableIdUniqueness">
105 <selector xpath=".//ocaf:*"/>
108 </element> <!-- END 'label 0' -->
110 <!-- Declaration of element 'shapes' +++++++++++++++++++++++++++ -->
111 <element name="shapes" type="string" minOccurs="0"/>
114 <attribute name="format" type="string" use="required"/>
116 </element> <!-- END 'document' -->