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>
<B> <A NAME="tex2html4119"
HREF="node14.html">Contents</A></B>
<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"><?xml version="1.0" encoding="UTF-8"?>
<!--
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 <components@llnl.gov>
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 <Symbol>.
PUBLIC ID "-//CCA//sidl Symbol DTD v1.1//EN"
-->
<!--
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.
-->
<!ENTITY % symbols "Class | Enumeration | Interface | Package">
<!ELEMENT Symbol (SymbolName, Metadata, Comment, (%symbols;))>
<!--
SymbolName Element
A SymbolName represents a fully qualified symbol name along with its
version. It is of the form:
<SymbolName name="sidl.SomeName" version="1.3.4"/>
-->
<!ELEMENT SymbolName EMPTY>
<!ATTLIST SymbolName name CDATA #REQUIRED
version CDATA #REQUIRED>
<!--
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.
-->
<!ELEMENT Metadata (MetadataEntry)*>
<!ATTLIST Metadata date CDATA #REQUIRED>
<!ELEMENT MetadataEntry EMPTY>
<!ATTLIST MetadataEntry key CDATA #REQUIRED
value CDATA #REQUIRED>
<!--
Comment Element
Comment elements support a very simple HTML description using the
html-lite.dtd HTML subset. See html-lite.dtd for more details.
-->
<!ENTITY % html-lite PUBLIC "-//CCA//sidl HTML DTD v1.0//EN" "html-lite.dtd">
%html-lite;
<!ELEMENT Comment %html-block;>
<!--
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.
-->
<!ELEMENT Package (PackageSymbol)*>
<!ATTLIST Package final (false | true) "true">
<!--
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.
-->
<!ELEMENT PackageSymbol EMPTY>
<!ATTLIST PackageSymbol name CDATA #REQUIRED
type (class | enum| interface | package) #REQUIRED
version CDATA #IMPLIED>
<!--
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.
-->
<!ELEMENT Enumeration (Enumerator)+>
<!ELEMENT Enumerator (Comment)?>
<!ATTLIST Enumerator name CDATA #REQUIRED
value CDATA #REQUIRED
fromuser (false | true) #REQUIRED>
<!--
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.
-->
<!ELEMENT Class (Extends, ImplementsBlock,
AllParentClasses, AllParentInterfaces,
MethodsBlock)>
<!ATTLIST Class abstract (false | true) #REQUIRED>
<!ELEMENT Extends (SymbolName)?>
<!ELEMENT ImplementsBlock (SymbolName)*>
<!--
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.
-->
<!ELEMENT Interface (ExtendsBlock, AllParentInterfaces, MethodsBlock)>
<!ELEMENT ExtendsBlock (SymbolName)*>
<!--
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.
-->
<!ELEMENT AllParentClasses (SymbolName)*>
<!ELEMENT AllParentInterfaces (SymbolName)*>
<!--
MethodsBlock Element
The MethodsBlock element defines a collection of zero or more methods
that belong to a sidl interface or class.
-->
<!ELEMENT MethodsBlock (Method)*>
<!--
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.
-->
<!ELEMENT Method (Comment, Type, ArgumentList, ThrowsList)>
<!ATTLIST Method shortname CDATA #REQUIRED
extension CDATA #REQUIRED
copy (false | true) #REQUIRED
definition (normal | abstract | final | static) #REQUIRED
communication (normal | local | oneway) #REQUIRED>
<!ELEMENT ArgumentList (Argument)*>
<!ELEMENT ThrowsList (SymbolName)*>
<!--
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.
-->
<!ELEMENT Argument (Type)>
<!ATTLIST Argument copy (false | true) #REQUIRED
mode (in | inout | out) #REQUIRED
name CDATA #REQUIRED>
<!--
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
-->
<!ELEMENT Type (SymbolName | Array)?>
<!ATTLIST Type type (void | boolean | char | dcomplex | double |
fcomplex | float | integer | long |
opaque | string | symbol | array ) #REQUIRED>
<!ELEMENT Index EMPTY>
<!ATTLIST Index name CDATA #REQUIRED>
<!ELEMENT Array (Type?,Index?)>
<!ATTLIST Array order (unspecified | column-major | row-major) #REQUIRED
dim CDATA "0" >
</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>
|