root/tags/lgt293/xml/logtalk.xsd

Revision 48, 5.1 KB (checked in by pmoura, 7 years ago)

Changed version number to 2.9.3.

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