root/tags/lgt2211/xml/logtalk.xsd

Revision 1513, 5.5 KB (checked in by pmoura, 4 years ago)

Updated release number to 2.21.1.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?xml version="1.0"?>
2<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
4<xsd:annotation>
5    <xsd:documentation>
6    XML Schema for Logtalk XML documentation files.
7    </xsd:documentation>
8</xsd:annotation>
9 
10<!--
11%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12%
13%  Logtalk - Object oriented extension to Prolog
14%  Release 2.21.1
15%
16%  Copyright (c) 1998-2004 Paulo Moura.  All Rights Reserved.
17%
18%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
19-->
20
21
22<xsd:element name="logtalk" type="logtalk"/>
23
24
25<xsd:complexType name="logtalk">
26    <xsd:sequence>
27        <xsd:element name="entity"      type="entity"/>
28        <xsd:element name="relations"   type="relations"/>
29        <xsd:element name="predicates"  type="predicates"/>
30    </xsd:sequence>
31</xsd:complexType>
32
33
34<xsd:complexType name="entity">
35    <xsd:sequence>
36        <xsd:element name="name"        type="xsd:string"/>
37        <xsd:element name="type"        type="type"/>
38        <xsd:element name="compilation" type="compilation"/>
39        <xsd:element name="comment"     type="xsd:string"   minOccurs="0"/>
40        <xsd:element name="author"      type="xsd:string"   minOccurs="0"/>
41        <xsd:element name="version"     type="xsd:string"   minOccurs="0"/>
42        <xsd:element name="date"        type="xsd:string"   minOccurs="0"/>
43        <xsd:element name="info"        type="info"         minOccurs="0" maxOccurs="unbounded"/>
44    </xsd:sequence>
45</xsd:complexType>
46
47
48<xsd:simpleType name="type">
49    <xsd:restriction base="xsd:string">
50        <xsd:enumeration value="category"/>
51        <xsd:enumeration value="object"/>
52        <xsd:enumeration value="protocol"/>
53    </xsd:restriction>
54</xsd:simpleType>
55
56
57<xsd:simpleType name="compilation">
58    <xsd:restriction base="xsd:string">
59        <xsd:enumeration value="static"/>
60        <xsd:enumeration value="dynamic"/>
61    </xsd:restriction>
62</xsd:simpleType>
63
64
65<xsd:complexType name="info">
66    <xsd:sequence>
67        <xsd:element name="key" type="xsd:string"/>
68        <xsd:element name="value"   type="xsd:string"/>
69    </xsd:sequence>
70</xsd:complexType>
71
72
73<xsd:complexType name="relations">
74    <xsd:sequence>
75        <xsd:element name="implements"      type="relation"     minOccurs="0" maxOccurs="unbounded"/>
76        <xsd:element name="imports"         type="relation"     minOccurs="0" maxOccurs="unbounded"/>
77        <xsd:element name="extends"         type="relation"     minOccurs="0" maxOccurs="unbounded"/>
78        <xsd:element name="instantiates"    type="relation"     minOccurs="0" maxOccurs="unbounded"/>
79        <xsd:element name="specializes"     type="relation"     minOccurs="0" maxOccurs="unbounded"/>
80        <xsd:element name="uses"            type="docrelation"  minOccurs="0" maxOccurs="unbounded"/>
81        <xsd:element name="calls"           type="docrelation"  minOccurs="0" maxOccurs="unbounded"/>
82    </xsd:sequence>
83</xsd:complexType>
84
85
86<xsd:complexType name="relation">
87    <xsd:sequence>
88        <xsd:element name="name"    type="xsd:string"/>
89        <xsd:element name="scope"   type="scope"/>
90        <xsd:element name="file"    type="xsd:string"/>
91    </xsd:sequence>
92</xsd:complexType>
93
94
95<xsd:complexType name="docrelation">
96    <xsd:sequence>
97        <xsd:element name="name"    type="xsd:string"/>
98        <xsd:element name="file"    type="xsd:string"/>
99    </xsd:sequence>
100</xsd:complexType>
101
102
103<xsd:simpleType name="scope">
104    <xsd:restriction base="xsd:string">
105        <xsd:enumeration value="public"/>
106        <xsd:enumeration value="protected"/>
107        <xsd:enumeration value="private"/>
108    </xsd:restriction>
109</xsd:simpleType>
110
111
112<xsd:complexType name="predicates">
113    <xsd:sequence>
114        <xsd:element name="public"      type="public"/>
115        <xsd:element name="protected"   type="protected"/>
116        <xsd:element name="private"     type="private"/>
117    </xsd:sequence>
118</xsd:complexType>
119
120
121<xsd:complexType name="public">
122    <xsd:sequence>
123        <xsd:element name="predicate"   type="predicate"    minOccurs="0" maxOccurs="unbounded"/>
124    </xsd:sequence>
125</xsd:complexType>
126
127
128<xsd:complexType name="protected">
129    <xsd:sequence>
130        <xsd:element name="predicate"   type="predicate"    minOccurs="0" maxOccurs="unbounded"/>
131    </xsd:sequence>
132</xsd:complexType>
133
134
135<xsd:complexType name="private">
136    <xsd:sequence>
137        <xsd:element name="predicate"   type="predicate"    minOccurs="0" maxOccurs="unbounded"/>
138    </xsd:sequence>
139</xsd:complexType>
140
141
142<xsd:complexType name="predicate">
143    <xsd:sequence>
144        <xsd:element name="name"        type="xsd:string"/>
145        <xsd:element name="scope"       type="scope"/>
146        <xsd:element name="compilation" type="compilation"/>
147        <xsd:element name="meta"        type="xsd:string"       minOccurs="0"/>
148        <xsd:element name="mode"        type="mode"             minOccurs="0" maxOccurs="unbounded"/>
149        <xsd:element name="comment"     type="xsd:string"       minOccurs="0"/>
150        <xsd:element name="template"    type="xsd:string"       minOccurs="0" maxOccurs="unbounded"/>
151        <xsd:element name="exceptions"  type="exceptions"       minOccurs="0" maxOccurs="1"/>
152        <xsd:element name="info"        type="info"             minOccurs="0" maxOccurs="1"/>
153    </xsd:sequence>
154</xsd:complexType>
155
156
157<xsd:complexType name="mode">
158    <xsd:sequence>
159        <xsd:element name="template"    type="xsd:string"/>
160        <xsd:element name="solutions"   type="solutions"/>
161    </xsd:sequence>
162</xsd:complexType>
163
164
165<xsd:simpleType name="solutions">
166    <xsd:restriction base="xsd:string">
167        <xsd:enumeration value="zero"/>
168        <xsd:enumeration value="zero_or_one"/>
169        <xsd:enumeration value="zero_or_more"/>
170        <xsd:enumeration value="one"/>
171        <xsd:enumeration value="one_or_more"/>
172        <xsd:enumeration value="error"/>
173    </xsd:restriction>
174</xsd:simpleType>
175
176
177<xsd:complexType name="exceptions">
178    <xsd:sequence>
179        <xsd:element name="exception"   type="exception"    minOccurs="1" maxOccurs="unbounded"/>
180    </xsd:sequence>
181</xsd:complexType>
182
183
184<xsd:complexType name="exception">
185    <xsd:sequence>
186        <xsd:element name="condition"   type="xsd:string"/>
187        <xsd:element name="term"        type="xsd:string"/>
188    </xsd:sequence>
189</xsd:complexType>
190
191</xsd:schema>
Note: See TracBrowser for help on using the browser.