home *** CD-ROM | disk | FTP | other *** search
Text File | 2002-09-20 | 75.8 KB | 2,320 lines |
- <!-- ............................................................... -->
- <!-- XML specification DTD ......................................... -->
- <!-- ............................................................... -->
- <!-- $Id: xmlspec.dtd,v 1.1.2.1 2002/09/20 17:29:10 jdj Exp $ -->
- <!--
- TYPICAL INVOCATION:
- # <!DOCTYPE spec PUBLIC
- # "-//W3C//DTD Specification V2.2//EN"
- # "http://www.w3.org/XML/1998/06/xmlspec-v22.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>
-
- #2001-10-08: nwalsh: Added local.arg.att and local.proto.att
-
- #2002-08-14: nwalsh: Published V2.2
-
- Added marked sections around element and attlist declarations and
- added the altlocs element
-
- Search this file for "#" in the first column to see change history
- comments. To find changes made this time, search for "2000-03-07".
-
- MAINTAINERS:
- Norman Walsh
- Sun Microsystems, Inc.
- Norman.Walsh@Sun.COM
- voice: +1 413 256 6985
- fax: +1 413 256 6985
-
- 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 "<">
- <!ENTITY gt ">">
- <!ENTITY amp "&">
- <!ENTITY apos "'">
- <!ENTITY quot """>
- <!ENTITY nbsp " ">
- <!ENTITY mdash "—">
- <!ENTITY ldquo "“">
- <!ENTITY rdquo "”">
- <!-- ............................................................... -->
- <!-- 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, altlocs?, ((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 -->
- <!ENTITY % head.element "INCLUDE">
- <![%head.element;[
- <!ELEMENT head (%head.pcd.mix;)*>
- ]]>
- <!ENTITY % head.attlist "INCLUDE">
- <![%head.attlist;[
- <!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.
- -->
- <!ENTITY % spec.element "INCLUDE">
- <![%spec.element;[
- <!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. -->
- <!ENTITY % local.spec.att "">
- <!ENTITY % spec.attlist "INCLUDE">
- <![%spec.attlist;[
- <!ATTLIST spec
- %common.att;
- %local.spec.att;
- w3c-doctype (cr
- |dispcmts
- |issues
- |note
- |other
- |pr
- |rec
- |wd) #IMPLIED
- other-doctype CDATA #IMPLIED
- status (int-review
- |ext-review
- |final) #IMPLIED
- >
- ]]>
- <!ENTITY % front.element "INCLUDE">
- <![%front.element;[
- <!ELEMENT front (div1+)>
- ]]>
- <!ENTITY % front.attlist "INCLUDE">
- <![%front.attlist;[
- <!ATTLIST front %common.att;>
- ]]>
- <!ENTITY % body.element "INCLUDE">
- <![%body.element;[
- <!ELEMENT body (div1+)>
- ]]>
- <!ENTITY % body.attlist "INCLUDE">
- <![%body.attlist;[
- <!ATTLIST body %common.att;>
- ]]>
- <!--
- #1997-09-30: maler: Added inform-div1 to back content.
- -->
- <!ENTITY % back.element "INCLUDE">
- <![%back.element;[
- <!ELEMENT back ((div1+, inform-div1*) | inform-div1+)>
- ]]>
- <!ENTITY % back.attlist "INCLUDE">
- <![%back.attlist;[
- <!ATTLIST back %common.att;>
- ]]>
- <!ENTITY % div1.element "INCLUDE">
- <![%div1.element;[
- <!ELEMENT div1 (head, (%div.mix;)*, div2*)>
- ]]>
- <!ENTITY % div1.attlist "INCLUDE">
- <![%div1.attlist;[
- <!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 -->
- <!ENTITY % inform-div1.element "INCLUDE">
- <![%inform-div1.element;[
- <!ELEMENT inform-div1 (head, (%div.mix;)*, div2*)>
- ]]>
- <!ENTITY % inform-div1.attlist "INCLUDE">
- <![%inform-div1.attlist;[
- <!ATTLIST inform-div1 %common.att;>
- ]]>
- <!ENTITY % div2.element "INCLUDE">
- <![%div2.element;[
- <!ELEMENT div2 (head, (%div.mix;)*, div3*)>
- ]]>
- <!ENTITY % div2.attlist "INCLUDE">
- <![%div2.attlist;[
- <!ATTLIST div2 %common.att;>
- ]]>
- <!ENTITY % div3.element "INCLUDE">
- <![%div3.element;[
- <!ELEMENT div3 (head, (%div.mix;)*, div4*)>
- ]]>
- <!ENTITY % div3.attlist "INCLUDE">
- <![%div3.attlist;[
- <!ATTLIST div3 %common.att;>
- ]]>
- <!ENTITY % div4.element "INCLUDE">
- <![%div4.element;[
- <!ELEMENT div4 (head, (%div.mix;)*, div5*)>
- ]]>
- <!ENTITY % div4.attlist "INCLUDE">
- <![%div4.attlist;[
- <!ATTLIST div4 %common.att;>
- ]]>
- <!ENTITY % div5.element "INCLUDE">
- <![%div5.element;[
- <!ELEMENT div5 (head, (%div.mix;)*)>
- ]]>
- <!ENTITY % div5.attlist "INCLUDE">
- <![%div5.attlist;[
- <!ATTLIST div5 %common.att;>
- ]]>
- <!-- ............................................................... -->
- <!-- Specification header .......................................... -->
- <!-- ............................................................... -->
- <!--
- #1998-03-10: maler: Made header content model easily customizable.
- -->
- <!ENTITY % header.element "INCLUDE">
- <![%header.element;[
- <!ELEMENT header (%header.mdl;)>
- ]]>
- <!ENTITY % header.attlist "INCLUDE">
- <![%header.attlist;[
- <!ATTLIST header %common.att;>
- ]]>
- <!-- Example of title: "Extensible Cheese Language (XCL)" -->
- <!ENTITY % title.element "INCLUDE">
- <![%title.element;[
- <!ELEMENT title (#PCDATA)>
- ]]>
- <!ENTITY % title.attlist "INCLUDE">
- <![%title.attlist;[
- <!ATTLIST title %common.att;>
- ]]>
- <!-- Example of subtitle: "A Cheesy Specification" -->
- <!ENTITY % subtitle.element "INCLUDE">
- <![%subtitle.element;[
- <!ELEMENT subtitle (#PCDATA)>
- ]]>
- <!ENTITY % subtitle.attlist "INCLUDE">
- <![%subtitle.attlist;[
- <!ATTLIST subtitle %common.att;>
- ]]>
- <!-- Example of version: "Version 666.0" -->
- <!ENTITY % version.element "INCLUDE">
- <![%version.element;[
- <!ELEMENT version (#PCDATA)>
- ]]>
- <!ENTITY % version.attlist "INCLUDE">
- <![%version.attlist;[
- <!ATTLIST version %common.att;>
- ]]>
- <!-- Example of w3c-designation: "WD-xcl-19991231" -->
- <!ENTITY % w3c-designation.element "INCLUDE">
- <![%w3c-designation.element;[
- <!ELEMENT w3c-designation (#PCDATA)>
- ]]>
- <!ENTITY % w3c-designation.attlist "INCLUDE">
- <![%w3c-designation.attlist;[
- <!ATTLIST w3c-designation %common.att;>
- ]]>
- <!-- Example of w3c-doctype: "W3C Working Draft" -->
- <!ENTITY % w3c-doctype.element "INCLUDE">
- <![%w3c-doctype.element;[
- <!ELEMENT w3c-doctype (#PCDATA)>
- ]]>
- <!ENTITY % w3c-doctype.attlist "INCLUDE">
- <![%w3c-doctype.attlist;[
- <!ATTLIST w3c-doctype %common.att;>
- ]]>
- <!--
- #1998-03-10: maler: Made pubdate content model easily customizable.
- -->
- <!ENTITY % pubdate.element "INCLUDE">
- <![%pubdate.element;[
- <!ELEMENT pubdate (%pubdate.mdl;)>
- ]]>
- <!ENTITY % pubdate.attlist "INCLUDE">
- <![%pubdate.attlist;[
- <!ATTLIST pubdate %common.att;>
- ]]>
- <!ENTITY % day.element "INCLUDE">
- <![%day.element;[
- <!ELEMENT day (#PCDATA)>
- ]]>
- <!ENTITY % day.attlist "INCLUDE">
- <![%day.attlist;[
- <!ATTLIST day %common.att;>
- ]]>
- <!ENTITY % month.element "INCLUDE">
- <![%month.element;[
- <!ELEMENT month (#PCDATA)>
- ]]>
- <!ENTITY % month.attlist "INCLUDE">
- <![%month.attlist;[
- <!ATTLIST month %common.att;>
- ]]>
- <!ENTITY % year.element "INCLUDE">
- <![%year.element;[
- <!ELEMENT year (#PCDATA)>
- ]]>
- <!ENTITY % year.attlist "INCLUDE">
- <![%year.attlist;[
- <!ATTLIST year %common.att;>
- ]]>
- <!--
- #1999-07-02: maler: Declared copyright element.
- -->
- <!ENTITY % copyright.element "INCLUDE">
- <![%copyright.element;[
- <!ELEMENT copyright (%hdr.mix;)+>
- ]]>
- <!ENTITY % copyright.attlist "INCLUDE">
- <![%copyright.attlist;[
- <!ATTLIST copyright %common.att;>
- ]]>
- <!-- Example of notice: "This draft is for public comment..." -->
- <!ENTITY % notice.element "INCLUDE">
- <![%notice.element;[
- <!ELEMENT notice (%hdr.mix;)+>
- ]]>
- <!ENTITY % notice.attlist "INCLUDE">
- <![%notice.attlist;[
- <!ATTLIST notice %common.att;>
- ]]>
- <!--
- #2000-03-07: maler: Broadened models of *loc to %p.pcd.mix;.
- -->
- <!ENTITY % publoc.element "INCLUDE">
- <![%publoc.element;[
- <!ELEMENT publoc (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % publoc.attlist "INCLUDE">
- <![%publoc.attlist;[
- <!ATTLIST publoc %common.att;>
- ]]>
- <!--
- #2002-08-15: nwalsh: Added altlocs element.
- The semantics of the altlocs are equivalent to the Dublin Core relation element
- with type="hasVersion". Each of the loc elements inside altlocs should identify
- an alternate version of the resource described by the document, for example
- HTML, XML, and PDF forms.
- -->
- <!ENTITY % altlocs.element "INCLUDE">
- <![%altlocs.element;[
- <!ELEMENT altlocs (loc+)>
- ]]>
- <!ENTITY % altlocs.attlist "INCLUDE">
- <![%altlocs.attlist;[
- <!ATTLIST altlocs %common.att;>
- ]]>
- <!ENTITY % prevlocs.element "INCLUDE">
- <![%prevlocs.element;[
- <!ELEMENT prevlocs (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % prevlocs.attlist "INCLUDE">
- <![%prevlocs.attlist;[
- <!ATTLIST prevlocs %common.att;>
- ]]>
- <!ENTITY % latestloc.element "INCLUDE">
- <![%latestloc.element;[
- <!ELEMENT latestloc (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % latestloc.attlist "INCLUDE">
- <![%latestloc.attlist;[
- <!ATTLIST latestloc %common.att;>
- ]]>
- <!-- loc (defined in "Phrase-level elements" below) -->
- <!ENTITY % authlist.element "INCLUDE">
- <![%authlist.element;[
- <!ELEMENT authlist (author+)>
- ]]>
- <!ENTITY % authlist.attlist "INCLUDE">
- <![%authlist.attlist;[
- <!ATTLIST authlist %common.att;>
- ]]>
- <!--
- #1997-09-30: maler: Made affiliation optional.
- #1998-03-10: maler: Made email optional.
- -->
- <!ENTITY % author.element "INCLUDE">
- <![%author.element;[
- <!ELEMENT author (name, affiliation?, email?)>
- ]]>
- <!ENTITY % author.attlist "INCLUDE">
- <![%author.attlist;[
- <!ATTLIST author %common.att;>
- ]]>
- <!ENTITY % name.element "INCLUDE">
- <![%name.element;[
- <!ELEMENT name (#PCDATA)>
- ]]>
- <!ENTITY % name.attlist "INCLUDE">
- <![%name.attlist;[
- <!ATTLIST name
- %common.att;
- %key.att;>
- ]]>
- <!ENTITY % affiliation.element "INCLUDE">
- <![%affiliation.element;[
- <!ELEMENT affiliation (#PCDATA)>
- ]]>
- <!ENTITY % affiliation.attlist "INCLUDE">
- <![%affiliation.attlist;[
- <!ATTLIST affiliation %common.att;>
- ]]>
- <!--
- #1999-07-02: maler: Added show/actuate attributes and default values.
- -->
- <!ENTITY % email.element "INCLUDE">
- <![%email.element;[
- <!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>
- -->
- <!ENTITY % email.attlist "INCLUDE">
- <![%email.attlist;[
- <!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.
- -->
- <!ENTITY % status.element "INCLUDE">
- <![%status.element;[
- <!ELEMENT status (%obj.mix;)+>
- ]]>
- <!ENTITY % status.attlist "INCLUDE">
- <![%status.attlist;[
- <!ATTLIST status %common.att;>
- ]]>
- <!ENTITY % abstract.element "INCLUDE">
- <![%abstract.element;[
- <!ELEMENT abstract (%hdr.mix;)*>
- ]]>
- <!ENTITY % abstract.attlist "INCLUDE">
- <![%abstract.attlist;[
- <!ATTLIST abstract %common.att;>
- ]]>
- <!ENTITY % pubstmt.element "INCLUDE">
- <![%pubstmt.element;[
- <!ELEMENT pubstmt (%hdr.mix;)+>
- ]]>
- <!ENTITY % pubstmt.attlist "INCLUDE">
- <![%pubstmt.attlist;[
- <!ATTLIST pubstmt %common.att;>
- ]]>
- <!ENTITY % sourcedesc.element "INCLUDE">
- <![%sourcedesc.element;[
- <!ELEMENT sourcedesc (%hdr.mix;)+>
- ]]>
- <!ENTITY % sourcedesc.attlist "INCLUDE">
- <![%sourcedesc.attlist;[
- <!ATTLIST sourcedesc %common.att;>
- ]]>
- <!ENTITY % langusage.element "INCLUDE">
- <![%langusage.element;[
- <!ELEMENT langusage (language+)>
- ]]>
- <!ENTITY % langusage.attlist "INCLUDE">
- <![%langusage.attlist;[
- <!ATTLIST langusage %common.att;>
- ]]>
- <!ENTITY % language.element "INCLUDE">
- <![%language.element;[
- <!ELEMENT language (#PCDATA)>
- ]]>
- <!ENTITY % language.attlist "INCLUDE">
- <![%language.attlist;[
- <!ATTLIST language %common.att;>
- ]]>
- <!ENTITY % revisiondesc.element "INCLUDE">
- <![%revisiondesc.element;[
- <!ELEMENT revisiondesc (%hdr.mix;)+>
- ]]>
- <!ENTITY % revisiondesc.attlist "INCLUDE">
- <![%revisiondesc.attlist;[
- <!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.
- -->
- <!ENTITY % p.element "INCLUDE">
- <![%p.element;[
- <!ELEMENT p (%p.pcd.mix;|%p.mix;)*>
- ]]>
- <!ENTITY % p.attlist "INCLUDE">
- <![%p.attlist;[
- <!ATTLIST p %common.att;>
- ]]>
- <!-- ............................................................... -->
- <!-- Regular lists ................................................. -->
- <!-- ............................................................... -->
- <!-- ulist: Unordered list, typically bulleted. -->
- <!ENTITY % ulist.element "INCLUDE">
- <![%ulist.element;[
- <!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. -->
- <!ENTITY % ulist.attlist "INCLUDE">
- <![%ulist.attlist;[
- <!ATTLIST ulist
- %common.att;
- spacing (normal|compact) #IMPLIED>
- ]]>
- <!-- olist: Ordered list, typically numbered. -->
- <!ENTITY % olist.element "INCLUDE">
- <![%olist.element;[
- <!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. -->
- <!ENTITY % olist.attlist "INCLUDE">
- <![%olist.attlist;[
- <!ATTLIST olist
- %common.att;
- spacing (normal|compact) #IMPLIED>
- ]]>
- <!ENTITY % item.element "INCLUDE">
- <![%item.element;[
- <!ELEMENT item (%obj.mix;)+>
- ]]>
- <!ENTITY % item.attlist "INCLUDE">
- <![%item.attlist;[
- <!ATTLIST item %common.att;>
- ]]>
- <!-- slist: Simple list, typically with no mark. -->
- <!ENTITY % slist.element "INCLUDE">
- <![%slist.element;[
- <!ELEMENT slist (sitem+)>
- ]]>
- <!ENTITY % slist.attlist "INCLUDE">
- <![%slist.attlist;[
- <!ATTLIST slist %common.att;>
- ]]>
- <!ENTITY % sitem.element "INCLUDE">
- <![%sitem.element;[
- <!ELEMENT sitem (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % sitem.attlist "INCLUDE">
- <![%sitem.attlist;[
- <!ATTLIST sitem %common.att;>
- ]]>
- <!-- glist: Glossary list, typically two-column. -->
- <!ENTITY % glist.element "INCLUDE">
- <![%glist.element;[
- <!ELEMENT glist (gitem+)>
- ]]>
- <!ENTITY % glist.attlist "INCLUDE">
- <![%glist.attlist;[
- <!ATTLIST glist %common.att;>
- ]]>
- <!ENTITY % gitem.element "INCLUDE">
- <![%gitem.element;[
- <!ELEMENT gitem (label, def)>
- ]]>
- <!ENTITY % gitem.attlist "INCLUDE">
- <![%gitem.attlist;[
- <!ATTLIST gitem %common.att;>
- ]]>
- <!ENTITY % label.element "INCLUDE">
- <![%label.element;[
- <!ELEMENT label (%label.pcd.mix;)*>
- ]]>
- <!ENTITY % label.attlist "INCLUDE">
- <![%label.attlist;[
- <!ATTLIST label %common.att;>
- ]]>
- <!ENTITY % def.element "INCLUDE">
- <![%def.element;[
- <!ELEMENT def (%obj.mix;)*>
- ]]>
- <!ENTITY % def.attlist "INCLUDE">
- <![%def.attlist;[
- <!ATTLIST def %common.att;>
- ]]>
- <!-- ............................................................... -->
- <!-- Special lists ................................................. -->
- <!-- ............................................................... -->
- <!-- blist: Bibliography list. -->
- <!ENTITY % blist.element "INCLUDE">
- <![%blist.element;[
- <!ELEMENT blist (bibl+)>
- ]]>
- <!ENTITY % blist.attlist "INCLUDE">
- <![%blist.attlist;[
- <!ATTLIST blist %common.att;>
- ]]>
- <!--
- #1999-07-02: maler: Added show/actuate attributes and default values.
- -->
- <!ENTITY % bibl.element "INCLUDE">
- <![%bibl.element;[
- <!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>
- -->
- <!ENTITY % bibl.attlist "INCLUDE">
- <![%bibl.attlist;[
- <!ATTLIST bibl
- %common.att;
- %simple-xlink.att;
- %href.att;
- %user-replace.att;
- %key.att;>
- ]]>
- <!-- orglist: Organization member list. -->
- <!ENTITY % orglist.element "INCLUDE">
- <![%orglist.element;[
- <!ELEMENT orglist (member+)>
- ]]>
- <!ENTITY % orglist.attlist "INCLUDE">
- <![%orglist.attlist;[
- <!ATTLIST orglist %common.att;>
- ]]>
- <!--
- #1997-09-30: maler: Added optional affiliation.
- -->
- <!ENTITY % member.element "INCLUDE">
- <![%member.element;[
- <!ELEMENT member (name, affiliation?, role?)>
- ]]>
- <!ENTITY % member.attlist "INCLUDE">
- <![%member.attlist;[
- <!ATTLIST member %common.att;>
- ]]>
- <!-- name (defined in "Specification header" above) -->
- <!-- affiliation (defined in "Specification header" above) -->
- <!ENTITY % role.element "INCLUDE">
- <![%role.element;[
- <!ELEMENT role (#PCDATA)>
- ]]>
- <!ENTITY % role.attlist "INCLUDE">
- <![%role.attlist;[
- <!ATTLIST role %common.att;>
- ]]>
- <!-- ............................................................... -->
- <!-- Notes ......................................................... -->
- <!-- ............................................................... -->
- <!ENTITY % note.element "INCLUDE">
- <![%note.element;[
- <!ELEMENT note (%obj.mix;)+>
- ]]>
- <!ENTITY % note.attlist "INCLUDE">
- <![%note.attlist;[
- <!ATTLIST note %common.att;>
- ]]>
- <!--
- #1998-05-14: maler: Declared issue element.
- #2000-03-07: maler: Added head, source, resolution, and status.
- -->
- <!ENTITY % issue.element "INCLUDE">
- <![%issue.element;[
- <!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. -->
- <!ENTITY % issue.attlist "INCLUDE">
- <![%issue.attlist;[
- <!ATTLIST issue
- id ID #REQUIRED
- %role.att;
- %diff.att;
- status (open
- |closed) "open"
- >
- ]]>
- <!ENTITY % source.element "INCLUDE">
- <![%source.element;[
- <!ELEMENT source (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % source.attlist "INCLUDE">
- <![%source.attlist;[
- <!ATTLIST source
- %common.att;>
- ]]>
- <!ENTITY % resolution.element "INCLUDE">
- <![%resolution.element;[
- <!ELEMENT resolution (%obj.mix;)+>
- ]]>
- <!ENTITY % resolution.attlist "INCLUDE">
- <![%resolution.attlist;[
- <!ATTLIST resolution %common.att;>
- ]]>
- <!-- wfcnote: Well-formedness constraint note. -->
- <!ENTITY % wfcnote.element "INCLUDE">
- <![%wfcnote.element;[
- <!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. -->
- <!ENTITY % wfcnote.attlist "INCLUDE">
- <![%wfcnote.attlist;[
- <!ATTLIST wfcnote
- %common-idreq.att;>
- ]]>
- <!-- vcnote: Validity constraint note. -->
- <!ENTITY % vcnote.element "INCLUDE">
- <![%vcnote.element;[
- <!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. -->
- <!ENTITY % vcnote.attlist "INCLUDE">
- <![%vcnote.attlist;[
- <!ATTLIST vcnote
- %common-idreq.att;>
- ]]>
- <!--
- #1998-05-21: maler: Declared generic constraintnote element.
- -->
- <!-- constraintnote: Generic constraint note. -->
- <!ENTITY % constraintnote.element "INCLUDE">
- <![%constraintnote.element;[
- <!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. -->
- <!ENTITY % constraintnote.attlist "INCLUDE">
- <![%constraintnote.attlist;[
- <!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. -->
- <!ENTITY % eg.element "INCLUDE">
- <![%eg.element;[
- <!ELEMENT eg (%eg.pcd.mix;)*>
- ]]>
- <!ENTITY % eg.attlist "INCLUDE">
- <![%eg.attlist;[
- <!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. -->
- <!ENTITY % graphic.element "INCLUDE">
- <![%graphic.element;[
- <!ELEMENT graphic EMPTY>
- ]]>
- <!-- source attribute:
- The graphic data must reside at the location pointed to. -->
- <!ENTITY % local.graphic.att "">
- <!ENTITY % graphic.attlist "INCLUDE">
- <![%graphic.attlist;[
- <!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. -->
- <!ENTITY % proto.element "INCLUDE">
- <![%proto.element;[
- <!ELEMENT proto (arg*)>
- ]]>
- <!ENTITY % local.proto.att "">
- <!ENTITY % proto.attlist "INCLUDE">
- <![%proto.attlist;[
- <!ATTLIST proto
- %common.att;
- %local.proto.att;
- name NMTOKEN #REQUIRED
- return-type %argtypes; #REQUIRED
- >
- ]]>
- <!ENTITY % local.arg.att "">
- <!ENTITY % arg.element "INCLUDE">
- <![%arg.element;[
- <!ELEMENT arg EMPTY>
- ]]>
- <!ENTITY % arg.attlist "INCLUDE">
- <![%arg.attlist;[
- <!ATTLIST arg
- %common.att;
- %local.arg.att;
- type %argtypes; #REQUIRED
- occur (opt|req) #IMPLIED
- >
- ]]>
- <!--
- #2000-03-07: maler: Added example element.
- -->
- <!ENTITY % example.element "INCLUDE">
- <![%example.element;[
- <!ELEMENT example (head?, (%obj.mix;)+)>
- ]]>
- <!ENTITY % example.attlist "INCLUDE">
- <![%example.attlist;[
- <!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. -->
- <!ENTITY % scrap.element "INCLUDE">
- <![%scrap.element;[
- <!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. -->
- <!ENTITY % scrap.attlist "INCLUDE">
- <![%scrap.attlist;[
- <!ATTLIST scrap
- %common.att;
- lang IDREF #IMPLIED
- headstyle (show|suppress) "show"
- >
- ]]>
- <!-- prodgroup: Sub-collection of productions, needed for
- formatting reasons. -->
- <!ENTITY % prodgroup.element "INCLUDE">
- <![%prodgroup.element;[
- <!ELEMENT prodgroup (prod+)>
- ]]>
- <!-- pcw<n> attributes:
- Presentational attributes to control the width
- of the "pseudo-table" columns used to output
- groups of productions. -->
- <!ENTITY % prodgroup.attlist "INCLUDE">
- <![%prodgroup.attlist;[
- <!ATTLIST prodgroup
- %common.att;
- pcw1 CDATA #IMPLIED
- pcw2 CDATA #IMPLIED
- pcw3 CDATA #IMPLIED
- pcw4 CDATA #IMPLIED
- pcw5 CDATA #IMPLIED
- >
- ]]>
- <!-- prod: EBNF language production. -->
- <!ENTITY % prod.element "INCLUDE">
- <![%prod.element;[
- <!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. -->
- <!ENTITY % prod.attlist "INCLUDE">
- <![%prod.attlist;[
- <!ATTLIST prod
- %common-idreq.att;>
- ]]>
- <!-- lhs: Left-hand side of production. -->
- <!ENTITY % lhs.element "INCLUDE">
- <![%lhs.element;[
- <!ELEMENT lhs (#PCDATA)>
- ]]>
- <!ENTITY % lhs.attlist "INCLUDE">
- <![%lhs.attlist;[
- <!ATTLIST lhs %common.att;>
- ]]>
- <!-- rhs: Right-hand side of production; may have many
- "right-hand sides," one to a line. -->
- <!ENTITY % rhs.element "INCLUDE">
- <![%rhs.element;[
- <!ELEMENT rhs (#PCDATA|nt|xnt|com)*>
- ]]>
- <!ENTITY % rhs.attlist "INCLUDE">
- <![%rhs.attlist;[
- <!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. -->
- <!ENTITY % com.element "INCLUDE">
- <![%com.element;[
- <!ELEMENT com (#PCDATA|loc|bibref)*>
- ]]>
- <!ENTITY % com.attlist "INCLUDE">
- <![%com.attlist;[
- <!ATTLIST com %common.att;>
- ]]>
- <!-- wfc: Reference to a well-formedness constraint; should
- generate the head of the wfcnote pointed to. -->
- <!ENTITY % wfc.element "INCLUDE">
- <![%wfc.element;[
- <!ELEMENT wfc EMPTY>
- ]]>
- <!-- def attribute:
- Each well formedness tagline in a production must link to the
- wfcnote that defines it. -->
- <!ENTITY % wfc.attlist "INCLUDE">
- <![%wfc.attlist;[
- <!ATTLIST wfc
- %def-req.att;
- %common.att;>
- ]]>
- <!-- vc: Reference to a validity constraint; should generate
- the head of the vcnote pointed to. -->
- <!ENTITY % vc.element "INCLUDE">
- <![%vc.element;[
- <!ELEMENT vc EMPTY>
- ]]>
- <!-- def attribute:
- Each validity tagline in a production must link to the vcnote
- that defines it. -->
- <!ENTITY % vc.attlist "INCLUDE">
- <![%vc.attlist;[
- <!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. -->
- <!ENTITY % constraint.element "INCLUDE">
- <![%constraint.element;[
- <!ELEMENT constraint EMPTY>
- ]]>
- <!-- def attribute:
- Each constraint tagline in a production must link to the
- constraint note that defines it. -->
- <!ENTITY % constraint.attlist "INCLUDE">
- <![%constraint.attlist;[
- <!ATTLIST constraint
- %def-req.att;
- %common.att;>
- ]]>
- <!--
- #1998-03-23: maler: Added xml:space attribute.
- -->
- <!-- bnf: Un-marked-up EBNF production, with whitespace
- respected. -->
- <!ENTITY % bnf.element "INCLUDE">
- <![%bnf.element;[
- <!ELEMENT bnf (%eg.pcd.mix;)*>
- ]]>
- <!ENTITY % bnf.attlist "INCLUDE">
- <![%bnf.attlist;[
- <!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. -->
- <!ENTITY % prodrecap.element "INCLUDE">
- <![%prodrecap.element;[
- <!ELEMENT prodrecap EMPTY>
- ]]>
- <!ENTITY % prodrecap.attlist "INCLUDE">
- <![%prodrecap.attlist;[
- <!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. -->
- <!ENTITY % table.element "INCLUDE">
- <![%table.element;[
- <!ELEMENT table
- (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>
- ]]>
- <!ENTITY % table.attlist "INCLUDE">
- <![%table.attlist;[
- <!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>
- ]]>
- <!ENTITY % caption.element "INCLUDE">
- <![%caption.element;[
- <!ELEMENT caption (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % caption.attlist "INCLUDE">
- <![%caption.attlist;[
- <!ATTLIST caption %common.att;>
- ]]>
- <!ENTITY % col.element "INCLUDE">
- <![%col.element;[
- <!ELEMENT col EMPTY>
- ]]>
- <!ENTITY % col.attlist "INCLUDE">
- <![%col.attlist;[
- <!ATTLIST col
- %common.att;
- %span.att;
- %width.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % colgroup.element "INCLUDE">
- <![%colgroup.element;[
- <!ELEMENT colgroup (col)*>
- ]]>
- <!ENTITY % colgroup.attlist "INCLUDE">
- <![%colgroup.attlist;[
- <!ATTLIST colgroup
- %common.att;
- %span.att;
- %width.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % thead.element "INCLUDE">
- <![%thead.element;[
- <!ELEMENT thead (tr)+>
- ]]>
- <!ENTITY % thead.attlist "INCLUDE">
- <![%thead.attlist;[
- <!ATTLIST thead
- %common.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % tfoot.element "INCLUDE">
- <![%tfoot.element;[
- <!ELEMENT tfoot (tr)+>
- ]]>
- <!ENTITY % tfoot.attlist "INCLUDE">
- <![%tfoot.attlist;[
- <!ATTLIST tfoot
- %common.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % tbody.element "INCLUDE">
- <![%tbody.element;[
- <!ELEMENT tbody (tr)+>
- ]]>
- <!ENTITY % tbody.attlist "INCLUDE">
- <![%tbody.attlist;[
- <!ATTLIST tbody
- %common.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % tr.element "INCLUDE">
- <![%tr.element;[
- <!ELEMENT tr (th|td)+>
- ]]>
- <!ENTITY % tr.attlist "INCLUDE">
- <![%tr.attlist;[
- <!ATTLIST tr
- %common.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % th.element "INCLUDE">
- <![%th.element;[
- <!ELEMENT th (%p.pcd.mix;|%p.mix;)*>
- ]]>
- <!ENTITY % th.attlist "INCLUDE">
- <![%th.attlist;[
- <!ATTLIST th
- %common.att;
- %thtd.att;
- %cellhalign.att;
- %cellvalign.att;>
- ]]>
- <!ENTITY % td.element "INCLUDE">
- <![%td.element;[
- <!ELEMENT td (%p.pcd.mix;|%p.mix;)*>
- ]]>
- <!ENTITY % td.attlist "INCLUDE">
- <![%td.attlist;[
- <!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 ............................................ -->
- <!ENTITY % descr.element "INCLUDE">
- <![%descr.element;[
- <!ELEMENT descr ((%obj.mix;)*)>
- ]]>
- <!ENTITY % descr.attlist "INCLUDE">
- <![%descr.attlist;[
- <!ATTLIST descr %common.att;>
- ]]>
- <!-- ............................................................... -->
- <!-- IDL definition elements ....................................... -->
- <!-- definitions: Top-level element for definitions. -->
- <!ENTITY % definitions.element "INCLUDE">
- <![%definitions.element;[
- <!ELEMENT definitions (%idl-defn.mix;)+>
- ]]>
- <!ENTITY % definitions.attlist "INCLUDE">
- <![%definitions.attlist;[
- <!ATTLIST definitions %common.att;>
- ]]>
- <!-- group: Element used to group a set of definitions. -->
- <!ENTITY % group.element "INCLUDE">
- <![%group.element;[
- <!ELEMENT group (descr, (%idl-grp.mix;)*)>
- ]]>
- <!ENTITY % group.attlist "INCLUDE">
- <![%group.attlist;[
- <!ATTLIST group
- %common.att;
- %idl-name.att;>
- ]]>
- <!-- interface: Definition of an interface. -->
- <!ENTITY % interface.element "INCLUDE">
- <![%interface.element;[
- <!ELEMENT interface (descr, (%idl-intfc.mix;)*)>
- ]]>
- <!ENTITY % interface.attlist "INCLUDE">
- <![%interface.attlist;[
- <!ATTLIST interface
- %common.att;
- %idl-name.att;
- inherits CDATA #IMPLIED>
- ]]>
- <!-- module: Definition of a module. -->
- <!ENTITY % module.element "INCLUDE">
- <![%module.element;[
- <!ELEMENT module (descr, (%idl-defn.mix;)*)>
- ]]>
- <!ENTITY % module.attlist "INCLUDE">
- <![%module.attlist;[
- <!ATTLIST module
- %common.att;
- %idl-name.att;>
- ]]>
- <!-- reference: Reference to some other declaration. -->
- <!ENTITY % reference.element "INCLUDE">
- <![%reference.element;[
- <!ELEMENT reference EMPTY>
- ]]>
- <!ENTITY % reference.attlist "INCLUDE">
- <![%reference.attlist;[
- <!ATTLIST reference
- %common.att;
- declaration IDREF #REQUIRED>
- ]]>
- <!-- typedef: Definition of a named type. -->
- <!ENTITY % typedef.element "INCLUDE">
- <![%typedef.element;[
- <!ELEMENT typedef (descr, (%idl-type.mix;))>
- ]]>
- <!ENTITY % typedef.attlist "INCLUDE">
- <![%typedef.attlist;[
- <!ATTLIST typedef
- %common.att;
- %idl-name.att;
- array.size NMTOKEN #IMPLIED>
- ]]>
- <!-- struct: Declaration of a struct type. -->
- <!ENTITY % struct.element "INCLUDE">
- <![%struct.element;[
- <!ELEMENT struct (descr, component+)>
- ]]>
- <!ENTITY % struct.attlist "INCLUDE">
- <![%struct.attlist;[
- <!ATTLIST struct
- %common.att;
- %idl-name.att;>
- ]]>
- <!-- component: Declaration of a structural member. -->
- <!ENTITY % component.element "INCLUDE">
- <![%component.element;[
- <!ELEMENT component (%idl-type.mix;)>
- ]]>
- <!ENTITY % component.attlist "INCLUDE">
- <![%component.attlist;[
- <!ATTLIST component
- %common.att;
- %idl-name.att;>
- ]]>
- <!-- union: Declaration of a union type. -->
- <!ENTITY % union.element "INCLUDE">
- <![%union.element;[
- <!ELEMENT union (descr, case+)>
- ]]>
- <!ENTITY % union.attlist "INCLUDE">
- <![%union.attlist;[
- <!ATTLIST union
- %common.att;
- %idl-name.att;
- switch.type CDATA #REQUIRED>
- ]]>
- <!ENTITY % case.element "INCLUDE">
- <![%case.element;[
- <!ELEMENT case (descr, (%idl-type.mix;))>
- ]]>
- <!ENTITY % case.attlist "INCLUDE">
- <![%case.attlist;[
- <!ATTLIST case
- %common.att;
- labels CDATA #REQUIRED>
- ]]>
- <!-- enum: Declaration of an enum type. -->
- <!ENTITY % enum.element "INCLUDE">
- <![%enum.element;[
- <!ELEMENT enum (descr, enumerator+)>
- ]]>
- <!ENTITY % enum.attlist "INCLUDE">
- <![%enum.attlist;[
- <!ATTLIST enum
- %common.att;
- %idl-name.att;>
- ]]>
- <!ENTITY % enumerator.element "INCLUDE">
- <![%enumerator.element;[
- <!ELEMENT enumerator (descr)>
- ]]>
- <!ENTITY % enumerator.attlist "INCLUDE">
- <![%enumerator.attlist;[
- <!ATTLIST enumerator
- %common.att;
- %idl-name.att;>
- ]]>
- <!-- sequence: Declaration of a sequence type (not named). -->
- <!ENTITY % sequence.element "INCLUDE">
- <![%sequence.element;[
- <!ELEMENT sequence (sequence*)>
- ]]>
- <!ENTITY % sequence.attlist "INCLUDE">
- <![%sequence.attlist;[
- <!ATTLIST sequence
- %common.att;
- %idl-type.att;
- size NMTOKEN #IMPLIED>
- ]]>
- <!-- constant: Declaration of a named constant. -->
- <!ENTITY % constant.element "INCLUDE">
- <![%constant.element;[
- <!ELEMENT constant (descr)>
- ]]>
- <!ENTITY % constant.attlist "INCLUDE">
- <![%constant.attlist;[
- <!ATTLIST constant
- %common.att;
- %idl-name.att;
- %idl-type.att;
- value CDATA #REQUIRED>
- ]]>
- <!-- exception: Declaration of an exception. -->
- <!ENTITY % exception.element "INCLUDE">
- <![%exception.element;[
- <!ELEMENT exception (descr, component*)>
- ]]>
- <!ENTITY % exception.attlist "INCLUDE">
- <![%exception.attlist;[
- <!ATTLIST exception
- %common.att;
- %idl-name.att;>
- ]]>
- <!-- component (defined under struct, above)-->
- <!-- attribute: Declaration of an attribute (data member). -->
- <!ENTITY % attribute.element "INCLUDE">
- <![%attribute.element;[
- <!ELEMENT attribute (descr)>
- ]]>
- <!ENTITY % attribute.attlist "INCLUDE">
- <![%attribute.attlist;[
- <!ATTLIST attribute
- %common.att;
- %idl-name.att;
- %idl-type.att;
- readonly (yes
- |no) "no">
- ]]>
- <!-- method: Declaration of a method. -->
- <!ENTITY % method.element "INCLUDE">
- <![%method.element;[
- <!ELEMENT method (descr, parameters, returns, raises)>
- ]]>
- <!ENTITY % method.attlist "INCLUDE">
- <![%method.attlist;[
- <!ATTLIST method
- %common.att;
- %idl-name.att;>
- ]]>
- <!ENTITY % parameters.element "INCLUDE">
- <![%parameters.element;[
- <!ELEMENT parameters (param*)>
- ]]>
- <!ENTITY % parameters.attlist "INCLUDE">
- <![%parameters.attlist;[
- <!ATTLIST parameters %common.att;>
- ]]>
- <!ENTITY % param.element "INCLUDE">
- <![%param.element;[
- <!ELEMENT param (descr)>
- ]]>
- <!ENTITY % param.attlist "INCLUDE">
- <![%param.attlist;[
- <!ATTLIST param
- %common.att;
- %idl-name.att;
- %idl-type.att;
- attr (in
- |out
- |inout) "inout">
- ]]>
- <!ENTITY % returns.element "INCLUDE">
- <![%returns.element;[
- <!ELEMENT returns (descr)>
- ]]>
- <!ENTITY % returns.attlist "INCLUDE">
- <![%returns.attlist;[
- <!ATTLIST returns
- %common.att;
- %idl-type.att;>
- ]]>
- <!ENTITY % raises.element "INCLUDE">
- <![%raises.element;[
- <!ELEMENT raises (exception*)>
- ]]>
- <!-- exception (defined under constant, above)-->
- <!ENTITY % typename.element "INCLUDE">
- <![%typename.element;[
- <!ELEMENT typename (#PCDATA)>
- ]]>
- <!ENTITY % typename.attlist "INCLUDE">
- <![%typename.attlist;[
- <!ATTLIST typename %common.att;>
- ]]>
- <!-- ............................................................... -->
- <!-- Phrase-level elements ......................................... -->
- <!-- ............................................................... -->
- <!--
- #2000-03-07: maler: Added att and attval elements.
- -->
- <!-- att: Attribute name. -->
- <!ENTITY % att.element "INCLUDE">
- <![%att.element;[
- <!ELEMENT att (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % att.attlist "INCLUDE">
- <![%att.attlist;[
- <!ATTLIST att %common.att;>
- ]]>
- <!-- attval: Attribute value. -->
- <!ENTITY % attval.element "INCLUDE">
- <![%attval.element;[
- <!ELEMENT attval (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % attval.attlist "INCLUDE">
- <![%attval.attlist;[
- <!ATTLIST attval %common.att;>
- ]]>
- <!-- bibref: Reference to a bibliography list entry; should
- generate, in square brackets, "key" on bibl. -->
- <!ENTITY % bibref.element "INCLUDE">
- <![%bibref.element;[
- <!ELEMENT bibref EMPTY>
- ]]>
- <!-- ref attribute:
- A bibliography reference must link to the bibl element that
- describes the resource. -->
- <!ENTITY % bibref.attlist "INCLUDE">
- <![%bibref.attlist;[
- <!ATTLIST bibref
- %common.att;
- %ref-req.att;>
- ]]>
- <!ENTITY % code.element "INCLUDE">
- <![%code.element;[
- <!ELEMENT code (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % code.attlist "INCLUDE">
- <![%code.attlist;[
- <!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. -->
- <!ENTITY % ednote.element "INCLUDE">
- <![%ednote.element;[
- <!ELEMENT ednote (name?, date?, edtext)>
- ]]>
- <!ENTITY % ednote.attlist "INCLUDE">
- <![%ednote.attlist;[
- <!ATTLIST ednote %common.att;>
- ]]>
- <!ENTITY % date.element "INCLUDE">
- <![%date.element;[
- <!ELEMENT date (#PCDATA)>
- ]]>
- <!ENTITY % date.attlist "INCLUDE">
- <![%date.attlist;[
- <!ATTLIST date %common.att;>
- ]]>
- <!ENTITY % edtext.element "INCLUDE">
- <![%edtext.element;[
- <!ELEMENT edtext (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % edtext.attlist "INCLUDE">
- <![%edtext.attlist;[
- <!ATTLIST edtext %common.att;>
- ]]>
- <!--
- #2000-03-07: maler: Added el element.
- -->
- <!-- el: Element type name (GI). -->
- <!ENTITY % el.element "INCLUDE">
- <![%el.element;[
- <!ELEMENT el (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % el.attlist "INCLUDE">
- <![%el.attlist;[
- <!ATTLIST el %common.att;>
- ]]>
- <!--
- #2000-03-07: maler: Expanded emph to %p.pcd.mix;.
- -->
- <!ENTITY % emph.element "INCLUDE">
- <![%emph.element;[
- <!ELEMENT emph (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % emph.attlist "INCLUDE">
- <![%emph.attlist;[
- <!ATTLIST emph %common.att;>
- ]]>
- <!-- footnote: Both footnote content and call to footnote. -->
- <!ENTITY % footnote.element "INCLUDE">
- <![%footnote.element;[
- <!ELEMENT footnote (%obj.mix;)+>
- ]]>
- <!ENTITY % footnote.attlist "INCLUDE">
- <![%footnote.attlist;[
- <!ATTLIST footnote %common.att;>
- ]]>
- <!--
- #2000-03-07: maler: Added function and gave it content of
- # %tech.pcd.mix; instead of XPath's #PCDATA.
- -->
- <!ENTITY % function.element "INCLUDE">
- <![%function.element;[
- <!ELEMENT function (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % function.attlist "INCLUDE">
- <![%function.attlist;[
- <!ATTLIST function %common.att;>
- ]]>
- <!ENTITY % kw.element "INCLUDE">
- <![%kw.element;[
- <!ELEMENT kw (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % kw.attlist "INCLUDE">
- <![%kw.attlist;[
- <!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. -->
- <!ENTITY % loc.element "INCLUDE">
- <![%loc.element;[
- <!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>
- -->
- <!ENTITY % loc.attlist "INCLUDE">
- <![%loc.attlist;[
- <!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. -->
- <!ENTITY % nt.element "INCLUDE">
- <![%nt.element;[
- <!ELEMENT nt (#PCDATA)>
- ]]>
- <!-- def attribute:
- The nonterminal must link to the production that defines
- it. -->
- <!ENTITY % nt.attlist "INCLUDE">
- <![%nt.attlist;[
- <!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. -->
- <!ENTITY % phrase.element "INCLUDE">
- <![%phrase.element;[
- <!ELEMENT phrase (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % phrase.attlist "INCLUDE">
- <![%phrase.attlist;[
- <!ATTLIST phrase %common.att;>
- ]]>
- <!--
- #1998-03-10: maler: Declared quote.
- -->
- <!-- quote: Scare quotes and other purely presentational quotes. -->
- <!ENTITY % quote.element "INCLUDE">
- <![%quote.element;[
- <!ELEMENT quote (%p.pcd.mix;)*>
- ]]>
- <!ENTITY % quote.attlist "INCLUDE">
- <![%quote.attlist;[
- <!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. -->
- <!ENTITY % specref.element "INCLUDE">
- <![%specref.element;[
- <!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. -->
- <!ENTITY % specref.attlist "INCLUDE">
- <![%specref.attlist;[
- <!ATTLIST specref
- %common.att;
- %ref-req.att;>
- ]]>
- <!--
- #2000-03-07: maler: Added sub and sup.
- -->
- <!-- sub: Subscript. -->
- <!ENTITY % sub.element "INCLUDE">
- <![%sub.element;[
- <!ELEMENT sub (#PCDATA)>
- ]]>
- <!ENTITY % sub.attlist "INCLUDE">
- <![%sub.attlist;[
- <!ATTLIST sub %common.att;>
- ]]>
- <!-- sup: Superscript. -->
- <!ENTITY % sup.element "INCLUDE">
- <![%sup.element;[
- <!ELEMENT sup (#PCDATA)>
- ]]>
- <!ENTITY % sup.attlist "INCLUDE">
- <![%sup.attlist;[
- <!ATTLIST sup %common.att;>
- ]]>
- <!-- term: The term in text that is being defined in text. -->
- <!ENTITY % term.element "INCLUDE">
- <![%term.element;[
- <!ELEMENT term (#PCDATA)>
- ]]>
- <!ENTITY % term.attlist "INCLUDE">
- <![%term.attlist;[
- <!ATTLIST term %common.att;>
- ]]>
- <!-- termdef: Definition of a term in text. -->
- <!ENTITY % termdef.element "INCLUDE">
- <![%termdef.element;[
- <!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). -->
- <!ENTITY % termdef.attlist "INCLUDE">
- <![%termdef.attlist;[
- <!ATTLIST termdef
- %common-idreq.att;
- term CDATA #REQUIRED>
- ]]>
- <!-- termref: Mention of a term, along with a link to the
- definition in the current document. -->
- <!ENTITY % termref.element "INCLUDE">
- <![%termref.element;[
- <!ELEMENT termref (#PCDATA)>
- ]]>
- <!-- ref attribute:
- A term reference must link to the termdef element that
- defines the term. -->
- <!ENTITY % termref.attlist "INCLUDE">
- <![%termref.attlist;[
- <!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. -->
- <!ENTITY % titleref.element "INCLUDE">
- <![%titleref.element;[
- <!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>
- -->
- <!ENTITY % titleref.attlist "INCLUDE">
- <![%titleref.attlist;[
- <!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..." -->
- <!ENTITY % var.element "INCLUDE">
- <![%var.element;[
- <!ELEMENT var (%tech.pcd.mix;)*>
- ]]>
- <!ENTITY % var.attlist "INCLUDE">
- <![%var.attlist;[
- <!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. -->
- <!ENTITY % xnt.element "INCLUDE">
- <![%xnt.element;[
- <!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>
- -->
- <!ENTITY % xnt.attlist "INCLUDE">
- <![%xnt.attlist;[
- <!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. -->
- <!ENTITY % xspecref.element "INCLUDE">
- <![%xspecref.element;[
- <!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>
- -->
- <!ENTITY % xspecref.attlist "INCLUDE">
- <![%xspecref.attlist;[
- <!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. -->
- <!ENTITY % xtermref.element "INCLUDE">
- <![%xtermref.element;[
- <!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>
- -->
- <!ENTITY % xtermref.attlist "INCLUDE">
- <![%xtermref.attlist;[
- <!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. -->
- <!ENTITY % div.element "INCLUDE">
- <![%div.element;[
- <!ELEMENT div
- (head?, (%div.mix;|ul|ol|h1|h2|h3|h4|h5|h6|div)*)>
- ]]>
- <!ENTITY % h1.element "INCLUDE">
- <![%h1.element;[
- <!ELEMENT h1 (%head.pcd.mix;|em|a)*>
- ]]>
- <!ENTITY % h2.element "INCLUDE">
- <![%h2.element;[
- <!ELEMENT h2 (%head.pcd.mix;|em|a)*>
- ]]>
- <!ENTITY % h3.element "INCLUDE">
- <![%h3.element;[
- <!ELEMENT h3 (%head.pcd.mix;|em|a)*>
- ]]>
- <!ENTITY % h4.element "INCLUDE">
- <![%h4.element;[
- <!ELEMENT h4 (%head.pcd.mix;|em|a)*>
- ]]>
- <!ENTITY % h5.element "INCLUDE">
- <![%h5.element;[
- <!ELEMENT h5 (%head.pcd.mix;|em|a)*>
- ]]>
- <!ENTITY % h6.element "INCLUDE">
- <![%h6.element;[
- <!ELEMENT h6 (%head.pcd.mix;|em|a)*>
- ]]>
- <!ENTITY % pre.element "INCLUDE">
- <![%pre.element;[
- <!ELEMENT pre (%eg.pcd.mix;|em)*>
- ]]>
- <!ENTITY % ul.element "INCLUDE">
- <![%ul.element;[
- <!ELEMENT ul (item|li)*>
- ]]>
- <!ENTITY % ol.element "INCLUDE">
- <![%ol.element;[
- <!ELEMENT ol (item|li)*>
- ]]>
- <!ENTITY % li.element "INCLUDE">
- <![%li.element;[
- <!ELEMENT li (#PCDATA|%obj.mix;)*>
- ]]>
- <!ENTITY % em.element "INCLUDE">
- <![%em.element;[
- <!ELEMENT em (#PCDATA)>
- ]]>
- <!ENTITY % a.element "INCLUDE">
- <![%a.element;[
- <!ELEMENT a (#PCDATA)>
- ]]>
- <!ENTITY % key-term.element "INCLUDE">
- <![%key-term.element;[
- <!ELEMENT key-term (#PCDATA)>
- ]]>
- <!ENTITY % htable.element "INCLUDE">
- <![%htable.element;[
- <!ELEMENT htable
- (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>
- ]]>
- <!ENTITY % htbody.element "INCLUDE">
- <![%htbody.element;[
- <!ELEMENT htbody (tr)+>
- ]]>
- <!ENTITY % statusp.element "INCLUDE">
- <![%statusp.element;[
- <!ELEMENT statusp (%p.pcd.mix;|%p.mix;)*>
- ]]>
- <!ENTITY % itemizedlist.element "INCLUDE">
- <![%itemizedlist.element;[
- <!ELEMENT itemizedlist (listitem*)>
- ]]>
- <!ENTITY % orderedlist.element "INCLUDE">
- <![%orderedlist.element;[
- <!ELEMENT orderedlist (listitem*)>
- ]]>
- <!ENTITY % listitem.element "INCLUDE">
- <![%listitem.element;[
- <!ELEMENT listitem (para*)>
- ]]>
- <!ENTITY % para.element "INCLUDE">
- <![%para.element;[
- <!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 .................................. -->
- <!-- ............................................................... -->
-