root/tags/lgt2311/xml/logtalk.xsd

Revision 4000, 7.5 KB (checked in by pmoura, 12 months ago)

Updated copyright string.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<xsd:schema
3    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4    version="1.3">
5
6<xsd:annotation>
7    <xsd:documentation>
8    XML Schema for Logtalk XML documentation files.
9    </xsd:documentation>
10</xsd:annotation>
11 
12<!--
13%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14%
15%  Logtalk - Open source object-oriented logic programming language
16%  Release 2.31.1
17%
18%  Copyright (c) 1998-2008 Paulo Moura.  All Rights Reserved.
19%
20%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
21-->
22
23
24<xsd:element name="logtalk" type="logtalk"/>
25
26
27<xsd:complexType name="logtalk">
28    <xsd:sequence>
29        <xsd:element name="entity"      type="entity"/>
30        <xsd:element name="relations"   type="relations"/>
31        <xsd:element name="predicates"  type="predicates"/>
32        <xsd:element name="remarks"     type="remarks"/>
33    </xsd:sequence>
34</xsd:complexType>
35
36
37<xsd:complexType name="entity">
38    <xsd:sequence>
39        <xsd:element name="name"        type="xsd:string"/>
40        <xsd:element name="type"        type="type"/>
41        <xsd:element name="compilation" type="compilation"/>
42        <xsd:element name="comment"     type="xsd:string"   minOccurs="0"/>
43        <xsd:choice minOccurs="0">
44            <xsd:element name="parnames"    type="xsd:string"/>
45            <xsd:element name="parameters"  type="parameters"/>
46        </xsd:choice>
47        <xsd:element name="author"      type="xsd:string"   minOccurs="0"/>
48        <xsd:element name="version"     type="xsd:string"   minOccurs="0"/>
49        <xsd:element name="date"        type="xsd:string"   minOccurs="0"/>
50        <xsd:element name="copyright"   type="xsd:string"   minOccurs="0"/>
51        <xsd:element name="license"     type="xsd:string"   minOccurs="0"/>
52        <xsd:element name="info"        type="info"         minOccurs="0" maxOccurs="unbounded"/>
53    </xsd:sequence>
54</xsd:complexType>
55
56
57<xsd:simpleType name="type">
58    <xsd:restriction base="xsd:string">
59        <xsd:enumeration value="category"/>
60        <xsd:enumeration value="object"/>
61        <xsd:enumeration value="protocol"/>
62    </xsd:restriction>
63</xsd:simpleType>
64
65
66<xsd:simpleType name="compilation">
67    <xsd:restriction base="xsd:string">
68        <xsd:enumeration value="static"/>
69        <xsd:enumeration value="dynamic"/>
70    </xsd:restriction>
71</xsd:simpleType>
72
73
74<xsd:complexType name="parameters">
75    <xsd:sequence>
76        <xsd:element name="parameter"   type="parameter"    maxOccurs="unbounded"/>
77    </xsd:sequence>
78</xsd:complexType>
79
80
81<xsd:complexType name="parameter">
82    <xsd:sequence>
83        <xsd:element name="name"        type="xsd:string"/>
84        <xsd:element name="description" type="xsd:string"/>
85    </xsd:sequence>
86</xsd:complexType>
87
88
89<xsd:complexType name="info">
90    <xsd:sequence>
91        <xsd:element name="key"     type="xsd:string"/>
92        <xsd:element name="value"   type="xsd:string"/>
93    </xsd:sequence>
94</xsd:complexType>
95
96
97<xsd:complexType name="relations">
98    <xsd:sequence>
99        <xsd:element name="implements"      type="relation"     minOccurs="0" maxOccurs="unbounded"/>
100        <xsd:element name="imports"         type="relation"     minOccurs="0" maxOccurs="unbounded"/>
101        <xsd:element name="extends"         type="relation"     minOccurs="0" maxOccurs="unbounded"/>
102        <xsd:element name="instantiates"    type="relation"     minOccurs="0" maxOccurs="unbounded"/>
103        <xsd:element name="specializes"     type="relation"     minOccurs="0" maxOccurs="unbounded"/>
104        <xsd:element name="uses"            type="docrelation"  minOccurs="0" maxOccurs="unbounded"/>
105        <xsd:element name="calls"           type="docrelation"  minOccurs="0" maxOccurs="unbounded"/>
106    </xsd:sequence>
107</xsd:complexType>
108
109
110<xsd:complexType name="relation">
111    <xsd:sequence>
112        <xsd:element name="name"    type="xsd:string"/>
113        <xsd:element name="scope"   type="scope"/>
114        <xsd:element name="file"    type="xsd:string"/>
115    </xsd:sequence>
116</xsd:complexType>
117
118
119<xsd:complexType name="docrelation">
120    <xsd:sequence>
121        <xsd:element name="name"    type="xsd:string"/>
122        <xsd:element name="file"    type="xsd:string"/>
123    </xsd:sequence>
124</xsd:complexType>
125
126
127<xsd:simpleType name="scope">
128    <xsd:restriction base="xsd:string">
129        <xsd:enumeration value="public"/>
130        <xsd:enumeration value="protected"/>
131        <xsd:enumeration value="private"/>
132    </xsd:restriction>
133</xsd:simpleType>
134
135
136<xsd:complexType name="predicates">
137    <xsd:sequence>
138        <xsd:element name="public"      type="public"/>
139        <xsd:element name="protected"   type="protected"/>
140        <xsd:element name="private"     type="private"/>
141    </xsd:sequence>
142</xsd:complexType>
143
144
145<xsd:complexType name="public">
146    <xsd:sequence>
147        <xsd:element name="predicate"   type="predicate"    minOccurs="0" maxOccurs="unbounded"/>
148    </xsd:sequence>
149</xsd:complexType>
150
151
152<xsd:complexType name="protected">
153    <xsd:sequence>
154        <xsd:element name="predicate"   type="predicate"    minOccurs="0" maxOccurs="unbounded"/>
155    </xsd:sequence>
156</xsd:complexType>
157
158
159<xsd:complexType name="private">
160    <xsd:sequence>
161        <xsd:element name="predicate"   type="predicate"    minOccurs="0" maxOccurs="unbounded"/>
162    </xsd:sequence>
163</xsd:complexType>
164
165
166<xsd:complexType name="predicate">
167    <xsd:sequence>
168        <xsd:element name="name"        type="xsd:string"/>
169        <xsd:element name="scope"       type="scope"/>
170        <xsd:element name="compilation" type="compilation"/>
171        <xsd:element name="meta"        type="xsd:string"       minOccurs="0"/>
172        <xsd:element name="mode"        type="mode"             minOccurs="0" maxOccurs="unbounded"/>
173        <xsd:element name="comment"     type="xsd:string"       minOccurs="0"/>
174        <xsd:element name="template"    type="xsd:string"       minOccurs="0" maxOccurs="unbounded"/>
175        <xsd:choice minOccurs="0">
176            <xsd:element name="argnames"    type="xsd:string"/>
177            <xsd:element name="arguments"   type="arguments"/>
178        </xsd:choice>
179        <xsd:element name="exceptions"  type="exceptions"       minOccurs="0"/>
180        <xsd:element name="info"        type="info"             minOccurs="0"/>
181        <xsd:element name="examples"    type="examples"         minOccurs="0"/>
182    </xsd:sequence>
183</xsd:complexType>
184
185
186<xsd:complexType name="mode">
187    <xsd:sequence>
188        <xsd:element name="template"    type="xsd:string"/>
189        <xsd:element name="solutions"   type="solutions"/>
190    </xsd:sequence>
191</xsd:complexType>
192
193
194<xsd:simpleType name="solutions">
195    <xsd:restriction base="xsd:string">
196        <xsd:enumeration value="zero"/>
197        <xsd:enumeration value="zero_or_one"/>
198        <xsd:enumeration value="zero_or_more"/>
199        <xsd:enumeration value="one"/>
200        <xsd:enumeration value="one_or_more"/>
201        <xsd:enumeration value="error"/>
202    </xsd:restriction>
203</xsd:simpleType>
204
205
206<xsd:complexType name="arguments">
207    <xsd:sequence>
208        <xsd:element name="argument"    type="argument" maxOccurs="unbounded"/>
209    </xsd:sequence>
210</xsd:complexType>
211
212
213<xsd:complexType name="argument">
214    <xsd:sequence>
215        <xsd:element name="name"        type="xsd:string"/>
216        <xsd:element name="description" type="xsd:string"/>
217    </xsd:sequence>
218</xsd:complexType>
219
220
221<xsd:complexType name="exceptions">
222    <xsd:sequence>
223        <xsd:element name="exception"   type="exception"    maxOccurs="unbounded"/>
224    </xsd:sequence>
225</xsd:complexType>
226
227
228<xsd:complexType name="exception">
229    <xsd:sequence>
230        <xsd:element name="condition"   type="xsd:string"/>
231        <xsd:element name="term"        type="xsd:string"/>
232    </xsd:sequence>
233</xsd:complexType>
234
235
236<xsd:complexType name="examples">
237    <xsd:sequence>
238        <xsd:element name="example" type="example"  minOccurs="0"   maxOccurs="unbounded"/>
239    </xsd:sequence>
240</xsd:complexType>
241
242
243<xsd:complexType name="example">
244    <xsd:sequence>
245        <xsd:element name="description" type="xsd:string"/>
246        <xsd:element name="call"        type="xsd:string"/>
247        <xsd:element name="bindings"    type="xsd:string"/>
248    </xsd:sequence>
249</xsd:complexType>
250
251
252<xsd:complexType name="remarks">
253    <xsd:sequence>
254        <xsd:element name="remark"  type="remark"   minOccurs="0"   maxOccurs="unbounded"/>
255    </xsd:sequence>
256</xsd:complexType>
257
258
259<xsd:complexType name="remark">
260    <xsd:sequence>
261        <xsd:element name="topic"   type="xsd:string"/>
262        <xsd:element name="text"    type="xsd:string"/>
263    </xsd:sequence>
264</xsd:complexType>
265
266
267</xsd:schema>
Note: See TracBrowser for help on using the browser.