File: node222.html

package info (click to toggle)
babel 0.10.2-1
  • links: PTS
  • area: contrib
  • in suites: sarge
  • size: 43,932 kB
  • ctags: 29,707
  • sloc: java: 74,695; ansic: 73,142; cpp: 40,649; sh: 18,411; f90: 10,062; fortran: 6,727; python: 6,406; makefile: 3,866; xml: 118; perl: 48
file content (333 lines) | stat: -rw-r--r-- 12,175 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>SIDL Document Type Declaration (DTD)</TITLE>
<META NAME="description" CONTENT="SIDL Document Type Declaration (DTD)">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="users_guide.css">

<LINK REL="previous" HREF="node221.html">
<LINK REL="up" HREF="node220.html">
<LINK REL="next" HREF="node223.html">
</HEAD>

<BODY >

<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html4122"
  HREF="node223.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html4116"
  HREF="node220.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html4112"
  HREF="node221.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html4118"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html4120"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html4123"
  HREF="node223.html">Glossary</A>
<B> Up:</B> <A NAME="tex2html4117"
  HREF="node220.html">Extensible Markup Language (XML)</A>
<B> Previous:</B> <A NAME="tex2html4113"
  HREF="node221.html">Introduction</A>
 &nbsp; <B>  <A NAME="tex2html4119"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html4121"
  HREF="node317.html">Index</A></B> 
<BR>
<BR></DIV>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION05320000000000000000"></A><A NAME="s:sidl_dtd"></A><A NAME="12261"></A>
<BR>
SIDL Document Type Declaration (DTD)
</H1>
Babel relies on several DTDs to describe and enforce the layout of conformant 
XML files.  The DTD of primary importance for Babel is <TT>SIDL.dtd</TT> because 
it describes the requisite tags and attributes corresponding to SIDL files.  
The contents of the DTD are given below.

<P>
<BR>
<PRE  CLASS="verbatim">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!--
   File:        sidl.dtd
   Package:     sidl XML
   Release:     $Name:  $
   Revision:    @(#) $Id: node222.html 4460 2005-03-23 19:12:04Z epperly $
   Description: DTD for the sidl XML database representation

   Copyright (c) 2000-2003, The Regents of the University of Calfornia.
   Produced at the Lawrence Livermore National Laboratory.
   Written by the Components Team &lt;components@llnl.gov&gt;
   UCRL-CODE-2002-054
   All rights reserved.
   
   This file is part of Babel. For more information, see
   http://www.llnl.gov/CASC/components/. Please read the COPYRIGHT file
   for Our Notice and the LICENSE file for the GNU Lesser General Public
   License.
   
   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License (as published by
   the Free Software Foundation) version 2.1 dated February 1999.
   
   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
   conditions of the GNU Lesser General Public License for more details.
   
   You should have recieved a copy of the GNU Lesser General Public License
   along with this program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

   This file describes the DTD for a sidl symbol represented in XML format.
   The root element is &lt;Symbol&gt;.

   PUBLIC ID "-//CCA//sidl Symbol DTD v1.1//EN"
--&gt;

&lt;!--
   Symbol Element

   Symbol is the root element for all sidl XML schema.  The Symbol contains a
   SymbolName (fully qualified symbol name and version), Metadata, Comment,
   and one of Class, Enumeration, Interface, or Package.
--&gt;

&lt;!ENTITY % symbols "Class | Enumeration | Interface | Package"&gt;
&lt;!ELEMENT Symbol (SymbolName, Metadata, Comment, (%symbols;))&gt;

&lt;!--
   SymbolName Element

   A SymbolName represents a fully qualified symbol name along with its
   version.  It is of the form:

   &lt;SymbolName name="sidl.SomeName" version="1.3.4"/&gt;
--&gt;

&lt;!ELEMENT SymbolName EMPTY&gt;
&lt;!ATTLIST SymbolName name     CDATA #REQUIRED
                     version  CDATA #REQUIRED&gt;

&lt;!--
   Metadata Element

   The Metadata element contains any useful descriptive data about the symbol.
   The time and date of creation is required, but all other information is
   optional.  The date and time must follow the ISO-8601 standard.  The
   entries in the metadata element are (key,value) pairs.
--&gt;

&lt;!ELEMENT Metadata (MetadataEntry)*&gt;
&lt;!ATTLIST Metadata date CDATA #REQUIRED&gt;

&lt;!ELEMENT MetadataEntry EMPTY&gt;
&lt;!ATTLIST MetadataEntry key   CDATA #REQUIRED
                        value CDATA #REQUIRED&gt;

&lt;!--
   Comment Element

   Comment elements support a very simple HTML description using the
   html-lite.dtd HTML subset.  See html-lite.dtd for more details.
--&gt;

&lt;!ENTITY % html-lite PUBLIC "-//CCA//sidl HTML DTD v1.0//EN" "html-lite.dtd"&gt;
%html-lite;

&lt;!ELEMENT Comment %html-block;&gt;

&lt;!--
   Package Element

   The Package element contains the symbols that exist within a package.
   In the PackageSymbol element, note that the name is relative to the
   package (thus, sidl.Class is represented by Class within package sidl).

   A true final attribute indicates that this package is not reentrant. It
   defaults to true to handle old XML files. In previous versions, all
   packages were non-reentrant.
--&gt;

&lt;!ELEMENT Package (PackageSymbol)*&gt;
&lt;!ATTLIST Package final (false | true) "true"&gt;

&lt;!--
If the version attribute isn't provided, the symbol has the same version
as the containing package. This is to provide backward compatibility with
previous released versions of the DTD. Someday the version may become
REQUIRED, so always include it.
--&gt;
&lt;!ELEMENT PackageSymbol EMPTY&gt;
&lt;!ATTLIST PackageSymbol name CDATA                               #REQUIRED
                        type (class | enum| interface | package) #REQUIRED
                        version CDATA                            #IMPLIED&gt;

&lt;!--
   Enumeration Element

   The Enumeration element consists of a collection of Enumerator elements
   that describe a relative symbol name, its integer value, and whether the
   value was assigned by the parser or in the sidl input file.
--&gt;

&lt;!ELEMENT Enumeration (Enumerator)+&gt;

&lt;!ELEMENT Enumerator (Comment)?&gt;
&lt;!ATTLIST Enumerator name     CDATA          #REQUIRED
                     value    CDATA          #REQUIRED
                     fromuser (false | true) #REQUIRED&gt;

&lt;!--
   Class Element

   The Class element consists of a class extended by this class, a block
   of interfaces implemented by this class, and a block of methods declared
   or defined by this class.  The methods block does not include methods
   declared or defined by parents.  The elements AllParentInterfaces and
   AllParentClasses include all parents of this class.
--&gt;

&lt;!ELEMENT Class (Extends, ImplementsBlock,
                 AllParentClasses, AllParentInterfaces,
                 MethodsBlock)&gt;
&lt;!ATTLIST Class abstract (false | true) #REQUIRED&gt;

&lt;!ELEMENT Extends (SymbolName)?&gt;

&lt;!ELEMENT ImplementsBlock (SymbolName)*&gt;

&lt;!--
   Interface Element

   The Interface element constsis of a block of interfaces that this
   interface extends (element ExtendsBlock) and a block of methods
   declared by this interface (element MethodsBlock).  The methods block
   element contains only those method declared or re-declared by this
   interface and does not include all those methods defined by the
   parent interfaces.  The AllParentInterfaces element block includes
   all parent interfaces that this interface extends.
--&gt;

&lt;!ELEMENT Interface (ExtendsBlock, AllParentInterfaces, MethodsBlock)&gt;

&lt;!ELEMENT ExtendsBlock (SymbolName)*&gt;

&lt;!--
   AllParentClasses and AllParentInterfaces Elements

   These elements define a collection of zero or more SymbolName elements
   that are the parent classes and parent interfaces of a class or interface.
--&gt;

&lt;!ELEMENT AllParentClasses (SymbolName)*&gt;

&lt;!ELEMENT AllParentInterfaces (SymbolName)*&gt;

&lt;!--
   MethodsBlock Element

   The MethodsBlock element defines a collection of zero or more methods
   that belong to a sidl interface or class.
--&gt;

&lt;!ELEMENT MethodsBlock (Method)*&gt;

&lt;!--
   Method Element

   The Method element defines a single method in a class or interface.
   The method is defined by a return type (the Type element), a return
   mode (the copy attribute of Method), a method name, an argument list,
   a throws clause, definition mode modifiers, and communication mode
   modifiers.
--&gt;

&lt;!ELEMENT Method (Comment, Type, ArgumentList, ThrowsList)&gt;
&lt;!ATTLIST Method shortname     CDATA                                #REQUIRED
                 extension     CDATA                                #REQUIRED
                 copy          (false  | true)                      #REQUIRED
                 definition    (normal | abstract | final | static) #REQUIRED
                 communication (normal | local    | oneway)         #REQUIRED&gt;

&lt;!ELEMENT ArgumentList (Argument)*&gt;

&lt;!ELEMENT ThrowsList (SymbolName)*&gt;

&lt;!--
   Argument Element

   The sidl Argument element defines a sidl argument, which consists
   of a copy modifier, a parameter passing mode (in, inout, or out),
   a parameter type, and a formal parameter name.
--&gt;

&lt;!ELEMENT Argument (Type)&gt;
&lt;!ATTLIST Argument copy (false | true)     #REQUIRED
                   mode (in | inout | out) #REQUIRED
                   name CDATA              #REQUIRED&gt;

&lt;!--
   Type Element

   The Type element describes a sidl type, which may be a built-in type
   such as boolean or int, an array, or a user-defined symbol.  If the
   type description is a primitive type, then no sub-elements are allowed.
   If the type is a symbol, then the single sub-element must be a symbol
   name.  If the type is an array, then the single sub-element must be
   an array element
--&gt;

&lt;!ELEMENT Type (SymbolName | Array)?&gt;
&lt;!ATTLIST Type type (void     | boolean | char    | dcomplex | double |
                     fcomplex | float   | integer | long     | 
                     opaque   | string  | symbol  | array    ) #REQUIRED&gt;

&lt;!ELEMENT Index EMPTY&gt;
&lt;!ATTLIST Index name CDATA #REQUIRED&gt;

&lt;!ELEMENT Array (Type?,Index?)&gt;
&lt;!ATTLIST Array order (unspecified | column-major | row-major) #REQUIRED
		dim   CDATA "0" &gt;
</PRE></td></tr></table></blockquote>
<P>
Babel assumes that comments will conform to the HTML-lite comment format.  So,
Babel relies on <TT>comment.dtd</TT> to validate whether SIDL
documentation comments follow the  HTML-lite comment format, which is 
described in <TT>html-lite.dtd</TT>.  The most current versions of all of 
these DTDs can also be found in the source distribution in the 
<TT>babel/compiler/gov/llnl/babel/dtds</TT> directory.

<P>
<SPAN  CLASS="textbf">NOTE:</SPAN>  Any XML interface description that complies with the SIDL DTD 
can be used as input to Babel. 

<P>

<P>
<BR><HR>
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>