123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972 |
- <!-- ............................................................... -->
- <!-- XML specification DTD ......................................... -->
- <!-- ............................................................... -->
- <!--
- TYPICAL INVOCATION:
- # <!DOCTYPE spec PUBLIC
- # "-//W3C//DTD Specification::19980323//EN"
- # "http://www.w3.org/XML/Group/DTD/xmlspec.dtd">
- PURPOSE:
- This DTD was developed for use with the XML family of W3C
- specifications. It is an XML-compliant DTD 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/Group/DTD/xmlspec-report.htm>
- The "typical invocation" FPI always gets updated to reflect the
- date of the most recent changes.
- Search this file for "#" in the first column to see change history
- comments.
- MAINTAINER:
- Eve Maler
- ArborText Inc.
- elm@arbortext.com
- voice: +1 781 270 5750
- fax: +1 781 273 3760
- -->
- <!-- ............................................................... -->
- <!-- 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.
- -->
- <!ENTITY lt "&#60;">
- <!ENTITY gt ">">
- <!ENTITY amp "&#38;">
- <!ENTITY apos "'">
- <!ENTITY quot """>
- <!ENTITY mdash "--">
- <!ENTITY nbsp " ">
- <!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.
- -->
- <!ENTITY % local.p.class "">
- <!ENTITY % p.class "p
- %local.p.class;">
- <!ENTITY % local.statusp.class "">
- <!ENTITY % statusp.class "statusp
- %local.statusp.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|wfcnote|vcnote
- %local.note.class;">
- <!ENTITY % local.illus.class "">
- <!ENTITY % illus.class "eg|graphic|scrap|htable
- %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.
- -->
- <!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|quote
- %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
- %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-123: maler: Added %termdef.mix; (broken out from
- # %termdef.pcd.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 % statusobj.mix
- "%p.class;|%statusp.class;|%list.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;.
- -->
- <!ENTITY % p.pcd.mix
- "#PCDATA|%annot.class;|%termdef.class;|%emph.class;
- |%ref.class;|%tech.class;|%loc.class;|%ednote.class;">
- <!ENTITY % statusp.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;|%ednote.class;">
- <!ENTITY % label.pcd.mix
- "#PCDATA|%annot.class;|%termdef.class;|%emph.class;|%tech.class;
- |%ednote.class;">
- <!ENTITY % eg.pcd.mix
- "#PCDATA|%annot.class;|%emph.class;|%ednote.class;">
- <!ENTITY % termdef.pcd.mix
- "#PCDATA|term|%emph.class;|%ref.class;|%tech.class;
- |%ednote.class;">
- <!ENTITY % bibl.pcd.mix
- "#PCDATA|%emph.class;|%ref.class;|%loc.class;|%ednote.class;">
- <!ENTITY % tech.pcd.mix
- "#PCDATA|%ednote.class;">
- <!ENTITY % loc.pcd.mix
- "#PCDATA|%loc.class;|%ednote.class;">
- <!-- ............................................................... -->
- <!-- Entities for customizable content models ...................... -->
- <!--
- #1998-03-10: maler: Added customization entities.
- -->
- <!ENTITY % spec.mdl
- "header, front?, body, back?">
- <!ENTITY % header.mdl
- "title, subtitle?, version, w3c-designation, w3c-doctype,
- pubdate, notice*, publoc, latestloc?, prevlocs?, authlist,
- abstract, status, pubstmt?, sourcedesc?, langusage,
- revisiondesc">
- <!ENTITY % pubdate.mdl
- "day?, month, year">
- <!-- ............................................................... -->
- <!-- Entities for common attributes ................................ -->
- <!-- 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.
- -->
- <!-- HREF and source attributes:
- Points to the element where more information or source data
- can be found, using the URL (XLL simple link) mechanism.
- For some purposes, is associated with additional XLL
- attributes. %href.att; is for optional HREF attributes,
- and %href-req.att; is for required HREF attributes.
- %source-req.att; is for the source attribute, which
- is always required. -->
- <!ENTITY % href.att
- 'xml-link CDATA #FIXED "simple"
- href CDATA #IMPLIED
- show CDATA #FIXED "embed"
- actuate CDATA #FIXED "auto"'>
- <!ENTITY % href-req.att
- 'xml-link CDATA #FIXED "simple"
- href CDATA #REQUIRED
- show CDATA #FIXED "embed"
- actuate CDATA #FIXED "auto"'>
- <!ENTITY % source-req.att
- 'xml-link CDATA #FIXED "simple"
- xml:attributes NMTOKENS #FIXED "href source"
- source CDATA #REQUIRED
- show CDATA #FIXED "embed"
- actuate CDATA #FIXED "auto"'>
- <!-- xml:space attribute:
- Indicates that the element contains white space
- that the formatter or other application should retain,
- as appropriate to its function. -->
- <!ENTITY % xmlspace.att
- 'xml:space (default
- |preserve) #FIXED "preserve"'>
- <!-- Common attributes:
- Every element has an ID attribute (sometimes required,
- but usually optional) for links, and a Role attribute
- for extending the useful life of the DTD by allowing
- authors to make subclasses for any element. %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 NMTOKEN #IMPLIED'>
- <!ENTITY % common-idreq.att
- 'id ID #REQUIRED
- role NMTOKEN #IMPLIED'>
- <!-- ............................................................... -->
- <!-- 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.
- -->
- <!ELEMENT spec (%spec.mdl;)>
- <!ATTLIST spec %common.att;>
- <!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.
- -->
- <!-- 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;)*)>
- <!ATTLIST div4 %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: "World Wide Web Consortium 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;>
- <!-- Example of notice: "This draft is for public comment..." -->
- <!ELEMENT notice (%hdr.mix;)+>
- <!ATTLIST notice %common.att;>
- <!ELEMENT publoc (loc+)>
- <!ATTLIST publoc %common.att;>
- <!ELEMENT prevlocs (loc+)>
- <!ATTLIST prevlocs %common.att;>
- <!ELEMENT latestloc (loc+)>
- <!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;>
- <!ELEMENT email (#PCDATA)>
- <!-- HREF attribute:
- email functions as a hypertext reference through this
- required attribute. Typically the reference would use
- the mailto: scheme. -->
- <!ATTLIST email
- %common.att;
- %href-req.att;>
- <!-- The status element now contains both statusp and p, and
- the latter now allows loc. Use p; statusp will be removed
- eventually. -->
- <!ELEMENT status (%statusobj.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;>
- <!-- ............................................................... -->
- <!-- Standalone elements ........................................... -->
- <!-- Paragraphs .................... -->
- <!--
- #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.
- -->
- <!ELEMENT p (%p.pcd.mix;|%p.mix;)*>
- <!ATTLIST p %common.att;>
- <!-- statusp: Special paragraph that allows loc inside it (note that
- p now also allows loc) -->
- <!ELEMENT statusp (%statusp.pcd.mix;|%statusobj.mix;)*>
- <!ATTLIST statusp %common.att;>
- <!-- Lists ......................... -->
- <!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>
- <!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;>
- <!ELEMENT slist (sitem+)>
- <!ATTLIST slist %common.att;>
- <!ELEMENT sitem (%p.pcd.mix;)*>
- <!ATTLIST sitem %common.att;>
- <!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 ................. -->
- <!ELEMENT blist (bibl+)>
- <!ATTLIST blist %common.att;>
- <!ELEMENT bibl (%bibl.pcd.mix;)*>
- <!-- HREF attribute:
- bibl optionally functions as a hypertext reference to the
- referred-to resource through this attribute. -->
- <!ATTLIST bibl
- %common.att;
- %href.att;
- %key.att;>
- <!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;>
- <!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;>
- <!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;>
- <!-- Illustrations ................. -->
- <!--
- #1998-03-23: maler: Added xml:space attribute.
- -->
- <!ELEMENT eg (%eg.pcd.mix;)*>
- <!ATTLIST eg
- %common.att;
- %xmlspace.att;>
- <!ELEMENT graphic EMPTY>
- <!-- source attribute:
- The graphic data must reside at the location pointed to.
- This is a hypertext reference, but for practical purposes,
- for now it should just be a pathname. -->
- <!ATTLIST graphic
- %common.att;
- %source-req.att;
- alt CDATA #IMPLIED>
- <!--
- #1997-11-28: maler: Added prodgroup to scrap and defined it.
- -->
- <!ELEMENT scrap (head, (prodgroup+ | prod+ | bnf))>
- <!-- lang attribute:
- The scrap can link to a description of the language used,
- found in a language element in the header. -->
- <!ATTLIST scrap
- %common.att;
- lang IDREF #IMPLIED>
- <!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
- >
- <!ELEMENT prod (lhs, (rhs, (com|wfc|vc)*)+)>
- <!-- 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;>
- <!ELEMENT lhs (#PCDATA)>
- <!ATTLIST lhs %common.att;>
- <!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.
- -->
- <!ELEMENT com (#PCDATA|loc|bibref)*>
- <!ATTLIST com %common.att;>
- <!-- wfc: 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: 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-03-23: maler: Added xml:space attribute.
- -->
- <!-- bnf: Un-marked-up production -->
- <!ELEMENT bnf (%eg.pcd.mix;)*>
- <!ATTLIST bnf
- %common.att;
- %xmlspace.att;>
- <!--
- #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.
- -->
- <!-- TR and TD attributes:
- Alignment attributes. No default. -->
- <!ENTITY % trtd.att
- "align (left
- |center
- |right) #IMPLIED
- valign (top
- |middle
- |bottom) #IMPLIED">
- <!ELEMENT htable (htbody+)>
- <!ATTLIST htable
- border CDATA "0"
- cellpadding CDATA "0"
- align (left
- |center
- |right) "left">
- <!ELEMENT htbody (tr+)>
- <!ATTLIST htbody %common.att;>
- <!ELEMENT tr (td+)>
- <!ATTLIST tr
- %common.att;
- %trtd.att;>
- <!ELEMENT td (%p.pcd.mix;)*>
- <!ATTLIST td
- %common.att;
- %trtd.att;
- bgcolor CDATA #IMPLIED
- rowspan CDATA "1"
- colspan CDATA "1">
- <!-- ............................................................... -->
- <!-- Phrase-level elements ......................................... -->
- <!-- bibref: 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.
- -->
- <!ELEMENT ednote (name?, date?, edtext)>
- <!ATTLIST ednote %common.att;>
- <!ELEMENT date (#PCDATA)>
- <!ATTLIST date %common.att;>
- <!ELEMENT edtext (#PCDATA)>
- <!ATTLIST edtext %common.att;>
- <!ELEMENT emph (#PCDATA)>
- <!ATTLIST emph %common.att;>
- <!-- footnote: Both footnote content and call to footnote -->
- <!ELEMENT footnote (%obj.mix;)+>
- <!ATTLIST footnote %common.att;>
- <!ELEMENT kw (%tech.pcd.mix;)*>
- <!ATTLIST kw %common.att;>
- <!ELEMENT loc (#PCDATA)>
- <!-- HREF attribute:
- The purpose of a loc element is to function as a 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.) -->
- <!ATTLIST loc
- %common.att;
- %href-req.att;>
- <!ELEMENT nt (#PCDATA)>
- <!-- def attribute:
- The nonterminal must link to the production that defines
- it. -->
- <!ATTLIST nt
- %common.att;
- %def-req.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: Should generate italic "[n.n], Section Title" for
- div, "n" for numbered item, or "[n]" for production -->
- <!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;>
- <!ELEMENT term (#PCDATA)>
- <!ATTLIST term %common.att;>
- <!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>
- <!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;>
- <!ELEMENT titleref (#PCDATA)>
- <!-- HREF attribute:
- A title reference can optionally function as a hypertext
- link to the resource with this title. -->
- <!ATTLIST titleref
- %common.att;
- %href.att;>
- <!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). -->
- <!ATTLIST xnt
- %common.att;
- %href-req.att;>
- <!--
- #1997-12-29: maler: Declared xspecref.
- -->
- <!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). -->
- <!ATTLIST xspecref
- %common.att;
- %href-req.att;>
- <!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). -->
- <!ATTLIST xtermref
- %common.att;
- %href-req.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.
- -->
- <!-- The following elements are purposely declared but never
- referenced. Declaring them allows them to be pasted from
- an HTML 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)>
- <!-- ............................................................... -->
- <!-- 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.)
- #1997-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.
- #1997-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.
- -->
- <!-- ............................................................... -->
- <!-- End of XML specification DTD .................................. -->
- <!-- ............................................................... -->
|