blob: 872028981c1b0e10736783ad138014a9309a9f68 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!-- MODULE: spec DTD -->
<!-- VERSION: 1.0 -->
<!-- DATE: October 18, 2000 -->
<!-- ============================================================= -->
<!-- ISO STANDARD SPECIAL CHARACTER SETS -->
<!-- ============================================================= -->
<!--
<!ENTITY % isolat1 PUBLIC
"ISO 8879-1986//ENTITIES Added Latin 1//EN"
"entities/ISOlat1.pen"
>
<!ENTITY % isonum PUBLIC
"ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN"
"entities/ISOnum.pen"
>
<!ENTITY % isopub PUBLIC
"ISO 8879-1986//ENTITIES Publishing//EN"
"entities/ISOpub.pen"
>
<!ENTITY % isotech PUBLIC
"ISO 8879-1986//ENTITIES General Technical//EN"
"entities/ISOtech.pen"
>
%isolat1; %isonum; %isopub; %isotech;
-->
<!-- ============================================================= -->
<!-- parameter entities for content models -->
<!-- ============================================================= -->
<!-- list elements -->
<!ENTITY % lists "itemizedlist | orderedlist | variablelist" >
<!-- linespecific elements -->
<!-- elements where line endings and whitespace
are significant -->
<!ENTITY % linespecific
"literallayout | programlisting" >
<!-- phrase-level elements -->
<!-- elements allowed at the same level as text -->
<!ENTITY % phraselevel "citation | emphasis | inlinegraphic | link | plink |
subscript | superscript | ulink | termref" >
<!-- paragraph-level elements -->
<!-- elements (including paragraphs) allowed at
the level of paragraphs -->
<!ENTITY % paralevel "%linespecific; | %lists; | note | para | issue |
table | figure | graphic" >
<!-- ============================================================= -->
<!-- parameter entities for attributes -->
<!-- ============================================================= -->
<!-- common attributes -->
<!ENTITY % common.atts
"id ID #IMPLIED
link-url CDATA #IMPLIED" >
<!-- graphic-related attributes -->
<!ENTITY % graphic.atts
"fileref CDATA #IMPLIED
alt CDATA #IMPLIED
srccredit CDATA #IMPLIED
width NMTOKEN #IMPLIED
depth NMTOKEN #IMPLIED
scale NMTOKEN #IMPLIED
scalefit NMTOKEN #IMPLIED" >
<!-- ============================================================= -->
<!-- external modules -->
<!-- ============================================================= -->
<!--
<!ENTITY % table.ent SYSTEM "table.ent" >
%table.ent;
-->
<!-- ============================================================= -->
<!-- element definitions -->
<!-- ============================================================= -->
<!-- specification -->
<!ELEMENT spec (title, frontmatter, introduction, requirements, model, sect1+,
appendix*, bibliography?) >
<!ATTLIST spec
%common.atts; >
<!ELEMENT frontmatter (pubdate, copyright, author*, abstract?) >
<!-- title -->
<!ELEMENT title (#PCDATA | %phraselevel;)* >
<!ATTLIST title
%common.atts; >
<!-- issue -->
<!ELEMENT issue (#PCDATA | %phraselevel;)* >
<!ATTLIST issue
%common.atts; >
<!-- publication date -->
<!-- publication date and, possibly, time -->
<!ELEMENT pubdate (#PCDATA) >
<!ATTLIST pubdate
%common.atts; >
<!-- copyright statement -->
<!ELEMENT copyright (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST copyright
%common.atts; >
<!-- author -->
<!ELEMENT author (firstname, surname, jobtitle?, orgname?,
address?) >
<!-- id unique identifier -->
<!ATTLIST author
%common.atts; >
<!-- abstract -->
<!ELEMENT abstract (para+) >
<!-- id unique identifier -->
<!ATTLIST abstract
%common.atts; >
<!ELEMENT introduction (title, (((%paralevel;)+, sect2*) | sect2+)) >
<!-- id unique identifier -->
<!ATTLIST introduction
%common.atts; >
<!ELEMENT requirements (title, (((%paralevel;)+, sect2*) | sect2+)) >
<!-- id unique identifier -->
<!ATTLIST requirements
%common.atts; >
<!ELEMENT model (title, (((%paralevel;)+, patterns) | sect2+)) >
<!-- id unique identifier -->
<!ATTLIST model
%common.atts; >
<!ELEMENT patterns (pattern+) >
<!-- id unique identifier -->
<!ATTLIST patterns
%common.atts;
module CDATA #IMPLIED
>
<!ELEMENT pattern (pattern-name, potential-alternate-name?, intent, responsibilities, thread-safety, notes?) >
<!-- id unique identifier -->
<!ATTLIST pattern
%common.atts;
>
<!ELEMENT pattern-name (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST pattern-name
%common.atts; >
<!ELEMENT potential-alternate-name (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST potential-alternate-name
%common.atts; >
<!ELEMENT intent (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST intent
%common.atts; >
<!ELEMENT responsibilities (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST responsibilities
%common.atts; >
<!ELEMENT thread-safety (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST thread-safety
%common.atts; >
<!ELEMENT notes (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST notes
%common.atts; >
<!-- id unique identifier -->
<!ATTLIST sect1
%common.atts; >
<!-- section 1 -->
<!ELEMENT sect1 (title, (((%paralevel;)+, sect2*) | sect2+)) >
<!-- section 2 -->
<!ELEMENT sect2 (title, (((%paralevel;)+, sect3*) | sect3+)) >
<!-- id unique identifier -->
<!ATTLIST sect2
%common.atts; >
<!-- section 3 -->
<!ELEMENT sect3 (title, (((%paralevel;)+, sect4*) | sect4+)) >
<!-- id unique identifier -->
<!ATTLIST sect3
%common.atts; >
<!-- section 4 -->
<!ELEMENT sect4 (title, (%paralevel;)+) >
<!-- id unique identifier -->
<!ATTLIST sect4
%common.atts; >
<!-- appendix -->
<!ELEMENT appendix (title, (((%paralevel;)+, sect1*) | sect1+)) >
<!-- id unique identifier -->
<!ATTLIST appendix
%common.atts; >
<!-- bibliography -->
<!ELEMENT bibliography (title, biblioitem+) >
<!-- id unique identifier -->
<!ATTLIST bibliography
%common.atts; >
<!-- bibliography item -->
<!ELEMENT biblioitem (designator, biblioentry) >
<!-- id unique identifier -->
<!ATTLIST biblioitem
%common.atts; >
<!-- bibliography item designator -->
<!-- designator contains whatever designator the
author uses to identify publications listed in
the bibliography (e.g., [lab 87]). the
stylesheet generates the square "[]" brackets
fore & aft. -->
<!ELEMENT designator (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST designator
%common.atts; >
<!-- bibliography entry -->
<!ELEMENT biblioentry (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST biblioentry
%common.atts; >
<!-- ============================================================= -->
<!-- author-related elements -->
<!-- ============================================================= -->
<!-- first name -->
<!ELEMENT firstname (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST firstname
%common.atts; >
<!-- surname -->
<!ELEMENT surname (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST surname
%common.atts; >
<!-- job title -->
<!ELEMENT jobtitle (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST jobtitle
%common.atts; >
<!-- organization name -->
<!ELEMENT orgname (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST orgname
%common.atts; >
<!-- address -->
<!ELEMENT address (street?, pob?, city?, state?, postcode?,
country?, phone?, fax?, email?) >
<!-- id unique identifier -->
<!ATTLIST address
%common.atts; >
<!-- ============================================================= -->
<!-- address elements -->
<!-- ============================================================= -->
<!-- street address -->
<!ELEMENT street (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST street
%common.atts; >
<!-- post office box -->
<!ELEMENT pob (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST pob
%common.atts; >
<!-- postcode -->
<!ELEMENT postcode (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST postcode
%common.atts; >
<!-- city -->
<!ELEMENT city (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST city
%common.atts; >
<!-- state -->
<!ELEMENT state (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST state
%common.atts; >
<!-- country -->
<!ELEMENT country (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST country
%common.atts; >
<!-- phone number -->
<!ELEMENT phone (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST phone
%common.atts; >
<!-- fax number -->
<!ELEMENT fax (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST fax
%common.atts; >
<!-- email address -->
<!ELEMENT email (#PCDATA) >
<!-- id unique identifier -->
<!ATTLIST email
%common.atts; >
<!-- ============================================================= -->
<!-- paragraph-level elements -->
<!-- ============================================================= -->
<!-- paragraph -->
<!ELEMENT para (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST para
%common.atts; >
<!-- note -->
<!ELEMENT note (%paralevel;)+ >
<!-- id unique identifier -->
<!ATTLIST note
%common.atts; >
<!-- itemized list -->
<!ELEMENT itemizedlist (listitem+) >
<!-- id unique identifier -->
<!ATTLIST itemizedlist
%common.atts; >
<!-- ordered list -->
<!ELEMENT orderedlist (listitem+) >
<!-- id unique identifier -->
<!ATTLIST orderedlist
%common.atts; >
<!-- variable list -->
<!ELEMENT variablelist (varlistentry+) >
<!-- id unique identifier -->
<!ATTLIST variablelist
%common.atts; >
<!-- list item -->
<!ELEMENT listitem (#PCDATA | %phraselevel; | %paralevel;)* >
<!-- id unique identifier -->
<!ATTLIST listitem
%common.atts; >
<!-- variable list entry -->
<!ELEMENT varlistentry (term+, listitem) >
<!-- id unique identifier -->
<!ATTLIST varlistentry
%common.atts; >
<!-- term -->
<!ELEMENT term (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST term
%common.atts; >
<!-- termref -->
<!ELEMENT termref (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST termref
%common.atts; >
<!-- literal layout -->
<!ELEMENT literallayout
(#PCDATA | %phraselevel;)* >
<!-- xml:space whitespace handling
id unique identifier -->
<!ATTLIST literallayout
%common.atts; >
<!-- program listing -->
<!ELEMENT programlisting
(#PCDATA | %phraselevel;)* >
<!-- xml:space whitespace handling
id unique identifier -->
<!ATTLIST programlisting
%common.atts; >
<!-- figure -->
<!ELEMENT figure (title, graphic) >
<!-- id unique identifier -->
<!ATTLIST figure
%common.atts; >
<!-- graphic -->
<!ELEMENT graphic EMPTY >
<!-- align alignment of graphic image. values are:
left left aligned
right right aligned
center centered
fileref path to external file
alt alternate text
srccredit source of graphic
width width of area in which to fit graphic
depth depth of area in which to fit graphic
scale percentage scaling factor
scalefit scale to fit width and/or depth
id unique identifier -->
<!ATTLIST graphic
align (left |right |center) #IMPLIED
%graphic.atts;
%common.atts; >
<!-- inline graphic -->
<!ELEMENT inlinegraphic
EMPTY >
<!-- fileref path to external file
alt alternate text
srccredit source of graphic
width width of area in which to fit graphic
depth depth of area in which to fit graphic
scale percentage scaling factor
scalefit scale to fit width and/or depth
id unique identifier -->
<!ATTLIST inlinegraphic
%graphic.atts;
%common.atts; >
<!-- ============================================================= -->
<!-- text-level elements -->
<!-- ============================================================= -->
<!-- bibliographic citation -->
<!-- a <citation> appears in the body of the
article, and it refers through its
"linkend" attribute to the id of the
relevant bibliography item.
the <citation> receives the same
formatting as the <designator> element
within the <biblioitem> being referenced.
for example, when for the bibitem
<biblioitem id="bib1"><designator>lab
87</designator>...</biblioitem> is
formatted as "[lab 87]", the bibliographic
citation <citation linkend="bib1">lab
87</citation> also formats as "[lab 87]". -->
<!ELEMENT citation (#PCDATA | emphasis | inlinegraphic |
subscript | superscript)* >
<!-- linkend id of referenced bibliography entry
id unique identifier -->
<!ATTLIST citation
linkend IDREF #REQUIRED
%common.atts; >
<!-- emphasis -->
<!ELEMENT emphasis (#PCDATA | %phraselevel;)* >
<!-- id unique identifier -->
<!ATTLIST emphasis
%common.atts; >
<!-- subscript -->
<!ELEMENT subscript (#PCDATA | emphasis | subscript |
superscript)* >
<!-- id unique identifier -->
<!ATTLIST subscript
%common.atts; >
<!-- superscript -->
<!ELEMENT superscript (#PCDATA | emphasis | subscript |
superscript)* >
<!-- id unique identifier -->
<!ATTLIST superscript
%common.atts; >
<!-- link -->
<!ELEMENT link (#PCDATA) >
<!-- linkend id of referenced element
id unique identifier -->
<!ATTLIST link
linkend IDREF #REQUIRED
%common.atts; >
<!-- package link (for {@link org.xml.trax.Processor} type links, for javadocs. -->
<!ELEMENT plink (#PCDATA) >
<!ATTLIST plink
%common.atts; >
<!-- ulink (external link) -->
<!ELEMENT ulink (#PCDATA) >
<!-- url uniform resource locator; the target of the
ulink
id unique identifier -->
<!ATTLIST ulink
url CDATA #REQUIRED
%common.atts; >