Files correlati : cg0.exe cg0700a.msk cg0700b.msk cg3.exe cg4.exe Bug : Commento: Merge 1.0 libraries
1735 lines
56 KiB
DTD
1735 lines
56 KiB
DTD
<!-- ............................................................... -->
|
|
<!-- XML specification DTD ......................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
TYPICAL INVOCATION:
|
|
# <!DOCTYPE spec PUBLIC
|
|
# "-//W3C//DTD Specification V2.1//EN"
|
|
# "http://www.w3.org/XML/1998/06/xmlspec-v21.dtd">
|
|
|
|
PURPOSE:
|
|
This XML DTD is for W3C specifications and other technical reports.
|
|
It is based in part on the TEI Lite and Sweb DTDs.
|
|
|
|
DEPENDENCIES:
|
|
None.
|
|
|
|
CHANGE HISTORY:
|
|
The list of changes is at the end of the DTD.
|
|
|
|
For all details, see the design report at:
|
|
|
|
# <http://www.w3.org/XML/1998/06/xmlspec-report-v21.htm>
|
|
|
|
Search this file for "#" in the first column to see change history
|
|
comments. To find changes made this time, search for "2000-03-07".
|
|
|
|
MAINTAINER:
|
|
Eve Maler
|
|
Sun Microsystems, Inc.
|
|
elm@east.sun.com
|
|
voice: +1 781 442 3190
|
|
fax: +1 781 442 1437
|
|
-->
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for characters and symbols ........................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1998-03-10: maler: Added “ and ”.
|
|
# Used 8879:1986-compatible decimal character
|
|
# references.
|
|
# Merged charent.mod file back into main file.
|
|
#1998-05-14: maler: Fixed ldquo and rdquo. Gave mdash a real number.
|
|
#1998-12-03: maler: Escaped the leading ampersands.
|
|
-->
|
|
|
|
<!ENTITY lt "&#60;">
|
|
<!ENTITY gt ">">
|
|
<!ENTITY amp "&#38;">
|
|
<!ENTITY apos "'">
|
|
<!ENTITY quot """>
|
|
<!ENTITY nbsp " ">
|
|
<!ENTITY mdash "&#x2014;">
|
|
<!ENTITY ldquo "&#x201C;">
|
|
<!ENTITY rdquo "&#x201D;">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for classes of standalone elements ................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-10-16: maler: Added table to %illus.class;.
|
|
#1997-11-28: maler: Added htable to %illus.class;.
|
|
#1997-12-29: maler: IGNOREd table.
|
|
#1998-03-10: maler: Removed SGML Open-specific %illus.class;.
|
|
# Added "local" entities for customization.
|
|
#1998-05-14: maler: Added issue to %note.class;.
|
|
# Removed %[local.]statusp.class;.
|
|
#1998-05-21: maler: Added constraintnote to %note.class;.
|
|
#1998-08-22: maler: Changed htable to table in %illus.class;.
|
|
# Added definitions to %illus.class;.
|
|
#2000-03-07: maler: Added proto and example to %illus.class;.
|
|
-->
|
|
|
|
<!ENTITY % local.p.class "">
|
|
<!ENTITY % p.class "p
|
|
%local.p.class;">
|
|
|
|
<!ENTITY % local.list.class "">
|
|
<!ENTITY % list.class "ulist|olist|slist|glist
|
|
%local.list.class;">
|
|
|
|
<!ENTITY % local.speclist.class "">
|
|
<!ENTITY % speclist.class "orglist|blist
|
|
%local.speclist.class;">
|
|
|
|
<!ENTITY % local.note.class "">
|
|
<!ENTITY % note.class "note|issue|wfcnote|vcnote
|
|
|constraintnote %local.note.class;">
|
|
|
|
<!ENTITY % local.illus.class "">
|
|
<!ENTITY % illus.class "eg|graphic|scrap|table|definitions
|
|
|proto|example
|
|
%local.illus.class;">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for classes of phrase-level elements ................. -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-12-29: maler: Added xspecref to %ref.class;.
|
|
#1998-03-10: maler: Added %ednote.class;.
|
|
# Added "local" entities for customization.
|
|
#2000-03-07: maler: Added function, var, el, att, and attval to
|
|
# %tech.class;.
|
|
# Added sub, sup, and phrase to %emph.class;.
|
|
-->
|
|
|
|
<!ENTITY % local.annot.class "">
|
|
<!ENTITY % annot.class "footnote
|
|
%local.annot.class;">
|
|
|
|
<!ENTITY % local.termdef.class "">
|
|
<!ENTITY % termdef.class "termdef|term
|
|
%local.termdef.class;">
|
|
|
|
<!ENTITY % local.emph.class "">
|
|
<!ENTITY % emph.class "emph|phrase|quote|sub|sup
|
|
%local.emph.class;">
|
|
|
|
<!ENTITY % local.ref.class "">
|
|
<!ENTITY % ref.class "bibref|specref|termref|titleref
|
|
|xspecref|xtermref
|
|
%local.ref.class;">
|
|
|
|
<!ENTITY % local.loc.class "">
|
|
<!ENTITY % loc.class "loc
|
|
%local.loc.class;">
|
|
|
|
<!ENTITY % local.tech.class "">
|
|
<!ENTITY % tech.class "kw|nt|xnt|code|function|var
|
|
|el|att|attval
|
|
%local.tech.class;">
|
|
|
|
<!ENTITY % local.ednote.class "">
|
|
<!ENTITY % ednote.class "ednote
|
|
%local.ednote.class;">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for mixtures of standalone elements .................. -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-09-30: maler: Created %p.mix; to eliminate p from self.
|
|
#1997-09-30: maler: Added %speclist.class; to %obj.mix; and %p.mix;.
|
|
#1997-09-30: maler: Added %note.class; to %obj.mix; and %p.mix;.
|
|
#1997-10-16: maler: Created %entry.mix;. Note that some elements
|
|
# left out here are still allowed in termdef,
|
|
# which entry can contain through %p.pcd.mix;.
|
|
#1997-11-28: maler: Added %p.class; to %statusobj.mix;.
|
|
#1998-03-10: maler: Added %ednote.class; to all mixtures, except
|
|
# %p.mix; and %statusobj.mix;, because paragraphs
|
|
# and status paragraphs will contain ednote
|
|
# through %p.pcd.mix;.
|
|
#1998-03-23: maler: Added %termdef.mix; (broken out from
|
|
# %termdef.pcd.mix;).
|
|
#1998-05-14: maler: Removed %statusobj.mix; and all mentions of
|
|
# %statusp.mix;.
|
|
-->
|
|
|
|
<!ENTITY % div.mix
|
|
"%p.class;|%list.class;|%speclist.class;|%note.class;
|
|
|%illus.class;|%ednote.class;">
|
|
<!ENTITY % obj.mix
|
|
"%p.class;|%list.class;|%speclist.class;|%note.class;
|
|
|%illus.class;|%ednote.class;">
|
|
<!ENTITY % p.mix
|
|
"%list.class;|%speclist.class;|%note.class;|%illus.class;">
|
|
<!ENTITY % entry.mix
|
|
"%list.class;|note|eg|graphic|%ednote.class;">
|
|
<!ENTITY % hdr.mix
|
|
"%p.class;|%list.class;|%ednote.class;">
|
|
<!ENTITY % termdef.mix
|
|
"%note.class;|%illus.class;">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for mixtures of #PCDATA and phrase-level elements .... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!-- Note that %termdef.pcd.mix contains %note.class;
|
|
and %illus.class;, considered standalone elements. -->
|
|
|
|
<!--
|
|
#1997-09-30: maler: Added scrap and %note.class; to %termdef.pcd.mix;.
|
|
#1997-11-28: maler: Added %loc.class; to %p.pcd.mix;.
|
|
#1998-03-10: maler: Added %ednote.class; to all mixtures.
|
|
#1998-03-23: maler: Moved some %termdef.pcd.mix; stuff out to
|
|
# %termdef.mix;.
|
|
#1998-05-14: maler: Removed %statusp.pcd.mix;.
|
|
#1998-05-21: maler: Added constraint element to %eg.pcd.mix;.
|
|
#1999-07-02: maler: Added %loc.class; to %head.pcd.mix;,
|
|
# %label.pcd.mix;, %eg.pcd.mix;, %termdef.pcd.mix;,
|
|
# %tech.pcd.mix; (net: all PCD mixes have it).
|
|
# Removed unused %loc.pcd.mix;.
|
|
-->
|
|
|
|
<!ENTITY % p.pcd.mix
|
|
"#PCDATA|%annot.class;|%termdef.class;|%emph.class;
|
|
|%ref.class;|%tech.class;|%loc.class;|%ednote.class;">
|
|
<!ENTITY % head.pcd.mix
|
|
"#PCDATA|%annot.class;|%emph.class;|%tech.class;
|
|
|%loc.class;|%ednote.class;">
|
|
<!ENTITY % label.pcd.mix
|
|
"#PCDATA|%annot.class;|%termdef.class;|%emph.class;
|
|
|%tech.class;|%loc.class;|%ednote.class;">
|
|
<!ENTITY % eg.pcd.mix
|
|
"#PCDATA|%annot.class;|%emph.class;|%loc.class;
|
|
|%ednote.class;|constraint">
|
|
<!ENTITY % termdef.pcd.mix
|
|
"#PCDATA|term|%emph.class;|%ref.class;|%tech.class;
|
|
|%loc.class;|%ednote.class;">
|
|
<!ENTITY % bibl.pcd.mix
|
|
"#PCDATA|%emph.class;|%ref.class;|%loc.class;|%ednote.class;">
|
|
<!ENTITY % tech.pcd.mix
|
|
"#PCDATA|%loc.class;|%ednote.class;">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for customizable content models ...................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1998-03-10: maler: Added customization entities.
|
|
#1998-05-14: maler: Allowed prevlocs and latestloc in either order.
|
|
#1999-07-02: maler: Made version optional; added copyright element.
|
|
#2000-03-07: maler: Allowed status and abstract in opposite order.
|
|
-->
|
|
|
|
<!ENTITY % spec.mdl
|
|
"header, front?, body, back?">
|
|
|
|
<!ENTITY % header.mdl
|
|
"title, subtitle?, version?, w3c-designation, w3c-doctype,
|
|
pubdate, notice*, publoc, ((prevlocs, latestloc?) |
|
|
(latestloc, prevlocs?))?, authlist, copyright?,
|
|
((status, abstract) | (abstract, status)), pubstmt?,
|
|
sourcedesc?, langusage, revisiondesc">
|
|
|
|
<!ENTITY % pubdate.mdl
|
|
"day?, month, year">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Entities for common attributes ................................ -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added %argtypes;.
|
|
-->
|
|
|
|
<!-- argtypes:
|
|
Values for function prototype argument datatypes. -->
|
|
<!ENTITY % argtypes
|
|
'(boolean
|
|
|expression
|
|
|location-set
|
|
|node-set
|
|
|number
|
|
|object
|
|
|point
|
|
|range
|
|
|string)'>
|
|
|
|
<!-- key attribute:
|
|
Optionally provides a sorting or indexing key, for cases when
|
|
the element content is inappropriate for this purpose. -->
|
|
<!ENTITY % key.att
|
|
'key CDATA #IMPLIED'>
|
|
|
|
<!-- def attribute:
|
|
Points to the element where the relevant definition can be
|
|
found, using the IDREF mechanism. %def.att; is for optional
|
|
def attributes, and %def-req.att; is for required def
|
|
attributes. -->
|
|
<!ENTITY % def.att
|
|
'def IDREF #IMPLIED'>
|
|
<!ENTITY % def-req.att
|
|
'def IDREF #REQUIRED'>
|
|
|
|
<!-- ref attribute:
|
|
Points to the element where more information can be found,
|
|
using the IDREF mechanism. %ref.att; is for optional
|
|
ref attributes, and %ref-req.att; is for required ref
|
|
attributes. -->
|
|
<!ENTITY % ref.att
|
|
'ref IDREF #IMPLIED'>
|
|
<!ENTITY % ref-req.att
|
|
'ref IDREF #REQUIRED'>
|
|
|
|
<!--
|
|
#1998-03-23: maler: Added show and actuate attributes to href.
|
|
# Added semi-common xml:space attribute.
|
|
#1998-08-22: maler: Used new xlink:form and #IMPLIED features.
|
|
#1999-07-02: maler: Reorganized XLink-related entities completely;
|
|
# added xmlns:xlink attribute to the mix.
|
|
#2000-03-07: maler: Updated XLink usage to February 2000 draft,
|
|
# except that href still has no namespace prefix.
|
|
-->
|
|
|
|
<!-- xmlns:xlink and xlink:type attributes:
|
|
xmlns:xlink declares the association of the xlink prefix
|
|
with the namespace created by the XLink specification.
|
|
xlink:type identifies an element as an XLink "simple" linking
|
|
element. -->
|
|
<!ENTITY % simple-xlink.att
|
|
'xmlns:xlink CDATA #FIXED
|
|
"http://www.w3.org/1999/xlink"
|
|
xlink:type CDATA #FIXED "simple" '>
|
|
|
|
<!-- href attributes:
|
|
The href attribute locates the remote-resource half of a
|
|
simple link; the element on which the href appears is the
|
|
local-resource half. Some elements are usable links only if
|
|
the author chooses to supply a functional href. The attribute
|
|
name should really be xlink:href, but is kept without the
|
|
prefix for now in order to be backwards-compatible. -->
|
|
|
|
<!ENTITY % href.att
|
|
'href CDATA #IMPLIED '>
|
|
<!ENTITY % href-req.att
|
|
'href CDATA #REQUIRED '>
|
|
|
|
<!-- xlink:show and xlink:actuate attributes:
|
|
These attributes offer instructions to the display engine
|
|
about how to handle traversal to resource indicated by an
|
|
href locator. -->
|
|
<!ENTITY % auto-embed.att
|
|
'xlink:show CDATA #FIXED "embed"
|
|
xlink:actuate CDATA #FIXED "onLoad" '>
|
|
<!ENTITY % user-replace.att
|
|
'xlink:show CDATA #FIXED "replace"
|
|
xlink:actuate CDATA #FIXED "onRequest" '>
|
|
<!ENTITY % user-new.att
|
|
'xlink:show CDATA #FIXED "new"
|
|
xlink:actuate CDATA #FIXED "onRequest" '>
|
|
|
|
<!-- xml:space attribute:
|
|
Indicates that the element contains whitespace that the
|
|
formatter or other application should retain, as appropriate
|
|
to its function. -->
|
|
<!ENTITY % xmlspace.att
|
|
'xml:space (default
|
|
|preserve) #FIXED "preserve" '>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added common diff attribute. Made %role.att;.
|
|
-->
|
|
|
|
<!-- diff attribute:
|
|
Indicates in what way the element has changed. When a value
|
|
is not provided, that subelement should inherit a value from
|
|
its parent. If the root element has no value supplied,
|
|
assume "off". -->
|
|
<!ENTITY % diff.att
|
|
'diff (chg
|
|
|add
|
|
|del
|
|
|off) #IMPLIED'>
|
|
|
|
<!-- role attribute:
|
|
Extends the useful life of the DTD by allowing authors to
|
|
make a subtype of any element. No default. -->
|
|
<!ENTITY % role.att
|
|
'role NMTOKEN #IMPLIED'>
|
|
|
|
<!-- Common attributes:
|
|
Every element has an ID attribute for links, a role
|
|
attribute, and a diff attribute. %common.att; is for
|
|
common attributes where the ID is optional, and
|
|
%common-idreq.att; is for common attributes where the
|
|
ID is required. -->
|
|
<!ENTITY % common.att
|
|
'id ID #IMPLIED
|
|
%role.att;
|
|
%diff.att;'>
|
|
<!ENTITY % common-idreq.att
|
|
'id ID #REQUIRED
|
|
%role.att;
|
|
%diff.att;'>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Common elements ............................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!-- head: Title on divisions, productions, and the like -->
|
|
<!ELEMENT head (%head.pcd.mix;)*>
|
|
<!ATTLIST head %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Major specification structure ................................. -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1998-03-10: maler: Made spec content model easily customizable.
|
|
#1999-07-02: maler: Added doctype atts and status att.
|
|
#2000-03-07: maler: Added cr, issues, and dispcmts to w3c-doctype.
|
|
-->
|
|
|
|
<!ELEMENT spec (%spec.mdl;)>
|
|
<!-- w3c-doctype attributes:
|
|
Indicates the type of document, so that the appropriate
|
|
stylesheet or workflow routing can be applied. Should
|
|
*not* generate any text (such as the "REC-" or "NOTE-"
|
|
prefix on the W3C designation content). No default. If
|
|
w3c-doctype is "other", other-doctype should be filled in.
|
|
|
|
status attribute:
|
|
Indicates the stage of review of the document. May affect
|
|
the stylesheet's treatment of ednotes (e.g., whether to
|
|
output them). No default. -->
|
|
|
|
<!ATTLIST spec
|
|
%common.att;
|
|
w3c-doctype (cr
|
|
|dispcmts
|
|
|issues
|
|
|note
|
|
|other
|
|
|pr
|
|
|rec
|
|
|wd) #IMPLIED
|
|
other-doctype CDATA #IMPLIED
|
|
status (int-review
|
|
|ext-review
|
|
|final) #IMPLIED
|
|
>
|
|
|
|
<!ELEMENT front (div1+)>
|
|
<!ATTLIST front %common.att;>
|
|
|
|
<!ELEMENT body (div1+)>
|
|
<!ATTLIST body %common.att;>
|
|
|
|
<!--
|
|
#1997-09-30: maler: Added inform-div1 to back content.
|
|
-->
|
|
|
|
<!ELEMENT back ((div1+, inform-div1*) | inform-div1+)>
|
|
<!ATTLIST back %common.att;>
|
|
|
|
<!ELEMENT div1 (head, (%div.mix;)*, div2*)>
|
|
<!ATTLIST div1 %common.att;>
|
|
|
|
<!--
|
|
#1997-09-30: maler: Added inform-div1 declarations.
|
|
#2000-03-07: maler: Added div5 level.
|
|
-->
|
|
|
|
<!-- inform-div1: Non-normative division in back matter -->
|
|
<!ELEMENT inform-div1 (head, (%div.mix;)*, div2*)>
|
|
<!ATTLIST inform-div1 %common.att;>
|
|
|
|
<!ELEMENT div2 (head, (%div.mix;)*, div3*)>
|
|
<!ATTLIST div2 %common.att;>
|
|
|
|
<!ELEMENT div3 (head, (%div.mix;)*, div4*)>
|
|
<!ATTLIST div3 %common.att;>
|
|
|
|
<!ELEMENT div4 (head, (%div.mix;)*, div5*)>
|
|
<!ATTLIST div4 %common.att;>
|
|
|
|
<!ELEMENT div5 (head, (%div.mix;)*)>
|
|
<!ATTLIST div5 %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Specification header .......................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1998-03-10: maler: Made header content model easily customizable.
|
|
-->
|
|
|
|
<!ELEMENT header (%header.mdl;)>
|
|
<!ATTLIST header %common.att;>
|
|
|
|
<!-- Example of title: "Extensible Cheese Language (XCL)" -->
|
|
<!ELEMENT title (#PCDATA)>
|
|
<!ATTLIST title %common.att;>
|
|
|
|
<!-- Example of subtitle: "A Cheesy Specification" -->
|
|
<!ELEMENT subtitle (#PCDATA)>
|
|
<!ATTLIST subtitle %common.att;>
|
|
|
|
<!-- Example of version: "Version 666.0" -->
|
|
<!ELEMENT version (#PCDATA)>
|
|
<!ATTLIST version %common.att;>
|
|
|
|
<!-- Example of w3c-designation: "WD-xcl-19991231" -->
|
|
<!ELEMENT w3c-designation (#PCDATA)>
|
|
<!ATTLIST w3c-designation %common.att;>
|
|
|
|
<!-- Example of w3c-doctype: "W3C Working Draft" -->
|
|
<!ELEMENT w3c-doctype (#PCDATA)>
|
|
<!ATTLIST w3c-doctype %common.att;>
|
|
|
|
<!--
|
|
#1998-03-10: maler: Made pubdate content model easily customizable.
|
|
-->
|
|
|
|
<!ELEMENT pubdate (%pubdate.mdl;)>
|
|
<!ATTLIST pubdate %common.att;>
|
|
|
|
<!ELEMENT day (#PCDATA)>
|
|
<!ATTLIST day %common.att;>
|
|
|
|
<!ELEMENT month (#PCDATA)>
|
|
<!ATTLIST month %common.att;>
|
|
|
|
<!ELEMENT year (#PCDATA)>
|
|
<!ATTLIST year %common.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Declared copyright element.
|
|
-->
|
|
|
|
<!ELEMENT copyright (%hdr.mix;)+>
|
|
<!ATTLIST copyright %common.att;>
|
|
|
|
<!-- Example of notice: "This draft is for public comment..." -->
|
|
<!ELEMENT notice (%hdr.mix;)+>
|
|
<!ATTLIST notice %common.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Broadened models of *loc to %p.pcd.mix;.
|
|
-->
|
|
|
|
<!ELEMENT publoc (%p.pcd.mix;)*>
|
|
<!ATTLIST publoc %common.att;>
|
|
|
|
<!ELEMENT prevlocs (%p.pcd.mix;)*>
|
|
<!ATTLIST prevlocs %common.att;>
|
|
|
|
<!ELEMENT latestloc (%p.pcd.mix;)*>
|
|
<!ATTLIST latestloc %common.att;>
|
|
|
|
<!-- loc (defined in "Phrase-level elements" below) -->
|
|
|
|
<!ELEMENT authlist (author+)>
|
|
<!ATTLIST authlist %common.att;>
|
|
|
|
<!--
|
|
#1997-09-30: maler: Made affiliation optional.
|
|
#1998-03-10: maler: Made email optional.
|
|
-->
|
|
|
|
<!ELEMENT author (name, affiliation?, email?)>
|
|
<!ATTLIST author %common.att;>
|
|
|
|
<!ELEMENT name (#PCDATA)>
|
|
<!ATTLIST name
|
|
%common.att;
|
|
%key.att;>
|
|
|
|
<!ELEMENT affiliation (#PCDATA)>
|
|
<!ATTLIST affiliation %common.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
|
|
<!ELEMENT email (#PCDATA)>
|
|
<!-- href attribute:
|
|
email functions as a hypertext reference through this
|
|
required attribute. Typically the reference would use
|
|
the mailto: scheme. E.g.:
|
|
|
|
<email href="mailto:elm@arbortext.com">elm@arbortext.com</email>
|
|
-->
|
|
|
|
<!ATTLIST email
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href-req.att;
|
|
%user-new.att;>
|
|
|
|
<!--
|
|
#1998-05-15: maler: Changed status content from %statusobj.mix;
|
|
# to plain %obj.mix;. statusp is obsolete.
|
|
-->
|
|
|
|
<!ELEMENT status (%obj.mix;)+>
|
|
<!ATTLIST status %common.att;>
|
|
|
|
<!ELEMENT abstract (%hdr.mix;)*>
|
|
<!ATTLIST abstract %common.att;>
|
|
|
|
<!ELEMENT pubstmt (%hdr.mix;)+>
|
|
<!ATTLIST pubstmt %common.att;>
|
|
|
|
<!ELEMENT sourcedesc (%hdr.mix;)+>
|
|
<!ATTLIST sourcedesc %common.att;>
|
|
|
|
<!ELEMENT langusage (language+)>
|
|
<!ATTLIST langusage %common.att;>
|
|
|
|
<!ELEMENT language (#PCDATA)>
|
|
<!ATTLIST language %common.att;>
|
|
|
|
<!ELEMENT revisiondesc (%hdr.mix;)+>
|
|
<!ATTLIST revisiondesc %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Paragraph ..................................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-09-30: maler: Changed from %obj.mix; to %p.mix;.
|
|
#1997-12-29: maler: Changed order of %p.mix; and %p.pcd.mix;
|
|
# references.
|
|
#1997-12-29: maler: Changed order of %statusobj.mix; and
|
|
# %statusp.pcd.mix; references.
|
|
#1998-05-14: maler: Removed statusp declarations.
|
|
-->
|
|
|
|
<!ELEMENT p (%p.pcd.mix;|%p.mix;)*>
|
|
<!ATTLIST p %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Regular lists ................................................. -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!-- ulist: Unordered list, typically bulleted. -->
|
|
<!ELEMENT ulist (item+)>
|
|
<!-- spacing attribute:
|
|
Use "normal" to get normal vertical spacing for items;
|
|
use "compact" to get less spacing. The default is dependent
|
|
on the stylesheet. -->
|
|
<!ATTLIST ulist
|
|
%common.att;
|
|
spacing (normal|compact) #IMPLIED>
|
|
|
|
<!-- olist: Ordered list, typically numbered. -->
|
|
<!ELEMENT olist (item+)>
|
|
<!-- spacing attribute:
|
|
Use "normal" to get normal vertical spacing for items;
|
|
use "compact" to get less spacing. The default is dependent
|
|
on the stylesheet. -->
|
|
<!ATTLIST olist
|
|
%common.att;
|
|
spacing (normal|compact) #IMPLIED>
|
|
|
|
<!ELEMENT item (%obj.mix;)+>
|
|
<!ATTLIST item %common.att;>
|
|
|
|
<!-- slist: Simple list, typically with no mark. -->
|
|
<!ELEMENT slist (sitem+)>
|
|
<!ATTLIST slist %common.att;>
|
|
|
|
<!ELEMENT sitem (%p.pcd.mix;)*>
|
|
<!ATTLIST sitem %common.att;>
|
|
|
|
<!-- glist: Glossary list, typically two-column. -->
|
|
<!ELEMENT glist (gitem+)>
|
|
<!ATTLIST glist %common.att;>
|
|
|
|
<!ELEMENT gitem (label, def)>
|
|
<!ATTLIST gitem %common.att;>
|
|
|
|
<!ELEMENT label (%label.pcd.mix;)*>
|
|
<!ATTLIST label %common.att;>
|
|
|
|
<!ELEMENT def (%obj.mix;)*>
|
|
<!ATTLIST def %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Special lists ................................................. -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!-- blist: Bibliography list. -->
|
|
<!ELEMENT blist (bibl+)>
|
|
<!ATTLIST blist %common.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
<!ELEMENT bibl (%bibl.pcd.mix;)*>
|
|
<!-- href attribute:
|
|
bibl optionally functions as a hypertext reference to the
|
|
referred-to resource through this attribute. E.g.:
|
|
|
|
<bibl href="http://www.my.com/doc.htm">My Document</bibl>
|
|
-->
|
|
<!ATTLIST bibl
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href.att;
|
|
%user-replace.att;
|
|
%key.att;>
|
|
|
|
<!-- orglist: Organization member list. -->
|
|
<!ELEMENT orglist (member+)>
|
|
<!ATTLIST orglist %common.att;>
|
|
|
|
<!--
|
|
#1997-09-30: maler: Added optional affiliation.
|
|
-->
|
|
|
|
<!ELEMENT member (name, affiliation?, role?)>
|
|
<!ATTLIST member %common.att;>
|
|
|
|
<!-- name (defined in "Specification header" above) -->
|
|
<!-- affiliation (defined in "Specification header" above) -->
|
|
|
|
<!ELEMENT role (#PCDATA)>
|
|
<!ATTLIST role %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Notes ......................................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!ELEMENT note (%obj.mix;)+>
|
|
<!ATTLIST note %common.att;>
|
|
|
|
<!--
|
|
#1998-05-14: maler: Declared issue element.
|
|
#2000-03-07: maler: Added head, source, resolution, and status.
|
|
-->
|
|
|
|
<!ELEMENT issue (head?, source*, (%obj.mix;)+, resolution?)>
|
|
<!-- status attribute:
|
|
Indicates whether the issue is open or closed. Note that
|
|
the lack of a resolution element does not necessarily mean
|
|
that the issue is still open. -->
|
|
<!ATTLIST issue
|
|
id ID #REQUIRED
|
|
%role.att;
|
|
%diff.att;
|
|
status (open
|
|
|closed) "open"
|
|
>
|
|
|
|
<!ELEMENT source (%p.pcd.mix;)*>
|
|
<!ATTLIST source
|
|
%common.att;>
|
|
|
|
<!ELEMENT resolution (%obj.mix;)+>
|
|
<!ATTLIST resolution %common.att;>
|
|
|
|
<!-- wfcnote: Well-formedness constraint note. -->
|
|
<!ELEMENT wfcnote (head, (%obj.mix;)+)>
|
|
<!-- ID attribute:
|
|
wfcnote must have an ID so that it can be pointed to
|
|
from a wfc element in a production. -->
|
|
<!ATTLIST wfcnote
|
|
%common-idreq.att;>
|
|
|
|
<!-- vcnote: Validity constraint note. -->
|
|
<!ELEMENT vcnote (head, (%obj.mix;)+)>
|
|
<!-- ID attribute:
|
|
vcnote must have an ID so that it can be pointed to
|
|
from a vc element in a production. -->
|
|
<!ATTLIST vcnote
|
|
%common-idreq.att;>
|
|
|
|
<!--
|
|
#1998-05-21: maler: Declared generic constraintnote element.
|
|
-->
|
|
|
|
<!-- constraintnote: Generic constraint note. -->
|
|
<!ELEMENT constraintnote (head, (%obj.mix;)+)>
|
|
<!-- ID attribute:
|
|
constraintnote must have an ID so that it can be
|
|
pointed to from a constraint element in a production. -->
|
|
<!-- type attribute:
|
|
constraintnote must have a type value keyword so that
|
|
it can be correctly characterized in the specification. -->
|
|
<!ATTLIST constraintnote
|
|
%common-idreq.att;
|
|
type NMTOKEN #REQUIRED>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Basic display elements ........................................ -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1998-03-23: maler: Added xml:space attribute.
|
|
-->
|
|
|
|
<!-- eg: Example element, with whitespace respected. -->
|
|
<!ELEMENT eg (%eg.pcd.mix;)*>
|
|
<!ATTLIST eg
|
|
%common.att;
|
|
%xmlspace.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Removed the xml:attributes attribute.
|
|
# Added %local.graphic.att;.
|
|
-->
|
|
|
|
<!-- graphic: Displayed graphic. Graphic data should be
|
|
displayed at the point where it is referenced. Not
|
|
actually conforming to XLink right now. -->
|
|
<!ELEMENT graphic EMPTY>
|
|
<!-- source attribute:
|
|
The graphic data must reside at the location pointed to. -->
|
|
<!ENTITY % local.graphic.att "">
|
|
<!ATTLIST graphic
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
source CDATA #REQUIRED
|
|
%auto-embed.att;
|
|
alt CDATA #IMPLIED
|
|
%local.graphic.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added proto element structure.
|
|
-->
|
|
|
|
<!-- proto: Function prototype, in the XPath/XPointer style. -->
|
|
<!ELEMENT proto (arg*)>
|
|
<!ATTLIST proto
|
|
%common.att;
|
|
name NMTOKEN #REQUIRED
|
|
return-type %argtypes; #REQUIRED
|
|
>
|
|
|
|
<!ELEMENT arg EMPTY>
|
|
<!ATTLIST arg
|
|
%common.att;
|
|
type %argtypes; #REQUIRED
|
|
occur (opt|req) #IMPLIED
|
|
>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added example element.
|
|
-->
|
|
|
|
<!ELEMENT example (head?, (%obj.mix;)+)>
|
|
<!ATTLIST example %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- EBNF .......................................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-11-28: maler: Added prodgroup to scrap and defined it.
|
|
#1998-05-21: maler: Added constraint to prod.
|
|
#1999-07-02: maler: Added prodrecap to scrap; broadened scrap model.
|
|
# Added headstyle attribute to scrap.
|
|
-->
|
|
|
|
<!-- scrap: Collection of EBNF language productions. -->
|
|
<!ELEMENT scrap (head, (prodgroup | prod | bnf | prodrecap)+)>
|
|
<!-- lang attribute:
|
|
The scrap can link to a description of the language used,
|
|
found in a language element in the header.
|
|
headstyle attribute:
|
|
Allows a scrap title to be suppressed from output. To be
|
|
used only when a scrap title directly next to a section
|
|
title is distracting or repetetive. -->
|
|
<!ATTLIST scrap
|
|
%common.att;
|
|
lang IDREF #IMPLIED
|
|
headstyle (show|suppress) "show"
|
|
>
|
|
|
|
<!-- prodgroup: Sub-collection of productions, needed for
|
|
formatting reasons. -->
|
|
<!ELEMENT prodgroup (prod+)>
|
|
<!-- pcw<n> attributes:
|
|
Presentational attributes to control the width
|
|
of the "pseudo-table" columns used to output
|
|
groups of productions. -->
|
|
<!ATTLIST prodgroup
|
|
%common.att;
|
|
pcw1 CDATA #IMPLIED
|
|
pcw2 CDATA #IMPLIED
|
|
pcw3 CDATA #IMPLIED
|
|
pcw4 CDATA #IMPLIED
|
|
pcw5 CDATA #IMPLIED
|
|
>
|
|
|
|
<!-- prod: EBNF language production. -->
|
|
<!ELEMENT prod (lhs, (rhs, (com|wfc|vc|constraint)*)+)>
|
|
<!-- ID attribute:
|
|
The production must have an ID so that cross-references
|
|
(specref) and mentions of nonterminals (nt) can link to
|
|
it. -->
|
|
<!ATTLIST prod
|
|
%common-idreq.att;>
|
|
|
|
<!-- lhs: Left-hand side of production. -->
|
|
<!ELEMENT lhs (#PCDATA)>
|
|
<!ATTLIST lhs %common.att;>
|
|
|
|
<!-- rhs: Right-hand side of production; may have many
|
|
"right-hand sides," one to a line. -->
|
|
<!ELEMENT rhs (#PCDATA|nt|xnt|com)*>
|
|
<!ATTLIST rhs %common.att;>
|
|
|
|
<!-- nt and xnt (defined in "Phrase-level elements" below) -->
|
|
|
|
<!--
|
|
#1997-11-28: maler: Added loc and bibref to com content.
|
|
-->
|
|
|
|
<!-- com: Production comment. -->
|
|
<!ELEMENT com (#PCDATA|loc|bibref)*>
|
|
<!ATTLIST com %common.att;>
|
|
|
|
<!-- wfc: Reference to a well-formedness constraint; should
|
|
generate the head of the wfcnote pointed to. -->
|
|
<!ELEMENT wfc EMPTY>
|
|
<!-- def attribute:
|
|
Each well formedness tagline in a production must link to the
|
|
wfcnote that defines it. -->
|
|
<!ATTLIST wfc
|
|
%def-req.att;
|
|
%common.att;>
|
|
|
|
<!-- vc: Reference to a validity constraint; should generate
|
|
the head of the vcnote pointed to. -->
|
|
<!ELEMENT vc EMPTY>
|
|
<!-- def attribute:
|
|
Each validity tagline in a production must link to the vcnote
|
|
that defines it. -->
|
|
<!ATTLIST vc
|
|
%def-req.att;
|
|
%common.att;>
|
|
|
|
<!--
|
|
#1998-05-21: maler: Declared generic constraint element.
|
|
-->
|
|
|
|
<!-- constraint: Reference to a generic constraint; should
|
|
generate the head of the constraintnote pointed to. -->
|
|
<!ELEMENT constraint EMPTY>
|
|
<!-- def attribute:
|
|
Each constraint tagline in a production must link to the
|
|
constraint note that defines it. -->
|
|
<!ATTLIST constraint
|
|
%def-req.att;
|
|
%common.att;>
|
|
|
|
<!--
|
|
#1998-03-23: maler: Added xml:space attribute.
|
|
-->
|
|
|
|
<!-- bnf: Un-marked-up EBNF production, with whitespace
|
|
respected. -->
|
|
<!ELEMENT bnf (%eg.pcd.mix;)*>
|
|
<!ATTLIST bnf
|
|
%common.att;
|
|
%xmlspace.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Declared prodrecap.
|
|
-->
|
|
|
|
<!-- prodrecap: Reference to production or bnf that appears
|
|
in its "normative" form elsewhere in the spec; should
|
|
generate a copy of the original production, without
|
|
a production number next to it. -->
|
|
<!ELEMENT prodrecap EMPTY>
|
|
<!ATTLIST prodrecap
|
|
%common.att;
|
|
%ref-req.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Table ......................................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-10-16: maler: Added table mechanism.
|
|
#1997-11-28: maler: Added non-null system ID to entity declaration.
|
|
# Added HTML table module.
|
|
#1997-12-29: maler: IGNOREd SGML Open table model.
|
|
#1998-03-10: maler: Removed SGML Open table model.
|
|
# Merged html-tbl.mod file into main file.
|
|
# Added %common.att; to all HTML table elements.
|
|
#1998-05-14: maler: Replaced table model with full HTML 4.0 model.
|
|
# Removed htable in favor of table.
|
|
# Removed htbody in favor of tbody.
|
|
-->
|
|
|
|
<!ENTITY % cellhalign.att
|
|
'align (left|center
|
|
|right|justify
|
|
|char) #IMPLIED
|
|
char CDATA #IMPLIED
|
|
charoff CDATA #IMPLIED'>
|
|
|
|
<!ENTITY % cellvalign.att
|
|
'valign (top|middle
|
|
|bottom
|
|
|baseline) #IMPLIED'>
|
|
|
|
<!ENTITY % thtd.att
|
|
'abbr CDATA #IMPLIED
|
|
axis CDATA #IMPLIED
|
|
headers IDREFS #IMPLIED
|
|
scope (row
|
|
|col
|
|
|rowgroup
|
|
|colgroup) #IMPLIED
|
|
rowspan NMTOKEN "1"
|
|
colspan NMTOKEN "1"'>
|
|
|
|
<!ENTITY % width.att
|
|
'width CDATA #IMPLIED'>
|
|
|
|
<!ENTITY % span.att
|
|
'span NMTOKEN "1"'>
|
|
|
|
<!-- table: HTML-based geometric table model. -->
|
|
<!ELEMENT table
|
|
(caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>
|
|
<!ATTLIST table
|
|
%common.att;
|
|
%width.att;
|
|
summary CDATA #IMPLIED
|
|
border CDATA #IMPLIED
|
|
frame (void|above
|
|
|below|hsides
|
|
|lhs|rhs
|
|
|vsides|box
|
|
|border) #IMPLIED
|
|
rules (none|groups
|
|
|rows|cols
|
|
|all) #IMPLIED
|
|
cellspacing CDATA #IMPLIED
|
|
cellpadding CDATA #IMPLIED>
|
|
|
|
<!ELEMENT caption (%p.pcd.mix;)*>
|
|
<!ATTLIST caption %common.att;>
|
|
|
|
<!ELEMENT col EMPTY>
|
|
<!ATTLIST col
|
|
%common.att;
|
|
%span.att;
|
|
%width.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT colgroup (col)*>
|
|
<!ATTLIST colgroup
|
|
%common.att;
|
|
%span.att;
|
|
%width.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT thead (tr)+>
|
|
<!ATTLIST thead
|
|
%common.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT tfoot (tr)+>
|
|
<!ATTLIST tfoot
|
|
%common.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT tbody (tr)+>
|
|
<!ATTLIST tbody
|
|
%common.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT tr (th|td)+>
|
|
<!ATTLIST tr
|
|
%common.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT th (%p.pcd.mix;|%p.mix;)*>
|
|
<!ATTLIST th
|
|
%common.att;
|
|
%thtd.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!ELEMENT td (%p.pcd.mix;|%p.mix;)*>
|
|
<!ATTLIST td
|
|
%common.att;
|
|
%thtd.att;
|
|
%cellhalign.att;
|
|
%cellvalign.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- IDL structures for DOM specifications ......................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Specialized entities for classes .............................. -->
|
|
|
|
<!ENTITY % idl-desc.class
|
|
"p|note">
|
|
|
|
<!ENTITY % idl-tdef.class
|
|
"typedef|constant|exception|reference|group">
|
|
|
|
<!ENTITY % idl-mod.class
|
|
"module|interface">
|
|
|
|
<!ENTITY % idl-struct.class
|
|
"struct|enum|sequence|union|typename">
|
|
|
|
<!ENTITY % idl-meth.class
|
|
"method|attribute">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Specialized entities for mixtures ............................. -->
|
|
|
|
<!-- Quick reference to content model mixtures:
|
|
|
|
desc tdef mod struct meth
|
|
group x x x x x
|
|
definitions, module x x x
|
|
interface x x x
|
|
typedef, case, component x
|
|
-->
|
|
|
|
<!ENTITY % idl-grp.mix
|
|
"%idl-desc.class;|%idl-tdef.class;|%idl-mod.class;
|
|
|%idl-struct.class;|%idl-meth.class;">
|
|
|
|
<!ENTITY % idl-defn.mix
|
|
"%idl-desc.class;|%idl-tdef.class;|%idl-mod.class;">
|
|
|
|
<!ENTITY % idl-intfc.mix
|
|
"%idl-desc.class;|%idl-tdef.class;|%idl-meth.class;">
|
|
|
|
<!ENTITY % idl-type.mix
|
|
"%idl-struct.class;">
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Specialized entities for common attributes .................... -->
|
|
|
|
<!-- name attribute:
|
|
Provides a name. Required. -->
|
|
<!ENTITY % idl-name.att
|
|
'name CDATA #REQUIRED'>
|
|
|
|
<!-- type attribute:
|
|
Provides a type. Required. -->
|
|
<!ENTITY % idl-type.att
|
|
'type CDATA #REQUIRED'>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Common IDL element ............................................ -->
|
|
|
|
<!ELEMENT descr ((%obj.mix;)*)>
|
|
<!ATTLIST descr %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- IDL definition elements ....................................... -->
|
|
|
|
<!-- definitions: Top-level element for definitions. -->
|
|
<!ELEMENT definitions (%idl-defn.mix;)+>
|
|
<!ATTLIST definitions %common.att;>
|
|
|
|
<!-- group: Element used to group a set of definitions. -->
|
|
|
|
<!ELEMENT group (descr, (%idl-grp.mix;)*)>
|
|
<!ATTLIST group
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!-- interface: Definition of an interface. -->
|
|
<!ELEMENT interface (descr, (%idl-intfc.mix;)*)>
|
|
<!ATTLIST interface
|
|
%common.att;
|
|
%idl-name.att;
|
|
inherits CDATA #IMPLIED>
|
|
|
|
<!-- module: Definition of a module. -->
|
|
<!ELEMENT module (descr, (%idl-defn.mix;)*)>
|
|
<!ATTLIST module
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!-- reference: Reference to some other declaration. -->
|
|
<!ELEMENT reference EMPTY>
|
|
<!ATTLIST reference
|
|
%common.att;
|
|
declaration IDREF #REQUIRED>
|
|
|
|
<!-- typedef: Definition of a named type. -->
|
|
<!ELEMENT typedef (descr, (%idl-type.mix;))>
|
|
<!ATTLIST typedef
|
|
%common.att;
|
|
%idl-name.att;
|
|
array.size NMTOKEN #IMPLIED>
|
|
|
|
<!-- struct: Declaration of a struct type. -->
|
|
<!ELEMENT struct (descr, component+)>
|
|
<!ATTLIST struct
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!-- component: Declaration of a structural member. -->
|
|
<!ELEMENT component (%idl-type.mix;)>
|
|
<!ATTLIST component
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!-- union: Declaration of a union type. -->
|
|
<!ELEMENT union (descr, case+)>
|
|
<!ATTLIST union
|
|
%common.att;
|
|
%idl-name.att;
|
|
switch.type CDATA #REQUIRED>
|
|
|
|
<!ELEMENT case (descr, (%idl-type.mix;))>
|
|
<!ATTLIST case
|
|
%common.att;
|
|
labels CDATA #REQUIRED>
|
|
|
|
<!-- enum: Declaration of an enum type. -->
|
|
<!ELEMENT enum (descr, enumerator+)>
|
|
<!ATTLIST enum
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!ELEMENT enumerator (descr)>
|
|
<!ATTLIST enumerator
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!-- sequence: Declaration of a sequence type (not named). -->
|
|
<!ELEMENT sequence (sequence*)>
|
|
<!ATTLIST sequence
|
|
%common.att;
|
|
%idl-type.att;
|
|
size NMTOKEN #IMPLIED>
|
|
|
|
<!-- constant: Declaration of a named constant. -->
|
|
<!ELEMENT constant (descr)>
|
|
<!ATTLIST constant
|
|
%common.att;
|
|
%idl-name.att;
|
|
%idl-type.att;
|
|
value CDATA #REQUIRED>
|
|
|
|
<!-- exception: Declaration of an exception. -->
|
|
<!ELEMENT exception (descr, component*)>
|
|
<!ATTLIST exception
|
|
%common.att;
|
|
%idl-name.att;>
|
|
<!-- component (defined under struct, above)-->
|
|
|
|
<!-- attribute: Declaration of an attribute (data member). -->
|
|
<!ELEMENT attribute (descr)>
|
|
<!ATTLIST attribute
|
|
%common.att;
|
|
%idl-name.att;
|
|
%idl-type.att;
|
|
readonly (yes
|
|
|no) "no">
|
|
|
|
<!-- method: Declaration of a method. -->
|
|
<!ELEMENT method (descr, parameters, returns, raises)>
|
|
<!ATTLIST method
|
|
%common.att;
|
|
%idl-name.att;>
|
|
|
|
<!ELEMENT parameters (param*)>
|
|
<!ATTLIST parameters %common.att;>
|
|
|
|
<!ELEMENT param (descr)>
|
|
<!ATTLIST param
|
|
%common.att;
|
|
%idl-name.att;
|
|
%idl-type.att;
|
|
attr (in
|
|
|out
|
|
|inout) "inout">
|
|
|
|
<!ELEMENT returns (descr)>
|
|
<!ATTLIST returns
|
|
%common.att;
|
|
%idl-type.att;>
|
|
|
|
<!ELEMENT raises (exception*)>
|
|
<!-- exception (defined under constant, above)-->
|
|
|
|
<!ELEMENT typename (#PCDATA)>
|
|
<!ATTLIST typename %common.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Phrase-level elements ......................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added att and attval elements.
|
|
-->
|
|
|
|
<!-- att: Attribute name. -->
|
|
<!ELEMENT att (%tech.pcd.mix;)*>
|
|
<!ATTLIST att %common.att;>
|
|
|
|
<!-- attval: Attribute value. -->
|
|
<!ELEMENT attval (%tech.pcd.mix;)*>
|
|
<!ATTLIST attval %common.att;>
|
|
|
|
<!-- bibref: Reference to a bibliography list entry; should
|
|
generate, in square brackets, "key" on bibl. -->
|
|
<!ELEMENT bibref EMPTY>
|
|
<!-- ref attribute:
|
|
A bibliography reference must link to the bibl element that
|
|
describes the resource. -->
|
|
<!ATTLIST bibref
|
|
%common.att;
|
|
%ref-req.att;>
|
|
|
|
<!ELEMENT code (%tech.pcd.mix;)*>
|
|
<!ATTLIST code %common.att;>
|
|
|
|
<!--
|
|
#1998-03-10: maler: Declared ednote and related elements.
|
|
#1999-07-02: maler: Changed edtext content from #PCDATA to %p.pcd.mix;.
|
|
-->
|
|
|
|
<!-- ednote: Editorial note for communication among editors. -->
|
|
<!ELEMENT ednote (name?, date?, edtext)>
|
|
<!ATTLIST ednote %common.att;>
|
|
|
|
<!ELEMENT date (#PCDATA)>
|
|
<!ATTLIST date %common.att;>
|
|
|
|
<!ELEMENT edtext (%p.pcd.mix;)*>
|
|
<!ATTLIST edtext %common.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added el element.
|
|
-->
|
|
|
|
<!-- el: Element type name (GI). -->
|
|
<!ELEMENT el (%tech.pcd.mix;)*>
|
|
<!ATTLIST el %common.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Expanded emph to %p.pcd.mix;.
|
|
-->
|
|
|
|
<!ELEMENT emph (%p.pcd.mix;)*>
|
|
<!ATTLIST emph %common.att;>
|
|
|
|
<!-- footnote: Both footnote content and call to footnote. -->
|
|
<!ELEMENT footnote (%obj.mix;)+>
|
|
<!ATTLIST footnote %common.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added function and gave it content of
|
|
# %tech.pcd.mix; instead of XPath's #PCDATA.
|
|
-->
|
|
|
|
<!ELEMENT function (%tech.pcd.mix;)*>
|
|
<!ATTLIST function %common.att;>
|
|
|
|
<!ELEMENT kw (%tech.pcd.mix;)*>
|
|
<!ATTLIST kw %common.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
<!-- loc: Generic link to a Web resource, similar to HTML's A. -->
|
|
<!ELEMENT loc (#PCDATA)>
|
|
<!-- href attribute:
|
|
The purpose of a loc element is to function as a A-like
|
|
hypertext link to a resource. (Ideally, the content of loc
|
|
will also mention the URI of the resource, so that readers of
|
|
the printed version will be able to locate the resource.) E.g.:
|
|
|
|
<loc href="http://www.my.com/doc.htm">http://www.my.com/doc.htm</loc>
|
|
-->
|
|
<!ATTLIST loc
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href-req.att;
|
|
%user-replace.att;>
|
|
|
|
<!-- nt: Mention of a nonterminal in text, along with a link to
|
|
the production in the current document that defines it. -->
|
|
<!ELEMENT nt (#PCDATA)>
|
|
<!-- def attribute:
|
|
The nonterminal must link to the production that defines
|
|
it. -->
|
|
<!ATTLIST nt
|
|
%common.att;
|
|
%def-req.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Declared phrase.
|
|
-->
|
|
|
|
<!-- phrase: "Attribute hanger" for small bits of (e.g.) differenced
|
|
text in a paragraph or similar, when another element isn't handy.
|
|
Beware that its content model may allow more nested elements than
|
|
would normally be allowed in some contexts. -->
|
|
<!ELEMENT phrase (%p.pcd.mix;)*>
|
|
<!ATTLIST phrase %common.att;>
|
|
|
|
<!--
|
|
#1998-03-10: maler: Declared quote.
|
|
-->
|
|
|
|
<!-- quote: Scare quotes and other purely presentational quotes. -->
|
|
<!ELEMENT quote (%p.pcd.mix;)*>
|
|
<!ATTLIST quote %common.att;>
|
|
|
|
<!-- specref: Reference to a div, olist item, prod, or issue
|
|
in the current document; should generate italic "[n.n],
|
|
Section Title" for div, "n" for numbered item, "[n]" for
|
|
production, or "Issue id" for issue. -->
|
|
<!ELEMENT specref EMPTY>
|
|
<!-- ref attribute:
|
|
The purpose of a specref element is to link to a div, item
|
|
in an olist, or production in the current spec. -->
|
|
<!ATTLIST specref
|
|
%common.att;
|
|
%ref-req.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added sub and sup.
|
|
-->
|
|
|
|
<!-- sub: Subscript. -->
|
|
<!ELEMENT sub (#PCDATA)>
|
|
<!ATTLIST sub %common.att;>
|
|
|
|
<!-- sup: Superscript. -->
|
|
<!ELEMENT sup (#PCDATA)>
|
|
<!ATTLIST sup %common.att;>
|
|
|
|
<!-- term: The term in text that is being defined in text. -->
|
|
<!ELEMENT term (#PCDATA)>
|
|
<!ATTLIST term %common.att;>
|
|
|
|
<!-- termdef: Definition of a term in text. -->
|
|
<!ELEMENT termdef (%termdef.pcd.mix;|%termdef.mix;)*>
|
|
<!-- ID attribute:
|
|
A term definition must have an ID so that it can be linked
|
|
to from termref elements. -->
|
|
<!-- term attribute:
|
|
The canonical form of the term or phrase being defined must
|
|
appear in this attribute, even if the term or phrase also
|
|
appears in the element content in identical form (e.g., in
|
|
the term element). -->
|
|
<!ATTLIST termdef
|
|
%common-idreq.att;
|
|
term CDATA #REQUIRED>
|
|
|
|
<!-- termref: Mention of a term, along with a link to the
|
|
definition in the current document. -->
|
|
<!ELEMENT termref (#PCDATA)>
|
|
<!-- ref attribute:
|
|
A term reference must link to the termdef element that
|
|
defines the term. -->
|
|
<!ATTLIST termref
|
|
%common.att;
|
|
%def-req.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
<!-- titleref: Citation of another document, which can also
|
|
link to that document if it is a Web resource. -->
|
|
<!ELEMENT titleref (#PCDATA)>
|
|
<!-- href attribute:
|
|
A title reference can optionally function as a hypertext
|
|
link to the resource with this title. E.g.:
|
|
|
|
<loc href="http://www.my.com/doc.htm">http://www.my.com/doc.htm</loc>
|
|
-->
|
|
|
|
<!ATTLIST titleref
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href.att;
|
|
%user-new.att;>
|
|
|
|
<!--
|
|
#2000-03-07: maler: Added var.
|
|
-->
|
|
|
|
<!-- var: String standing for a variable value that the user
|
|
or system will supply. For example: "For each node
|
|
<var>x</var> in this node-set..." -->
|
|
<!ELEMENT var (%tech.pcd.mix;)*>
|
|
<!ATTLIST var %common.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
<!-- xnt: Mention of a nonterminal in text, along with a link to
|
|
the production in another document that defines it. -->
|
|
<!ELEMENT xnt (#PCDATA)>
|
|
<!-- href attribute:
|
|
The nonterminal must hyperlink to a resource that serves
|
|
to define it (e.g., a production in a related XML
|
|
specification). E.g.:
|
|
|
|
<xnt href="http://www.w3.org/TR/spec.htm#prod3">Name</xnt>
|
|
-->
|
|
|
|
<!ATTLIST xnt
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href-req.att;
|
|
%user-new.att;>
|
|
|
|
<!--
|
|
#1997-12-29: maler: Declared xspecref.
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
<!-- xspecref: Reference to a div, olist item, prod, or issue
|
|
in a related specification document; should generate
|
|
no special text. -->
|
|
<!ELEMENT xspecref (#PCDATA)>
|
|
<!-- href attribute:
|
|
The spec reference must hyperlink to the resource to
|
|
cross-refer to (e.g., a section in a related XML
|
|
specification). E.g.:
|
|
|
|
<xspecref href="http://www.w3.org/TR/spec.htm#sec2">
|
|
the section on constraints</xspecref>
|
|
-->
|
|
|
|
<!ATTLIST xspecref
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href-req.att;
|
|
%user-new.att;>
|
|
|
|
<!--
|
|
#1999-07-02: maler: Added show/actuate attributes and default values.
|
|
-->
|
|
|
|
<!-- termref: Mention of a term, along with a link to the
|
|
definition in a related document. -->
|
|
<!ELEMENT xtermref (#PCDATA)>
|
|
<!-- href attribute:
|
|
The term reference must hyperlink to the resource that
|
|
serves to define the term (e.g., a term definition in
|
|
a related XML specification). E.g.:
|
|
|
|
<xtermref href="http://www.w3.org/TR/spec.htm#term5">
|
|
entity
|
|
</xtermref>
|
|
-->
|
|
|
|
<!ATTLIST xtermref
|
|
%common.att;
|
|
%simple-xlink.att;
|
|
%href-req.att;
|
|
%user-new.att;>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Unused elements for ADEPT ..................................... -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-09-30: maler: Added unusued elements.
|
|
#1997-10-14: maler: Fixed div to move nested div to the mixture.
|
|
#1998-05-14: maler: Added key-term, htable, and htbody.
|
|
#1998-11-30: maler: Added para, listitem, itemizedlist, and orderedlist.
|
|
-->
|
|
|
|
<!-- The following elements are purposely declared but never
|
|
referenced. Declaring them allows them to be pasted from
|
|
an HTML document, an earlier version of an XMLspec document,
|
|
or a DocBook document into a document using this DTD in ADEPT.
|
|
The ATD Context Transformation mechanism will try to convert
|
|
them to the appropriate element for this DTD. While this
|
|
conversion will not work for all fragments, it does allow many
|
|
cases to work reasonably well. -->
|
|
|
|
<!ELEMENT div
|
|
(head?, (%div.mix;|ul|ol|h1|h2|h3|h4|h5|h6|div)*)>
|
|
<!ELEMENT h1 (%head.pcd.mix;|em|a)*>
|
|
<!ELEMENT h2 (%head.pcd.mix;|em|a)*>
|
|
<!ELEMENT h3 (%head.pcd.mix;|em|a)*>
|
|
<!ELEMENT h4 (%head.pcd.mix;|em|a)*>
|
|
<!ELEMENT h5 (%head.pcd.mix;|em|a)*>
|
|
<!ELEMENT h6 (%head.pcd.mix;|em|a)*>
|
|
<!ELEMENT pre (%eg.pcd.mix;|em)*>
|
|
<!ELEMENT ul (item|li)*>
|
|
<!ELEMENT ol (item|li)*>
|
|
<!ELEMENT li (#PCDATA|%obj.mix;)*>
|
|
<!ELEMENT em (#PCDATA)>
|
|
<!ELEMENT a (#PCDATA)>
|
|
|
|
<!ELEMENT key-term (#PCDATA)>
|
|
<!ELEMENT htable
|
|
(caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>
|
|
<!ELEMENT htbody (tr)+>
|
|
<!ELEMENT statusp (%p.pcd.mix;|%p.mix;)*>
|
|
|
|
<!ELEMENT itemizedlist (listitem*)>
|
|
<!ELEMENT orderedlist (listitem*)>
|
|
<!ELEMENT listitem (para*)>
|
|
<!ELEMENT para (#PCDATA)>
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- Change history ................................................ -->
|
|
<!-- ............................................................... -->
|
|
|
|
<!--
|
|
#1997-08-18: maler
|
|
#- Did a major revision.
|
|
#1997-09-10: maler
|
|
#- Updated FPI.
|
|
#- Removed namekey element and put key attribute on name element.
|
|
#- Made statusp element and supporting entities.
|
|
#- Added slist element with sitem+ content.
|
|
#- Required head on scrap and added new bnf subelement.
|
|
#- Added an xnt element and allowed it and nt in regular text and rhs.
|
|
#- Removed the ntref element.
|
|
#- Added back the com element to the content of rhs.
|
|
#- Added a key attribute to bibl.
|
|
#- Removed the ident element.
|
|
#- Added a term element to be used inside termdef.
|
|
#- Added an xtermref element parallel to termref.
|
|
#- Beefed up DTD comments.
|
|
#1997-09-12: maler
|
|
#- Allowed term element in general text.
|
|
#- Changed bibref to EMPTY.
|
|
#- Added ref.class to termdef.pcd.mix.
|
|
#1997-09-14: maler
|
|
#- Changed main attribute of xtermref from def to href.
|
|
#- Added termdef.class to label contents.
|
|
#1997-09-30: maler
|
|
#- Added character entity module and added new entities.
|
|
#- Removed p from appearing directly in self; created %p.mix;.
|
|
#- Added inform-div (non-normative division) element.
|
|
#- Fixed xtermref comment to mention href, not ref.
|
|
#- Extended orglist model to allow optional affiliation.
|
|
#- Modified author to make affiliation optional.
|
|
#- Added %speclist.class; and %note.class; to %obj.mix; and %p.mix;.
|
|
#- Added %note.class; and %illus.class; to %termdef.pcd.mix;.
|
|
#- Added unused HTML elements.
|
|
#- Put empty system ID next to public ID in entity declarations.
|
|
#1997-10-14: maler
|
|
#- Fixed "unused" div content model to move nested div to mixture.
|
|
#1997-10-16: maler
|
|
#- Added SGML Open Exchange tables.
|
|
#1997-11-28: maler
|
|
#- Added support for prodgroup and its attributes.
|
|
#- Added support for HTML tables.
|
|
#- Added loc and bibref to content of com.
|
|
#- Added loc to general p content models.
|
|
#- Allowed p as alternative to statusp in status.
|
|
#- Added non-null system IDs to external parameter entity declarations.
|
|
#- (Modified the SGML Open table module to make it XML-compliant.)
|
|
#- (Modified the character entity module.)
|
|
#1997-12-29: maler
|
|
#- Moved #PCDATA occurrences to come before GIs in content models.
|
|
#- Removed use of the SGML Open table module.
|
|
#- Added xspecref element.
|
|
#- Ensured that all FPIs contain 4-digit year.
|
|
#- (Modified the character entity module.)
|
|
#1998-03-10: maler
|
|
#- Merged the character entity and table modules into the main file.
|
|
#- Added ldquo and rdquo entities.
|
|
#- Added common attributes to prodgroup.
|
|
#- Made the email element in header optional.
|
|
#- Removed reference to the SGML Open table model.
|
|
#- Added ednote element.
|
|
#- Added quote element.
|
|
#- Updated XLink usage to reflect 3 March 1998 WD.
|
|
#- Added "local" entities to the class entities for customization.
|
|
#- Parameterized several content models to allow for customization.
|
|
#1998-03-23: maler
|
|
#- Cleaned up some comments and removed some others.
|
|
#- Added xml:space semi-common attribute to eg and bnf elements.
|
|
#- Added show and embed attributes on all the uses of href.
|
|
#- Added %common.att; to all HTML table elements.
|
|
#- Added a real URI to the "typical invocation" comment.
|
|
#1998-05-14: maler
|
|
#- Fixed mdash, ldquo, and rdquo character entities.
|
|
#- Switched to the full HTML 4.0 table model.
|
|
#- Removed htable/htbody elements and replaced them with table/tbody.
|
|
#- Added issue element to %note.class; and declared it.
|
|
#- Allowed prevlocs and latestloc in either order.
|
|
#- Added key-term, htable, htbody, and statusp as unused elements.
|
|
#- Removed real statusp element in favor of plain p.
|
|
#1998-05-21: maler
|
|
#- Declared generic constraint and constraintnote elements.
|
|
#- Added constraintnote to %note.class;.
|
|
#- Added constraint to %eg.pcd.mix; and prod content model.
|
|
#1998-08-22: maler
|
|
#- Fixed %illus.class; to mention table instead of htable.
|
|
#- Added definitions to %illus.class; for DOM model.
|
|
#- Added DOM definitions element and its substructure.
|
|
#- Updated XLink usage in %href.att; to use xlink:form and #IMPLIED.
|
|
#- Added clarifying comments to href-using elements.
|
|
#1998-11-30: maler
|
|
#- Added new unused elements to support DocBook translation.
|
|
#- Updated maler phone numbers.
|
|
#1998-12-3: maler
|
|
#- Fixed character entities with respect to escaping of ampersands.
|
|
#- Added many more explanatory comments.
|
|
#1999-07-02: maler
|
|
#- Added %loc.class; to all PCD mixes that didn't already have it.
|
|
#- Removed unused %loc.pcd.mix;.
|
|
#- Made version in spec header optional.
|
|
#- Added three new attributes to spec.
|
|
#- Broadened content of edtext.
|
|
#- Added optional copyright element to header.
|
|
#- Reorganized XLink-related parameter entities; added xmlns:xlink.
|
|
#- Changed edtext content from #PCDATA to %p.pcd.mix;.
|
|
#- Added show/actuate atts and default values to all href elements.
|
|
#- Changed versioning scheme from 8-digit dates to version numbers.
|
|
#- Added w3c-doctype, other-doctype, status atts to spec element.
|
|
#- Added prodrecap element inside scrap.
|
|
#- Added headstyle attribute to scrap.
|
|
#2000-03-07: maler
|
|
#- Added proto element, its arg subelement, and the %argtypes; entity.
|
|
#- Added function, var, sub, sup, phrase, el, att, attval elements.
|
|
#- Expanded emph to %p.pcd.mix;.
|
|
#- Allowed status and abstract to appear in the opposite order.
|
|
#- Updated XLink usage to the latest WD, except for href and source.
|
|
#- Removed the xml:attributes attribute from graphic.
|
|
#- Added %local.graphic.att; to graphic.
|
|
#- Added common diff attribute.
|
|
#- Added div5 element.
|
|
#- Broadened content models of publoc, prevlocs, and latestloc.
|
|
#- Added head, source, resolution, and status attribute to issue.
|
|
#- Added cr, issues, and dispcmts to w3c-doctype attribute on spec.
|
|
#- Added example element.
|
|
-->
|
|
|
|
<!-- ............................................................... -->
|
|
<!-- End of XML specification DTD .................................. -->
|
|
<!-- ............................................................... -->
|