summaryrefslogtreecommitdiff
path: root/src/XmlOcafResource/XmlOcaf_TNaming.xsd
blob: 22b6bfab2af0af8c9bf5d6ac4820df2ad161dfe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<schema targetNamespace="http://www.opencascade.org/OCAF/XML"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:ocaf="http://www.opencascade.org/OCAF/XML"
        elementFormDefault="qualified">

<annotation>
  <documentation xml:lang="en">
    Open Cascade Application Framework: Definition of attributes from TNaming package
    This file is included in XmlOcaf.xsd
    URL: $(CASROOT)/src/XmlOcafResource/XmlOcaf_TNaming.xsd
  </documentation>
</annotation>

<complexType name="ArrayOfShapes">
  <sequence>
    <element name="shape" minOccurs="0" maxOccurs="unbounded">
      <complexType>
        <attribute name="tshape" use="required">
          <simpleType>
            <restriction base="string">
              <pattern value="[+-ie]\d+"/>
            </restriction>
          </simpleType>
        </attribute>
        <attribute name="location" type="positiveInteger"/>
        <attribute name="index" type="positiveInteger" use="required"/>
        <attribute name="x" type="float"/>
        <attribute name="y" type="float"/>
        <attribute name="z" type="float"/>
      </complexType>
    </element>                              <!-- end of 'shape' -->
  </sequence>
  <attribute name="lower" type="positiveInteger" default="1"/>
  <attribute name="upper" type="positiveInteger" default="1"/>
</complexType>

<element name="TNaming_NamedShape" substitutionGroup="ocaf:AbstractAttribute">
  <complexType>
    <complexContent>
      <extension base="ocaf:AbstractAttributeType">
        <sequence>
          <element name="olds" type="ocaf:ArrayOfShapes" minOccurs="0"/>
          <element name="news" type="ocaf:ArrayOfShapes" minOccurs="0"/>
        </sequence>
        <attribute name="evolution" use="required">
          <simpleType>
            <restriction base="string">
              <enumeration value="primitive"/>
              <enumeration value="generated"/>
              <enumeration value="modify"/>
              <enumeration value="delete"/>
              <enumeration value="selected"/>
              <enumeration value="replace"/>
            </restriction>
          </simpleType>
        </attribute>
        <attribute name="version" type="positiveInteger" default="0"/>
      </extension>
    </complexContent>
  </complexType>
  <unique name="OldShapeIndexUniq">
    <selector xpath="."/>
    <field xpath="@id"/>
    <field xpath="ocaf:olds/ocaf:shape/@index"/>
  </unique>
  <unique name="NewShapeIndexUniq">
    <selector xpath="."/>
    <field xpath="@id"/>
    <field xpath="ocaf:news/ocaf:shape/@index"/>
  </unique>
</element>

<element name="TNaming_Naming" substitutionGroup="ocaf:AbstractAttribute">
  <complexType>
    <complexContent>
      <extension base="ocaf:AbstractAttributeType">
        <attribute name="index" type="int" use="required"/>
        <attribute name="stopNS" type="positiveInteger"/>
        <attribute name="nametype" use="required">
	  <simpleType>
	    <restriction base="string">
	      <enumeration value="unknown"/>
	      <enumeration value="identity"/>
	      <enumeration value="modifuntil"/>
	      <enumeration value="generation"/>
	      <enumeration value="intersection"/>
	      <enumeration value="union"/>
	      <enumeration value="subtraction"/>
	      <enumeration value="constshape"/>
	      <enumeration value="filterbyneigh"/>
	    </restriction>
	  </simpleType>
        </attribute>
        <attribute name="shapetype" use="required">
	  <simpleType>
	    <restriction base="string">
	      <enumeration value="compound"/>
	      <enumeration value="compsolid"/>
	      <enumeration value="solid"/>
	      <enumeration value="shell"/>
	      <enumeration value="face"/>
	      <enumeration value="wire"/>
	      <enumeration value="edge"/>
	      <enumeration value="vertex"/>
	      <enumeration value="shape"/>
	    </restriction>
	  </simpleType>
        </attribute>
        <attribute name="arguments" type="ocaf:ListOfInteger"/>
      </extension>
    </complexContent>
  </complexType>
</element>

</schema>