| <!-- ............................................................... --> |
| <!-- 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 .................................. --> |
| <!-- ............................................................... --> |