source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/tecs.xsd@ 337

Last change on this file since 337 was 337, checked in by coas-nagasima, 6 years ago

ASP3版ECNLを追加

File size: 6.6 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<xsd:schema
3 xmlns="http://www.toppers.jp/tecs.html"
4 targetNamespace="http://www.toppers.jp/tecs.html"
5 xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
6
7 <!-- 1st element -->
8 <xsd:element name="GUI_Tool">
9 <xsd:complexType>
10 <xsd:sequence>
11 <xsd:choice maxOccurs="unbounded">
12 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="import" />
13 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="namespace" />
14 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="signature" />
15 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="celltype" />
16 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="cell" />
17 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="region" />
18 </xsd:choice>
19 </xsd:sequence>
20 </xsd:complexType>
21 </xsd:element>
22
23 <!--
24 * All elements MUST BE TOP LEVEL to assign global name.
25 * In XML file, all names are treated as global name.
26 * Note: inner elements have local name.
27 -->
28
29 <!-- elements of statement -->
30 <xsd:element name="import" type="importType" />
31 <xsd:element name="signature" type="signatureType" />
32 <xsd:element name="celltype" type="celltypeType" />
33 <xsd:element name="cell" type="cellType" />
34 <xsd:element name="namespace" type="namespaceType" />
35 <xsd:element name="region" type="regionType" />
36
37 <!-- elements of name, type, expression(rhs, initializer, subscript) -->
38 <xsd:element name="name" type="xsd:string" />
39 <xsd:element name="signame" type="xsd:string" />
40 <xsd:element name="rettype" type="xsd:string" />
41 <xsd:element name="type" type="xsd:string" />
42 <xsd:element name="subscript" type="xsd:string" />
43 <xsd:element name="rhs" type="xsd:string" />
44 <xsd:element name="initializer" type="xsd:string" />
45 <xsd:element name="choiceElement" type="xsd:string" />
46 <xsd:element name="composite" /> <!-- treat composite as celltype with 'composite' specifier -->
47 <xsd:element name="singleton" />
48 <xsd:element name="active" />
49
50 <!-- elements for signature -->
51 <xsd:element name="param">
52 <xsd:complexType>
53 <xsd:sequence>
54 <xsd:element ref="name"/>
55 <xsd:element ref="type"/>
56 </xsd:sequence>
57 </xsd:complexType>
58 </xsd:element>
59
60 <xsd:element name="func">
61 <xsd:complexType>
62 <xsd:sequence>
63 <xsd:element ref="name"/>
64 <xsd:element ref="rettype" />
65 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="param" />
66 </xsd:sequence>
67 </xsd:complexType>
68 </xsd:element>
69
70 <!-- elements for celltype -->
71 <xsd:element name="attr">
72 <xsd:complexType>
73 <xsd:sequence>
74 <xsd:element ref="name"/>
75 <xsd:element ref="type" />
76 <xsd:element minOccurs="0" ref="initializer" />
77 <xsd:element minOccurs="0" maxOccurs="1" ref="choice" />
78 </xsd:sequence>
79 </xsd:complexType>
80 </xsd:element>
81
82 <xsd:element name="choice">
83 <xsd:complexType>
84 <xsd:sequence>
85 <xsd:element minOccurs="1" maxOccurs="unbounded" ref="choiceElement"/>
86 </xsd:sequence>
87 </xsd:complexType>
88 </xsd:element>
89
90 <xsd:element name="call">
91 <xsd:complexType>
92 <xsd:sequence>
93 <xsd:element ref="name"/>
94 <xsd:element ref="signame" />
95 <xsd:element minOccurs="0" ref="subscript" />
96 </xsd:sequence>
97 </xsd:complexType>
98 </xsd:element>
99
100 <xsd:element name="entry">
101 <xsd:complexType>
102 <xsd:sequence>
103 <xsd:element ref="name"/>
104 <xsd:element ref="signame" />
105 <xsd:element minOccurs="0" ref="subscript" />
106 </xsd:sequence>
107 </xsd:complexType>
108 </xsd:element>
109
110 <!-- elements for cell -->
111 <xsd:element name="attr_join">
112 <xsd:complexType>
113 <xsd:sequence>
114 <xsd:element ref="name"/>
115 <xsd:element ref="rhs" />
116 </xsd:sequence>
117 </xsd:complexType>
118 </xsd:element>
119
120 <xsd:element name="call_join">
121 <xsd:complexType>
122 <xsd:sequence>
123 <xsd:element ref="name"/>
124 <xsd:element minOccurs="0" ref="subscript" />
125 <xsd:element ref="rhs" />
126 </xsd:sequence>
127 </xsd:complexType>
128 </xsd:element>
129
130 <!-- ***** complex types ***** -->
131 <xsd:complexType name="signatureType">
132 <xsd:sequence>
133 <xsd:element ref="name"/>
134 <xsd:element minOccurs="1" maxOccurs="unbounded" ref="func" />
135 </xsd:sequence>
136 </xsd:complexType>
137
138 <xsd:complexType name="celltypeType">
139 <xsd:sequence>
140 <xsd:choice maxOccurs="unbounded">
141 <xsd:element ref="name"/>
142 <xsd:element maxOccurs="1" ref="composite" />
143 <xsd:element maxOccurs="1" ref="singleton" />
144 <xsd:element maxOccurs="1" ref="active" />
145 <xsd:element maxOccurs="unbounded" ref="attr" />
146 <xsd:element maxOccurs="unbounded" ref="call" />
147 <xsd:element maxOccurs="unbounded" ref="entry" />
148 </xsd:choice>
149 </xsd:sequence>
150 </xsd:complexType>
151
152 <xsd:complexType name="cellType">
153 <xsd:sequence>
154 <xsd:choice maxOccurs="unbounded">
155 <xsd:element ref="name"/>
156 <xsd:element maxOccurs="unbounded" ref="attr_join" />
157 <xsd:element maxOccurs="unbounded" ref="call_join" />
158 </xsd:choice>
159 </xsd:sequence>
160 </xsd:complexType>
161
162 <xsd:complexType name="namespaceType">
163 <xsd:sequence maxOccurs="unbounded" >
164 <xsd:element ref="name"/>
165 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="signature" />
166 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="celltype" />
167 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="namespace" />
168 </xsd:sequence>
169 </xsd:complexType>
170
171 <xsd:complexType name="regionType">
172 <xsd:sequence maxOccurs="unbounded" >
173 <xsd:element ref="name"/>
174 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="cell" />
175 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="import" /> <!-- inner: cell, region only -->
176 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="region" />
177 </xsd:sequence>
178 </xsd:complexType>
179
180 <xsd:complexType name="importType">
181 <xsd:sequence>
182 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="import" />
183 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="signature" />
184 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="celltype" />
185 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="cell" />
186 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="region" />
187 </xsd:sequence>
188 <xsd:attribute name="path" type="xsd:string" use="required" />
189 </xsd:complexType>
190
191</xsd:schema>
Note: See TracBrowser for help on using the repository browser.