~ubuntu-branches/debian/sid/adabrowse/sid

« back to all changes in this revision

Viewing changes to doc/adabrowse_dtd_2_0.html

  • Committer: Bazaar Package Importer
  • Author(s): Ludovic Brenta
  • Date: 2004-02-14 13:22:40 UTC
  • Revision ID: james.westby@ubuntu.com-20040214132240-cqumhiq1677pkvzo
Tags: upstream-4.0.2
ImportĀ upstreamĀ versionĀ 4.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
2
 
 
3
<HTML>
 
4
 
 
5
<HEAD>
 
6
  <TITLE>AdaBrowse DTD 2.0</TITLE>
 
7
  <META NAME="description" CONTENT="AdaBrowse DTD 2.0">
 
8
  <LINK REL="stylesheet" HREF="gal.css" TYPE="text/css">
 
9
</HEAD>
 
10
 
 
11
<BODY BGCOLOR="#FFFFF4">
 
12
 
 
13
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=5 CLASS="title">
 
14
<TR>
 
15
  <TD>
 
16
        <H1 ALIGN="CENTER">AdaBrowse DTD 2.0</H1>
 
17
  </TD>
 
18
</TR>
 
19
</TABLE>
 
20
 
 
21
<DIV CLASS="sample">
 
22
<PRE>
 
23
 
 
24
&lt;!--
 
25
This file is part of <A HREF="adabrowse_ug.html">AdaBrowse</A>.
 
26
 
 
27
<STRONG>Copyright &copy; 2002-2003 by Thomas Wolf.</STRONG>
 
28
 
 
29
AdaBrowse is free software; you can redistribute it and/or modify it
 
30
under the terms of the  GNU General Public License as published by the
 
31
Free Software  Foundation; either version 2, or (at your option) any
 
32
later version. AdaBrowse is distributed in the hope that it will be
 
33
useful, but <EM>without any warranty</EM>; without even the implied warranty
 
34
of <EM>merchantability or fitness for a particular purpose.</EM> See the GNU
 
35
General Public License for  more details. You should have received a
 
36
copy of the GNU General Public License with this distribution, see file
 
37
"<A HREF="GPL.txt">GPL.txt</A>". If not, write to the
 
38
 
 
39
  Free Software Foundation
 
40
  59 Temple Place - Suite 330
 
41
  Boston, MA 02111-1307
 
42
  USA.
 
43
 
 
44
<STRONG>Author:</STRONG>
 
45
   Thomas Wolf
 
46
 
 
47
<STRONG>Purpose:</STRONG>
 
48
   XML 1.0 Document Type Definition for AdaBrowse XML files.
 
49
 
 
50
<STRONG>Version:</STRONG>
 
51
   AdaBrowse DTD 2.0 (generated by <A HREF="adabrowse_ug.html">AdaBrowse</A> V4.0).
 
52
 
 
53
   Earlier versions:
 
54
      <A HREF="adabrowse_dtd_1_0.html">AdaBrowse DTD 1.0</A> generated by AdaBrowse 3.0 up to 3.3.
 
55
      <A HREF="adabrowse_dtd_2.0.html">AdaBrowse DTD 1.1</A> generated by AdaBrowse 3.4 up to 3.4.2.
 
56
 
 
57
Revision History
 
58
 
 
59
   20-AUG-2002   TW  Initial version.
 
60
   28-AUG-2002   TW  Corrections in cross-references.
 
61
   30-MAY-2003   TW  Added private attributes to UNIT and CHILD elements.
 
62
   07-JUL-2003   TW  Added indices.
 
63
--&gt;
 
64
 
 
65
&lt;!ENTITY % <A NAME="pure">pure</A>   "#PCDATA|<A HREF="#EL_KEYWORD">KEYWORD</A>|<A HREF="#EL_ATTRIBUTE">ATTRIBUTE</A>|<A HREF="#EL_XREF">XREF</A>|<A HREF="#EL_LITERAL">LITERAL</A>" &gt;
 
66
&lt;!ENTITY % <A NAME="inline">inline</A> "%<A HREF="#pure">pure</A>;|<A HREF="#EL_ANCHOR">ANCHOR</A>|<A HREF="#EL_COMMENT">COMMENT</A>|<A HREF="#EL_CODE">CODE</A>" &gt;
 
67
 
 
68
&lt;!ENTITY % <A NAME="lib_no_container">lib_no_container</A>
 
69
   "A_PROCEDURE |
 
70
    A_FUNCTION |
 
71
    A_GENERIC_PROCEDURE |
 
72
    A_GENERIC_FUNCTION |
 
73
    A_PACKAGE_INSTANTIATION|
 
74
    A_PROCEDURE_INSTANTIATION |
 
75
    A_FUNCTION_INSTANTIATION |
 
76
    A_PACKAGE_RENAMING |
 
77
    A_PROCEDURE_RENAMING |
 
78
    A_FUNCTION_RENAMING |
 
79
    A_GENERIC_PACKAGE_RENAMING |
 
80
    A_GENERIC_PROCEDURE_RENAMING |
 
81
    A_GENERIC_FUNCTION_RENAMING" &gt;
 
82
 
 
83
&lt;!ENTITY % <A NAME="lib_container">lib_container</A>
 
84
   "A_PACKAGE |
 
85
    A_GENERIC_PACKAGE |
 
86
    A_GENERIC_SIGNATURE_PACKAGE" &gt;
 
87
 
 
88
&lt;!ENTITY % <A NAME="no_lib_no_container">no_lib_no_container</A>
 
89
   "A_PRAGMA |
 
90
    A_USE_CLAUSE |
 
91
    A_USE_TYPE_CLAUSE |
 
92
    A_TYPE |
 
93
    A_SUBTYPE |
 
94
    A_VARIABLE |
 
95
    A_CONSTANT |
 
96
    A_DEFERRED_CONSTANT |
 
97
    AN_OBJECT_RENAMING |
 
98
    AN_EXCEPTION_RENAMING |
 
99
    AN_ENTRY |
 
100
    A_PROTECTED_PROCEDURE |
 
101
    A_PROTECTED_FUNCTION |
 
102
    AN_EXCEPTION" &gt;
 
103
 
 
104
&lt;!ENTITY % <A NAME="no_lib_container">no_lib_container</A>
 
105
   "A_TASK_TYPE |
 
106
    A_PROTECTED_TYPE |
 
107
    A_TASK |
 
108
    A_PROTECTED_OBJECT" &gt;
 
109
 
 
110
&lt;!ENTITY % <A NAME="boolean">boolean</A>
 
111
   "FALSE | TRUE" &gt;
 
112
 
 
113
&lt;!ENTITY % <A NAME="lib">lib</A> "%<A HREF="#lib_no_container">lib_no_container</A>; | %<A HREF="#lib_container">lib_container</A>;" &gt;
 
114
 
 
115
&lt;!ENTITY % <A NAME="container">container</A> "%<A HREF="#lib_container">lib_container</A>; | %<A HREF="#no_lib_container">no_lib_container</A>;" &gt;
 
116
 
 
117
&lt;!ENTITY % <A NAME="no_container">no_container</A> "%<A HREF="#lib_no_container">lib_no_container</A>; | %<A HREF="#no_lib_no_container">no_lib_no_container</A>; | A_TASK_TYPE | A_TASK" &gt;
 
118
&lt;!-- Tasks and task types can also appear as items. --&gt;
 
119
 
 
120
&lt;!-- Inline elements --&gt;
 
121
 
 
122
&lt;!ELEMENT <A NAME="EL_KEYWORD">KEYWORD</A> (#PCDATA) &gt;
 
123
 
 
124
&lt;!ELEMENT <A NAME="EL_ATTRIBUTE">ATTRIBUTE</A> (#PCDATA) &gt;
 
125
 
 
126
&lt;!ELEMENT <A NAME="EL_LITERAL">LITERAL</A> (#PCDATA) &gt;
 
127
 
 
128
&lt;!ELEMENT <A NAME="EL_CODE">CODE</A> (%<A HREF="#inline">inline</A>;)* &gt;
 
129
 
 
130
&lt;!ELEMENT <A NAME="EL_XREF">XREF</A> (#PCDATA|<A HREF="#EL_LITERAL">LITERAL</A>|<A HREF="#EL_KEYWORD">KEYWORD</A>)* &gt;
 
131
&lt;!-- Actually, I'd like to specify that an XREF may contain either
 
132
     PCDATA, or a LITERAL, or a KEYWORD. It cannot contain PCDATA with
 
133
     interspersed LITERALs and KEYWORDs (which is what the above spec
 
134
     really says). However, there is *no* way in XML 1.0 to specify this!
 
135
 
 
136
     Literals and keywords are allowed within an XREF because of operators
 
137
     such as "&" or "or". --&gt;
 
138
 
 
139
&lt;!ATTLIST <A HREF="#EL_XREF">XREF</A>
 
140
          UNIT     CDATA       #REQUIRED
 
141
          POS      CDATA       #REQUIRED
 
142
          IS_TOP   (%<A HREF="#boolean">boolean</A>;) "FALSE"
 
143
          IS_LOCAL (%<A HREF="#boolean">boolean</A>;) "FALSE"&gt;
 
144
&lt;!-- XREFs always contain the Unit, even if the cross-reference is local.
 
145
     Local cross-references have IS_LOCAL="TRUE". Cross-references to
 
146
     other compilation UNITs have IS_TOP="TRUE". --&gt;
 
147
 
 
148
&lt;!ELEMENT <A NAME="EL_ANCHOR">ANCHOR</A> (%<A HREF="#pure">pure</A>;)* &gt;
 
149
&lt;!ATTLIST <A HREF="#EL_ANCHOR">ANCHOR</A>
 
150
          UNIT   CDATA       #REQUIRED
 
151
          POS    CDATA       #REQUIRED
 
152
          IS_TOP (%<A HREF="#boolean">boolean</A>;) "FALSE"&gt;
 
153
&lt;!-- ANCHORs always are local, so Unit always will equal the Name of the
 
154
     enclosing compilation UNIT. It is still explicitly repeated in each
 
155
     anchor to facilitate processing: there's no need to go look up the
 
156
     enclosing UNIT's name. Is_Top is TRUE only for the anchor on that
 
157
     compilation unit's name. --&gt;
 
158
 
 
159
&lt;!-- Note: I briefly considered using attribute types ID and IDREF for
 
160
     ANCHORS and XREFs, respectively. However, that wouldn't have worked,
 
161
     for any IDREF must correspond to some ID in the XML; but our XML may
 
162
     contain references to units in other files. --&gt;
 
163
 
 
164
&lt;!ELEMENT <A NAME="EL_COMMENT">COMMENT</A> (%<A HREF="#pure">pure</A>;|<A HREF="#EL_ANCHOR">ANCHOR</A>|<A HREF="#EL_CODE">CODE</A>)* &gt;
 
165
&lt;!-- Comments cannot be nested --&gt;
 
166
 
 
167
&lt;!-- Block elements --&gt;
 
168
 
 
169
&lt;!ELEMENT <A NAME="EL_UNIT">UNIT</A> (<A HREF="#EL_DEPENDENCIES">DEPENDENCIES</A>?, <A HREF="#EL_DESCRIPTION">DESCRIPTION</A>?, (<A HREF="#EL_CONTAINER">CONTAINER</A>|<A HREF="#EL_ITEM">ITEM</A>)) &gt;
 
170
&lt;!ATTLIST <A HREF="#EL_UNIT">UNIT</A>
 
171
          NAME    CDATA       #REQUIRED
 
172
          KIND    (%<A HREF="#lib">lib</A>;)     #REQUIRED
 
173
          PRIVATE (%<A HREF="#boolean">boolean</A>;) "FALSE"
 
174
          POS     CDATA       #IMPLIED&gt;
 
175
&lt;!-- Name and Kind of a UNIT can be used to generate indices. Pos can be
 
176
     used for cross-reference purposes; it is the position on the unit's
 
177
     CONTAINER's or ITEM's defining name. PRIVATE is "TRUE" if it's a
 
178
     private compilation unit. --&gt;
 
179
 
 
180
&lt;!ELEMENT <A NAME="EL_ITEM">ITEM</A> (<A HREF="#EL_SNIPPET">SNIPPET</A>, <A HREF="#EL_DESCRIPTION">DESCRIPTION</A>?) &gt;
 
181
&lt;!ATTLIST <A HREF="#EL_ITEM">ITEM</A>
 
182
          NAME  CDATA            #IMPLIED
 
183
          KIND  (%<A HREF="#no_container">no_container</A>;) #IMPLIED
 
184
          UNIT  CDATA            #IMPLIED
 
185
          POS   CDATA            #IMPLIED&gt;
 
186
&lt;!-- Name and Kind of an Item can be used to generate indices.  Unit and
 
187
     Pos can be used for cross-reference purposes; it is the position on
 
188
     the item's defining name. --&gt;
 
189
 
 
190
&lt;!ELEMENT <A NAME="EL_SNIPPET">SNIPPET</A> (<A HREF="#EL_LINE">LINE</A>)+ &gt;
 
191
&lt;!-- Used for code snippets. Implies &lt;CODE&gt; --&gt;
 
192
 
 
193
&lt;!ELEMENT <A NAME="EL_LINE">LINE</A>    (%<A HREF="#inline">inline</A>;)* &gt;
 
194
 
 
195
&lt;!ELEMENT <A NAME="EL_DESCRIPTION">DESCRIPTION</A> (<A HREF="#EL_BLOCK">BLOCK</A>)+ &gt;
 
196
&lt;!ELEMENT <A NAME="EL_BLOCK">BLOCK</A>       (<A HREF="#EL_LINE">LINE</A>)+ &gt;
 
197
 
 
198
&lt;!ELEMENT <A NAME="EL_DEPENDENCIES">DEPENDENCIES</A> (<A HREF="#EL_SNIPPET">SNIPPET</A>, <A HREF="#EL_DESCRIPTION">DESCRIPTION</A>?) &gt;
 
199
 
 
200
&lt;!ELEMENT <A NAME="EL_CONTAINER">CONTAINER</A>    (<A HREF="#EL_HEADER">HEADER</A>, <A HREF="#EL_CONTENT">CONTENT</A>?, <A HREF="#EL_FOOTER">FOOTER</A>) &gt;
 
201
&lt;!ATTLIST <A HREF="#EL_CONTAINER">CONTAINER</A>
 
202
          NAME  CDATA         #IMPLIED
 
203
          KIND  (%<A HREF="#container">container</A>;) #IMPLIED
 
204
          UNIT  CDATA         #IMPLIED
 
205
          POS   CDATA         #IMPLIED&gt;
 
206
&lt;!-- Name and Kind of a CONTAINER can be used to generate indices. Unit and
 
207
     Pos can be used for cross-reference purposes; it is the position on the
 
208
     container's defining name. --&gt;
 
209
 
 
210
&lt;!ELEMENT <A NAME="EL_HEADER">HEADER</A>  (<A HREF="#EL_LINE">LINE</A>)* &gt;
 
211
 
 
212
&lt;!ELEMENT <A NAME="EL_FOOTER">FOOTER</A>  (<A HREF="#EL_LINE">LINE</A>)* &gt;
 
213
 
 
214
&lt;!ELEMENT <A NAME="EL_CONTENT">CONTENT</A>  (<A HREF="#EL_TOP_ITEM">TOP_ITEM</A>?, <A HREF="#EL_CHILDREN">CHILDREN</A>?, <A HREF="#EL_EXCEPTIONS">EXCEPTIONS</A>?, <A HREF="#EL_TYPE_SUMMARY">TYPE_SUMMARY</A>?,
 
215
                    <A HREF="#EL_CONSTANTS">CONSTANTS</A>?, <A HREF="#EL_VARIABLES">VARIABLES</A>?, <A HREF="#EL_OTHERS">OTHERS</A>?, <A HREF="#EL_PRIVATE">PRIVATE</A>?) &gt;
 
216
 
 
217
&lt;!ELEMENT <A NAME="EL_TOP_ITEM">TOP_ITEM</A> (<A HREF="#EL_SNIPPET">SNIPPET</A>?, <A HREF="#EL_DESCRIPTION">DESCRIPTION</A>?) &gt;
 
218
 
 
219
&lt;!ELEMENT <A NAME="EL_CHILDREN">CHILDREN</A> (<A HREF="#EL_CHILD">CHILD</A>)+ &gt;
 
220
 
 
221
&lt;!ELEMENT <A NAME="EL_CHILD">CHILD</A> (#PCDATA|<A HREF="#EL_XREF">XREF</A>)* &gt;
 
222
&lt;!-- Actually, I'd like to specify that a CHILD may contain either
 
223
     PCDATA, or an XREF. It cannot contain PCDATA with interspersed XREFs
 
224
     (which is what the above spec really says). However, there is *no* way
 
225
     in XML 1.0 to specify this! --&gt;
 
226
 
 
227
&lt;!ATTLIST <A HREF="#EL_CHILD">CHILD</A>
 
228
          NAME    CDATA       #IMPLIED
 
229
          KIND    (%<A HREF="#lib">lib</A>;)     #IMPLIED
 
230
          PRIVATE (%<A HREF="#boolean">boolean</A>;) "FALSE"&gt;
 
231
 
 
232
&lt;!ELEMENT <A NAME="EL_PRIVATE">PRIVATE</A> EMPTY &gt;
 
233
 
 
234
&lt;!ELEMENT <A NAME="EL_EXCEPTIONS">EXCEPTIONS</A> (<A HREF="#EL_EXCEPTION">EXCEPTION</A>)+ &gt;
 
235
 
 
236
&lt;!ELEMENT <A NAME="EL_EXCEPTION">EXCEPTION</A> ((<A HREF="#EL_EXCEPTION_NAME">EXCEPTION_NAME</A>)+, <A HREF="#EL_EXCEPTION_RENAME">EXCEPTION_RENAME</A>?, <A HREF="#EL_ULTIMATE_EXCEPTION">ULTIMATE_EXCEPTION</A>?, <A HREF="#EL_DESCRIPTION">DESCRIPTION</A>?) &gt;
 
237
 
 
238
&lt;!ELEMENT <A NAME="EL_EXCEPTION_NAME">EXCEPTION_NAME</A> (#PCDATA|<A HREF="#EL_ANCHOR">ANCHOR</A>)* &gt;
 
239
&lt;!-- Actually, I'd like to specify that an EXCEPTION_NAME may contain either
 
240
     PCDATA, or an ANCHOR. It cannot contain PCDATA with interspersed ANCHORDs
 
241
     (which is what the above spec really says). However, there is *no* way in
 
242
     XML 1.0 to specify this! --&gt;
 
243
 
 
244
&lt;!ELEMENT <A NAME="EL_EXCEPTION_RENAME">EXCEPTION_RENAME</A> (%<A HREF="#inline">inline</A>;)*&gt;
 
245
 
 
246
&lt;!ELEMENT <A NAME="EL_ULTIMATE_EXCEPTION">ULTIMATE_EXCEPTION</A> (%<A HREF="#inline">inline</A>;)*&gt;
 
247
 
 
248
&lt;!ELEMENT <A NAME="EL_OTHERS">OTHERS</A> (<A HREF="#EL_CONTAINER">CONTAINER</A>|<A HREF="#EL_ITEM">ITEM</A>|<A HREF="#EL_PRIVATE">PRIVATE</A>)+ &gt;
 
249
 
 
250
&lt;!ELEMENT <A NAME="EL_CONSTANTS">CONSTANTS</A> (<A HREF="#EL_ITEM">ITEM</A>)+ &gt;
 
251
 
 
252
&lt;!ELEMENT <A NAME="EL_VARIABLES">VARIABLES</A> (<A HREF="#EL_ITEM">ITEM</A>)+ &gt;
 
253
 
 
254
&lt;!ELEMENT <A NAME="EL_TYPE_SUMMARY">TYPE_SUMMARY</A> (<A HREF="#EL_TYPE">TYPE</A>)+ &gt;
 
255
 
 
256
&lt;!ELEMENT <A NAME="EL_TYPE">TYPE</A> (<A HREF="#EL_TYPE_NAME">TYPE_NAME</A>, <A HREF="#EL_TYPE_KIND">TYPE_KIND</A>?, <A HREF="#EL_PARENT_TYPE">PARENT_TYPE</A>?, <A HREF="#EL_OPERATIONS">OPERATIONS</A>?) &gt;
 
257
 
 
258
&lt;!ELEMENT <A NAME="EL_TYPE_NAME">TYPE_NAME</A> (#PCDATA|<A HREF="#EL_XREF">XREF</A>)* &gt;
 
259
&lt;!-- Actually, I'd like to specify that a TYPE_NAME may contain either
 
260
     PCDATA, or an XREF. It cannot contain PCDATA with interspersed XREFs
 
261
     (which is what the above spec really says). However, there is *no* way
 
262
     in XML 1.0 to specify this! --&gt;
 
263
 
 
264
&lt;!ELEMENT <A NAME="EL_TYPE_KIND">TYPE_KIND</A> (#PCDATA)&gt;
 
265
 
 
266
&lt;!ELEMENT <A NAME="EL_PARENT_TYPE">PARENT_TYPE</A> (#PCDATA|<A HREF="#EL_XREF">XREF</A>)* &gt;
 
267
&lt;!-- Actually, I'd like to specify that a PARENT_TYPE may contain either
 
268
     PCDATA, or an XREF. It cannot contain PCDATA with interspersed XREFs
 
269
     (which is what the above spec really says). However, there is *no* way
 
270
     in XML 1.0 to specify this! --&gt;
 
271
 
 
272
&lt;!ELEMENT <A NAME="EL_OPERATIONS">OPERATIONS</A> (<A HREF="#EL_OPLIST">OPLIST</A>)+ &gt;
 
273
 
 
274
&lt;!ELEMENT <A NAME="EL_OPLIST">OPLIST</A> (<A HREF="#EL_XREF">XREF</A>)+ &gt;
 
275
&lt;!ATTLIST <A HREF="#EL_OPLIST">OPLIST</A>
 
276
          KIND (OVERRIDDEN|OWN|INHERITED) #REQUIRED&gt;
 
277
 
 
278
&lt;!-- Indices. New in V2.0 --&gt;
 
279
 
 
280
&lt;!ELEMENT <A NAME="EL_INDEX_ITEM">INDEX_ITEM</A> (#PCDATA|<A HREF="#EL_XREF">XREF</A>)* &gt;
 
281
&lt;!-- This time, the definition is actually correct. --&gt;
 
282
 
 
283
&lt;!ELEMENT <A NAME="EL_INDEX_SECTION">INDEX_SECTION</A> (<A HREF="#EL_INDEX_ITEM">INDEX_ITEM</A>)+ &gt;
 
284
&lt;!ATTLIST <A HREF="#EL_INDEX_SECTION">INDEX_SECTION</A>
 
285
          NAME  CDATA #REQUIRED&gt;
 
286
&lt;!-- The name is the single common starting character of all contained
 
287
     INDEX_ITEMs --&gt;
 
288
 
 
289
&lt;!ELEMENT <A NAME="EL_INDEX">INDEX</A> ((<A HREF="#EL_INDEX_SECTION">INDEX_SECTION</A>)+|(<A HREF="#EL_INDEX_ITEM">INDEX_ITEM</A>)*) &gt;
 
290
&lt;!ATTLIST <A HREF="#EL_INDEX">INDEX</A>
 
291
          NAME  CDATA #REQUIRED
 
292
          TITLE CDATA #REQUIRED&gt;
 
293
 
 
294
&lt;!-- Document root --&gt;
 
295
 
 
296
&lt;!ELEMENT <A NAME="EL_ADABROWSE">ADABROWSE</A> ((<A HREF="#EL_UNIT">UNIT</A>)+, (<A HREF="#EL_INDEX">INDEX</A>)*) &gt;
 
297
 
 
298
</PRE>
 
299
</DIV>
 
300
 
 
301
<HR>
 
302
<!--================================================================-->
 
303
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 WIDTH="100%" CLASS="footer">
 
304
<TR>
 
305
  <TD WIDTH="100%" ALIGN="left" NOWRAP>
 
306
       <FONT SIZE=-1>Copyright &copy; 2002-2003 by Thomas Wolf. All rights
 
307
       reserved.
 
308
       </FONT>
 
309
       <BR>
 
310
       <FONT SIZE=-1>TW, Jul 07, 2003</FONT>
 
311
  </TD>
 
312
</TR>
 
313
</TABLE>
 
314
 
 
315
</BODY>
 
316
</HTML>