Annotation of embedaddon/libxml2/test/valid/dtds/spec.dtd, revision 1.1

1.1     ! misho       1: <!-- ............................................................... -->
        !             2: <!-- XML specification DTD ......................................... -->
        !             3: <!-- ............................................................... -->
        !             4: 
        !             5: <!--
        !             6: TYPICAL INVOCATION:
        !             7: #  <!DOCTYPE spec PUBLIC
        !             8: #       "-//W3C//DTD Specification::19980323//EN"
        !             9: #       "http://www.w3.org/XML/Group/DTD/xmlspec.dtd">
        !            10: 
        !            11: PURPOSE:
        !            12:   This DTD was developed for use with the XML family of W3C
        !            13:   specifications.  It is an XML-compliant DTD based in part on
        !            14:   the TEI Lite and Sweb DTDs.
        !            15: 
        !            16: DEPENDENCIES:
        !            17:   None.
        !            18: 
        !            19: CHANGE HISTORY:
        !            20:   The list of changes is at the end of the DTD.
        !            21: 
        !            22:   For all details, see the design report at:
        !            23: 
        !            24:     <http://www.w3.org/XML/Group/DTD/xmlspec-report.htm>
        !            25: 
        !            26:   The "typical invocation" FPI always gets updated to reflect the
        !            27:   date of the most recent changes.
        !            28: 
        !            29:   Search this file for "#" in the first column to see change history
        !            30:   comments.
        !            31: 
        !            32: MAINTAINER:
        !            33:   Eve Maler
        !            34:   ArborText Inc.
        !            35:   elm@arbortext.com
        !            36:   voice: +1 781 270 5750
        !            37:   fax:   +1 781 273 3760
        !            38: -->
        !            39: 
        !            40: <!-- ............................................................... -->
        !            41: <!-- Entities for characters and symbols ........................... -->
        !            42: 
        !            43: <!--
        !            44: #1998-03-10: maler: Added &ldquo; and &rdquo;.
        !            45: #                   Used 8879:1986-compatible decimal character
        !            46: #                   references.
        !            47: #                   Merged charent.mod file back into main file.
        !            48: -->
        !            49: 
        !            50: <!ENTITY lt     "&#38;#60;">
        !            51: <!ENTITY gt     "&#62;">
        !            52: <!ENTITY amp    "&#38;#38;">
        !            53: <!ENTITY apos   "&#39;">
        !            54: <!ENTITY quot   "&#34;">
        !            55: <!ENTITY mdash  "--">
        !            56: <!ENTITY nbsp   "&#160;">
        !            57: <!ENTITY ldquo  "#x201C;">
        !            58: <!ENTITY rdquo  "#x201D;">
        !            59: 
        !            60: <!-- ............................................................... -->
        !            61: <!-- Entities for classes of standalone elements ................... -->
        !            62: 
        !            63: <!--
        !            64: #1997-10-16: maler: Added table to %illus.class;.
        !            65: #1997-11-28: maler: Added htable to %illus.class;.
        !            66: #1997-12-29: maler: IGNOREd table.
        !            67: #1998-03-10: maler: Removed SGML Open-specific %illus.class;.
        !            68: #                   Added "local" entities for customization.
        !            69: -->
        !            70: 
        !            71: <!ENTITY % local.p.class        "">
        !            72: <!ENTITY % p.class              "p
        !            73:                                 %local.p.class;">
        !            74: 
        !            75: <!ENTITY % local.statusp.class  "">
        !            76: <!ENTITY % statusp.class        "statusp
        !            77:                                 %local.statusp.class;">
        !            78: 
        !            79: <!ENTITY % local.list.class     "">
        !            80: <!ENTITY % list.class           "ulist|olist|slist|glist
        !            81:                                 %local.list.class;">
        !            82: 
        !            83: <!ENTITY % local.speclist.class "">
        !            84: <!ENTITY % speclist.class       "orglist|blist
        !            85:                                 %local.speclist.class;">
        !            86: 
        !            87: <!ENTITY % local.note.class     "">
        !            88: <!ENTITY % note.class           "note|wfcnote|vcnote
        !            89:                                 %local.note.class;">
        !            90: 
        !            91: <!ENTITY % local.illus.class    "">
        !            92: <!ENTITY % illus.class          "eg|graphic|scrap|htable
        !            93:                                 %local.illus.class;">
        !            94: 
        !            95: <!-- ............................................................... -->
        !            96: <!-- Entities for classes of phrase-level elements ................. -->
        !            97: 
        !            98: <!--
        !            99: #1997-12-29: maler: Added xspecref to %ref.class;.
        !           100: #1998-03-10: maler: Added %ednote.class;.
        !           101: #                   Added "local" entities for customization.
        !           102: -->
        !           103: 
        !           104: <!ENTITY % local.annot.class    "">
        !           105: <!ENTITY % annot.class          "footnote
        !           106:                                 %local.annot.class;">
        !           107: 
        !           108: <!ENTITY % local.termdef.class    "">
        !           109: <!ENTITY % termdef.class        "termdef|term
        !           110:                                 %local.termdef.class;">
        !           111: 
        !           112: <!ENTITY % local.emph.class    "">
        !           113: <!ENTITY % emph.class           "emph|quote
        !           114:                                 %local.emph.class;">
        !           115: 
        !           116: <!ENTITY % local.ref.class    "">
        !           117: <!ENTITY % ref.class            "bibref|specref|termref|titleref
        !           118:                                 |xspecref|xtermref
        !           119:                                 %local.ref.class;">
        !           120: 
        !           121: <!ENTITY % local.loc.class    "">
        !           122: <!ENTITY % loc.class            "loc
        !           123:                                 %local.loc.class;">
        !           124: 
        !           125: <!ENTITY % local.tech.class    "">
        !           126: <!ENTITY % tech.class           "kw|nt|xnt|code
        !           127:                                 %local.tech.class;">
        !           128: 
        !           129: <!ENTITY % local.ednote.class    "">
        !           130: <!ENTITY % ednote.class         "ednote
        !           131:                                 %local.ednote.class;">
        !           132: 
        !           133: <!-- ............................................................... -->
        !           134: <!-- Entities for mixtures of standalone elements .................. -->
        !           135: 
        !           136: <!--
        !           137: #1997-09-30: maler: Created %p.mix; to eliminate p from self.
        !           138: #1997-09-30: maler: Added %speclist.class; to %obj.mix; and %p.mix;.
        !           139: #1997-09-30: maler: Added %note.class; to %obj.mix; and %p.mix;.
        !           140: #1997-10-16: maler: Created %entry.mix;.  Note that some elements
        !           141: #                   left out here are still allowed in termdef,
        !           142: #                   which entry can contain through %p.pcd.mix;.
        !           143: #1997-11-28: maler: Added %p.class; to %statusobj.mix;.
        !           144: #1998-03-10: maler: Added %ednote.class; to all mixtures, except
        !           145: #                   %p.mix; and %statusobj.mix;, because paragraphs
        !           146: #                   and status paragraphs will contain ednote
        !           147: #                   through %p.pcd.mix;.
        !           148: #1998-03-123: maler: Added %termdef.mix; (broken out from
        !           149: #                    %termdef.pcd.mix;).
        !           150: -->
        !           151: 
        !           152: <!ENTITY % div.mix
        !           153:         "%p.class;|%list.class;|%speclist.class;|%note.class;
        !           154:         |%illus.class;|%ednote.class;">
        !           155: <!ENTITY % obj.mix
        !           156:         "%p.class;|%list.class;|%speclist.class;|%note.class;
        !           157:         |%illus.class;|%ednote.class;">
        !           158: <!ENTITY % p.mix
        !           159:         "%list.class;|%speclist.class;|%note.class;|%illus.class;">
        !           160: <!ENTITY % entry.mix
        !           161:         "%list.class;|note|eg|graphic|%ednote.class;">
        !           162: <!ENTITY % statusobj.mix
        !           163:         "%p.class;|%statusp.class;|%list.class;">
        !           164: <!ENTITY % hdr.mix
        !           165:         "%p.class;|%list.class;|%ednote.class;">
        !           166: <!ENTITY % termdef.mix
        !           167:         "%note.class;|%illus.class;">
        !           168: 
        !           169: <!-- ............................................................... -->
        !           170: <!-- Entities for mixtures of #PCDATA and phrase-level elements .... -->
        !           171: 
        !           172: <!--    Note that %termdef.pcd.mix contains %note.class;
        !           173:         and %illus.class;, considered standalone elements. -->
        !           174: 
        !           175: <!--
        !           176: #1997-09-30: maler: Added scrap and %note.class; to %termdef.pcd.mix;.
        !           177: #1997-11-28: maler: Added %loc.class; to %p.pcd.mix;.
        !           178: #1998-03-10: maler: Added %ednote.class; to all mixtures.
        !           179: #1998-03-23: maler: Moved some %termdef.pcd.mix; stuff out to
        !           180: #                   %termdef.mix;.
        !           181: -->
        !           182: 
        !           183: <!ENTITY % p.pcd.mix
        !           184:         "#PCDATA|%annot.class;|%termdef.class;|%emph.class;
        !           185:         |%ref.class;|%tech.class;|%loc.class;|%ednote.class;">
        !           186: <!ENTITY % statusp.pcd.mix
        !           187:         "#PCDATA|%annot.class;|%termdef.class;|%emph.class;
        !           188:         |%ref.class;|%tech.class;|%loc.class;|%ednote.class;">
        !           189: <!ENTITY % head.pcd.mix
        !           190:         "#PCDATA|%annot.class;|%emph.class;|%tech.class;|%ednote.class;">
        !           191: <!ENTITY % label.pcd.mix
        !           192:         "#PCDATA|%annot.class;|%termdef.class;|%emph.class;|%tech.class;
        !           193:         |%ednote.class;">
        !           194: <!ENTITY % eg.pcd.mix
        !           195:         "#PCDATA|%annot.class;|%emph.class;|%ednote.class;">
        !           196: <!ENTITY % termdef.pcd.mix
        !           197:         "#PCDATA|term|%emph.class;|%ref.class;|%tech.class;
        !           198:         |%ednote.class;">
        !           199: <!ENTITY % bibl.pcd.mix
        !           200:         "#PCDATA|%emph.class;|%ref.class;|%loc.class;|%ednote.class;">
        !           201: <!ENTITY % tech.pcd.mix
        !           202:         "#PCDATA|%ednote.class;">
        !           203: <!ENTITY % loc.pcd.mix
        !           204:         "#PCDATA|%loc.class;|%ednote.class;">
        !           205: 
        !           206: <!-- ............................................................... -->
        !           207: <!-- Entities for customizable content models ...................... -->
        !           208: 
        !           209: <!--
        !           210: #1998-03-10: maler: Added customization entities.
        !           211: -->
        !           212: 
        !           213: <!ENTITY % spec.mdl
        !           214:         "header, front?, body, back?">
        !           215: 
        !           216: <!ENTITY % header.mdl
        !           217:         "title, subtitle?, version, w3c-designation, w3c-doctype,
        !           218:         pubdate, notice*, publoc, latestloc?, prevlocs?, authlist,
        !           219:         abstract, status, pubstmt?, sourcedesc?, langusage,
        !           220:         revisiondesc">
        !           221: 
        !           222: <!ENTITY % pubdate.mdl
        !           223:         "day?, month, year">
        !           224: 
        !           225: <!-- ............................................................... -->
        !           226: <!-- Entities for common attributes ................................ -->
        !           227: 
        !           228: <!--    key attribute:
        !           229:         Optionally provides a sorting or indexing key, for cases when
        !           230:         the element content is inappropriate for this purpose. -->
        !           231: <!ENTITY % key.att
        !           232:         'key                    CDATA           #IMPLIED'>
        !           233: 
        !           234: <!--    def attribute:
        !           235:         Points to the element where the relevant definition can be
        !           236:         found, using the IDREF mechanism.  %def.att; is for optional
        !           237:         def attributes, and %def-req.att; is for required def
        !           238:         attributes. -->
        !           239: <!ENTITY % def.att
        !           240:         'def                    IDREF           #IMPLIED'>
        !           241: <!ENTITY % def-req.att
        !           242:         'def                    IDREF           #REQUIRED'>
        !           243: 
        !           244: <!--    ref attribute:
        !           245:         Points to the element where more information can be found,
        !           246:         using the IDREF mechanism.  %ref.att; is for optional
        !           247:         ref attributes, and %ref-req.att; is for required ref
        !           248:         attributes. -->
        !           249: <!ENTITY % ref.att
        !           250:         'ref                    IDREF           #IMPLIED'>
        !           251: <!ENTITY % ref-req.att
        !           252:         'ref                    IDREF           #REQUIRED'>
        !           253: 
        !           254: <!--
        !           255: #1998-03-23: maler: Added show and actuate attributes to href.
        !           256: #                   Added semi-common xml:space attribute.
        !           257: -->
        !           258: 
        !           259: <!--    HREF and source attributes:
        !           260:         Points to the element where more information or source data
        !           261:         can be found, using the URL (XLL simple link) mechanism.
        !           262:         For some purposes, is associated with additional XLL
        !           263:         attributes. %href.att; is for optional HREF attributes,
        !           264:         and %href-req.att; is for required HREF attributes.
        !           265:         %source-req.att; is for the source attribute, which
        !           266:         is always required. -->
        !           267: <!ENTITY % href.att
        !           268:         'xml-link               CDATA           #FIXED "simple"
        !           269:         href                    CDATA           #IMPLIED
        !           270:         show                    CDATA           #FIXED "embed"
        !           271:         actuate                 CDATA           #FIXED "auto"'>
        !           272: 
        !           273: <!ENTITY % href-req.att
        !           274:         'xml-link               CDATA           #FIXED "simple"
        !           275:         href                    CDATA           #REQUIRED
        !           276:         show                    CDATA           #FIXED "embed"
        !           277:         actuate                 CDATA           #FIXED "auto"'>
        !           278: 
        !           279: <!ENTITY % source-req.att
        !           280:         'xml-link               CDATA           #FIXED "simple"
        !           281:         xml:attributes          NMTOKENS        #FIXED "href source"
        !           282:         source                  CDATA           #REQUIRED
        !           283:         show                    CDATA           #FIXED "embed"
        !           284:         actuate                 CDATA           #FIXED "auto"'>
        !           285: 
        !           286: <!--    xml:space attribute:
        !           287:         Indicates that the element contains white space
        !           288:         that the formatter or other application should retain,
        !           289:         as appropriate to its function. -->
        !           290: <!ENTITY % xmlspace.att
        !           291:         'xml:space              (default
        !           292:                                 |preserve)      #FIXED "preserve"'>
        !           293: 
        !           294: <!--    Common attributes:
        !           295:         Every element has an ID attribute (sometimes required,
        !           296:         but usually optional) for links, and a Role attribute
        !           297:         for extending the useful life of the DTD by allowing
        !           298:         authors to make subclasses for any element. %common.att;
        !           299:         is for common attributes where the ID is optional, and
        !           300:         %common-idreq.att; is for common attributes where the
        !           301:         ID is required. -->
        !           302: <!ENTITY % common.att
        !           303:         'id                     ID              #IMPLIED
        !           304:         role                    NMTOKEN         #IMPLIED'>
        !           305: <!ENTITY % common-idreq.att
        !           306:         'id                     ID              #REQUIRED
        !           307:         role                    NMTOKEN         #IMPLIED'>
        !           308: 
        !           309: <!-- ............................................................... -->
        !           310: <!-- Common elements ............................................... -->
        !           311: 
        !           312: <!--    head: Title on divisions, productions, and the like -->
        !           313: <!ELEMENT head (%head.pcd.mix;)*>
        !           314: <!ATTLIST head %common.att;>
        !           315: 
        !           316: <!-- ............................................................... -->
        !           317: <!-- Major specification structure ................................. -->
        !           318: 
        !           319: <!--
        !           320: #1998-03-10: maler: Made spec content model easily customizable.
        !           321: -->
        !           322: 
        !           323: <!ELEMENT spec (%spec.mdl;)>
        !           324: <!ATTLIST spec %common.att;>
        !           325: 
        !           326: <!ELEMENT front (div1+)>
        !           327: <!ATTLIST front %common.att;>
        !           328: 
        !           329: <!ELEMENT body (div1+)>
        !           330: <!ATTLIST body %common.att;>
        !           331: 
        !           332: <!--
        !           333: #1997-09-30: maler: Added inform-div1 to back content.
        !           334: -->
        !           335: 
        !           336: <!ELEMENT back ((div1+, inform-div1*) | inform-div1+)>
        !           337: <!ATTLIST back %common.att;>
        !           338: 
        !           339: <!ELEMENT div1 (head, (%div.mix;)*, div2*)>
        !           340: <!ATTLIST div1 %common.att;>
        !           341: 
        !           342: <!--
        !           343: #1997-09-30: maler: Added inform-div1 declarations.
        !           344: -->
        !           345: 
        !           346: <!--    inform-div1: Non-normative division in back matter -->
        !           347: <!ELEMENT inform-div1 (head, (%div.mix;)*, div2*)>
        !           348: <!ATTLIST inform-div1 %common.att;>
        !           349: 
        !           350: <!ELEMENT div2 (head, (%div.mix;)*, div3*)>
        !           351: <!ATTLIST div2 %common.att;>
        !           352: 
        !           353: <!ELEMENT div3 (head, (%div.mix;)*, div4*)>
        !           354: <!ATTLIST div3 %common.att;>
        !           355: 
        !           356: <!ELEMENT div4 (head, (%div.mix;)*)>
        !           357: <!ATTLIST div4 %common.att;>
        !           358: 
        !           359: <!-- Specification header .......... -->
        !           360: 
        !           361: <!--
        !           362: #1998-03-10: maler: Made header content model easily customizable.
        !           363: -->
        !           364: 
        !           365: <!ELEMENT header (%header.mdl;)>
        !           366: <!ATTLIST header %common.att;>
        !           367: 
        !           368: <!--    Example of title: "Extensible Cheese Language (XCL)" -->
        !           369: <!ELEMENT title (#PCDATA)>
        !           370: <!ATTLIST title %common.att;>
        !           371: 
        !           372: <!--    Example of subtitle: "A Cheesy Specification" -->
        !           373: <!ELEMENT subtitle (#PCDATA)>
        !           374: <!ATTLIST subtitle %common.att;>
        !           375: 
        !           376: <!--    Example of version: "Version 666.0" -->
        !           377: <!ELEMENT version (#PCDATA)>
        !           378: <!ATTLIST version %common.att;>
        !           379: 
        !           380: <!--    Example of w3c-designation: "WD-xcl-19991231" -->
        !           381: <!ELEMENT w3c-designation (#PCDATA)>
        !           382: <!ATTLIST w3c-designation %common.att;>
        !           383: 
        !           384: <!--    Example of w3c-doctype: "World Wide Web Consortium Working
        !           385:         Draft" -->
        !           386: <!ELEMENT w3c-doctype (#PCDATA)>
        !           387: <!ATTLIST w3c-doctype %common.att;>
        !           388: 
        !           389: <!--
        !           390: #1998-03-10: maler: Made pubdate content model easily customizable.
        !           391: -->
        !           392: 
        !           393: <!ELEMENT pubdate (%pubdate.mdl;)>
        !           394: <!ATTLIST pubdate %common.att;>
        !           395: 
        !           396: <!ELEMENT day (#PCDATA)>
        !           397: <!ATTLIST day %common.att;>
        !           398: 
        !           399: <!ELEMENT month (#PCDATA)>
        !           400: <!ATTLIST month %common.att;>
        !           401: 
        !           402: <!ELEMENT year (#PCDATA)>
        !           403: <!ATTLIST year %common.att;>
        !           404: 
        !           405: <!--    Example of notice: "This draft is for public comment..." -->
        !           406: <!ELEMENT notice (%hdr.mix;)+>
        !           407: <!ATTLIST notice %common.att;>
        !           408: 
        !           409: <!ELEMENT publoc (loc+)>
        !           410: <!ATTLIST publoc %common.att;>
        !           411: 
        !           412: <!ELEMENT prevlocs (loc+)>
        !           413: <!ATTLIST prevlocs %common.att;>
        !           414: 
        !           415: <!ELEMENT latestloc (loc+)>
        !           416: <!ATTLIST latestloc %common.att;>
        !           417: 
        !           418: <!--      loc (defined in "Phrase-level elements" below) -->
        !           419: 
        !           420: <!ELEMENT authlist (author+)>
        !           421: <!ATTLIST authlist %common.att;>
        !           422: 
        !           423: <!--
        !           424: #1997-09-30: maler: Made affiliation optional.
        !           425: #1998-03-10: maler: Made email optional.
        !           426: -->
        !           427: 
        !           428: <!ELEMENT author (name, affiliation?, email?)>
        !           429: <!ATTLIST author %common.att;>
        !           430: 
        !           431: <!ELEMENT name (#PCDATA)>
        !           432: <!ATTLIST name
        !           433:         %common.att;
        !           434:         %key.att;>
        !           435: 
        !           436: <!ELEMENT affiliation (#PCDATA)>
        !           437: <!ATTLIST affiliation %common.att;>
        !           438: 
        !           439: <!ELEMENT email (#PCDATA)>
        !           440: <!--    HREF attribute:
        !           441:         email functions as a hypertext reference through this
        !           442:         required attribute.  Typically the reference would use
        !           443:         the mailto: scheme. -->
        !           444: <!ATTLIST email
        !           445:         %common.att;
        !           446:         %href-req.att;>
        !           447: 
        !           448: <!--    The status element now contains both statusp and p, and
        !           449:         the latter now allows loc.  Use p; statusp will be removed
        !           450:         eventually. -->
        !           451: <!ELEMENT status (%statusobj.mix;)+>
        !           452: <!ATTLIST status %common.att;>
        !           453: 
        !           454: <!ELEMENT abstract (%hdr.mix;)*>
        !           455: <!ATTLIST abstract %common.att;>
        !           456: 
        !           457: <!ELEMENT pubstmt (%hdr.mix;)+>
        !           458: <!ATTLIST pubstmt %common.att;>
        !           459: 
        !           460: <!ELEMENT sourcedesc (%hdr.mix;)+>
        !           461: <!ATTLIST sourcedesc %common.att;>
        !           462: 
        !           463: <!ELEMENT langusage (language+)>
        !           464: <!ATTLIST langusage %common.att;>
        !           465: 
        !           466: <!ELEMENT language (#PCDATA)>
        !           467: <!ATTLIST language %common.att;>
        !           468: 
        !           469: <!ELEMENT revisiondesc (%hdr.mix;)+>
        !           470: <!ATTLIST revisiondesc %common.att;>
        !           471: 
        !           472: <!-- ............................................................... -->
        !           473: <!-- Standalone elements ........................................... -->
        !           474: 
        !           475: <!-- Paragraphs .................... -->
        !           476: 
        !           477: <!--
        !           478: #1997-09-30: maler: Changed from %obj.mix; to %p.mix;.
        !           479: #1997-12-29: maler: Changed order of %p.mix; and %p.pcd.mix; references.
        !           480: #1997-12-29: maler: Changed order of %statusobj.mix; and %statusp.pcd.mix;
        !           481: #                   references.
        !           482: -->
        !           483: 
        !           484: <!ELEMENT p (%p.pcd.mix;|%p.mix;)*>
        !           485: <!ATTLIST p %common.att;>
        !           486: 
        !           487: <!--    statusp: Special paragraph that allows loc inside it (note that
        !           488:         p now also allows loc) -->
        !           489: <!ELEMENT statusp (%statusp.pcd.mix;|%statusobj.mix;)*>
        !           490: <!ATTLIST statusp %common.att;>
        !           491: 
        !           492: <!-- Lists ......................... -->
        !           493: 
        !           494: <!ELEMENT ulist (item+)>
        !           495: <!--    spacing attribute:
        !           496:         Use "normal" to get normal vertical spacing for items;
        !           497:         use "compact" to get less spacing.  The default is dependent
        !           498:         on the stylesheet. -->
        !           499: <!ATTLIST ulist
        !           500:         %common.att;
        !           501:         spacing         (normal|compact)        #IMPLIED>
        !           502: 
        !           503: <!ELEMENT olist (item+)>
        !           504: <!--    spacing attribute:
        !           505:         Use "normal" to get normal vertical spacing for items;
        !           506:         use "compact" to get less spacing.  The default is dependent
        !           507:         on the stylesheet. -->
        !           508: <!ATTLIST olist
        !           509:         %common.att;
        !           510:         spacing         (normal|compact)        #IMPLIED>
        !           511: 
        !           512: <!ELEMENT item (%obj.mix;)+>
        !           513: <!ATTLIST item %common.att;>
        !           514: 
        !           515: <!ELEMENT slist (sitem+)>
        !           516: <!ATTLIST slist %common.att;>
        !           517: 
        !           518: <!ELEMENT sitem (%p.pcd.mix;)*>
        !           519: <!ATTLIST sitem %common.att;>
        !           520: 
        !           521: <!ELEMENT glist (gitem+)>
        !           522: <!ATTLIST glist %common.att;>
        !           523: 
        !           524: <!ELEMENT gitem (label, def)>
        !           525: <!ATTLIST gitem %common.att;>
        !           526: 
        !           527: <!ELEMENT label (%label.pcd.mix;)*>
        !           528: <!ATTLIST label %common.att;>
        !           529: 
        !           530: <!ELEMENT def (%obj.mix;)*>
        !           531: <!ATTLIST def %common.att;>
        !           532: 
        !           533: <!-- Special lists ................. -->
        !           534: 
        !           535: <!ELEMENT blist (bibl+)>
        !           536: <!ATTLIST blist %common.att;>
        !           537: 
        !           538: <!ELEMENT bibl (%bibl.pcd.mix;)*>
        !           539: 
        !           540: <!--    HREF attribute:
        !           541:         bibl optionally functions as a hypertext reference to the
        !           542:         referred-to resource through this attribute. -->
        !           543: 
        !           544: <!ATTLIST bibl
        !           545:         %common.att;
        !           546:         %href.att;
        !           547:         %key.att;>
        !           548: 
        !           549: <!ELEMENT orglist (member+)>
        !           550: <!ATTLIST orglist %common.att;>
        !           551: 
        !           552: <!--
        !           553: #1997-09-30: maler: Added optional affiliation.
        !           554: -->
        !           555: 
        !           556: <!ELEMENT member (name, affiliation?, role?)>
        !           557: <!ATTLIST member %common.att;>
        !           558: 
        !           559: <!--      name (defined in "Specification header" above) -->
        !           560: <!--      affiliation (defined in "Specification header" above) -->
        !           561: 
        !           562: <!ELEMENT role (#PCDATA)>
        !           563: <!ATTLIST role %common.att;>
        !           564: 
        !           565: <!-- Notes ......................... -->
        !           566: 
        !           567: <!ELEMENT note (%obj.mix;)+>
        !           568: <!ATTLIST note %common.att;>
        !           569: 
        !           570: <!ELEMENT wfcnote (head, (%obj.mix;)+)>
        !           571: <!--    ID attribute:
        !           572:         wfcnote must have an ID so that it can be pointed to
        !           573:         from a wfc element in a production. -->
        !           574: <!ATTLIST wfcnote
        !           575:         %common-idreq.att;>
        !           576: 
        !           577: <!ELEMENT vcnote (head, (%obj.mix;)+)>
        !           578: <!--    ID attribute:
        !           579:         vcnote must have an ID so that it can be pointed to
        !           580:         from a vc element in a production. -->
        !           581: <!ATTLIST vcnote
        !           582:         %common-idreq.att;>
        !           583: 
        !           584: <!-- Illustrations ................. -->
        !           585: 
        !           586: <!--
        !           587: #1998-03-23: maler: Added xml:space attribute.
        !           588: -->
        !           589: 
        !           590: <!ELEMENT eg (%eg.pcd.mix;)*>
        !           591: <!ATTLIST eg
        !           592:         %common.att;
        !           593:         %xmlspace.att;>
        !           594: 
        !           595: <!ELEMENT graphic EMPTY>
        !           596: <!--    source attribute:
        !           597:         The graphic data must reside at the location pointed to.
        !           598:         This is a hypertext reference, but for practical purposes,
        !           599:         for now it should just be a pathname. -->
        !           600: <!ATTLIST graphic
        !           601:         %common.att;
        !           602:         %source-req.att;
        !           603:         alt             CDATA           #IMPLIED>
        !           604: 
        !           605: <!--
        !           606: #1997-11-28: maler: Added prodgroup to scrap and defined it.
        !           607: -->
        !           608: 
        !           609: <!ELEMENT scrap (head, (prodgroup+ | prod+ | bnf))>
        !           610: <!--    lang attribute:
        !           611:         The scrap can link to a description of the language used,
        !           612:         found in a language element in the header. -->
        !           613: <!ATTLIST scrap
        !           614:         %common.att;
        !           615:         lang            IDREF           #IMPLIED>
        !           616: 
        !           617: <!ELEMENT prodgroup (prod+)>
        !           618: <!--    pcw<n> attributes:
        !           619:         Presentational attributes to control the width
        !           620:         of the "pseudo-table" columns used to output
        !           621:         groups of productions. -->
        !           622: <!ATTLIST prodgroup
        !           623:         %common.att;
        !           624:         pcw1            CDATA           #IMPLIED
        !           625:         pcw2            CDATA           #IMPLIED
        !           626:         pcw3            CDATA           #IMPLIED
        !           627:         pcw4            CDATA           #IMPLIED
        !           628:         pcw5            CDATA           #IMPLIED
        !           629: >
        !           630: 
        !           631: <!ELEMENT prod (lhs, (rhs, (com|wfc|vc)*)+)>
        !           632: <!--    ID attribute:
        !           633:         The production must have an ID so that cross-references
        !           634:         (specref) and mentions of nonterminals (nt) can link to
        !           635:         it. -->
        !           636: <!ATTLIST prod
        !           637:         %common-idreq.att;>
        !           638: 
        !           639: <!ELEMENT lhs (#PCDATA)>
        !           640: <!ATTLIST lhs %common.att;>
        !           641: 
        !           642: <!ELEMENT rhs (#PCDATA|nt|xnt|com)*>
        !           643: <!ATTLIST rhs %common.att;>
        !           644: 
        !           645: <!--      nt and xnt (defined in "Phrase-level elements" below) -->
        !           646: 
        !           647: <!--
        !           648: #1997-11-28: maler: Added loc and bibref to com content.
        !           649: -->
        !           650: 
        !           651: <!ELEMENT com (#PCDATA|loc|bibref)*>
        !           652: <!ATTLIST com %common.att;>
        !           653: 
        !           654: <!--    wfc: Should generate the head of the wfcnote pointed to -->
        !           655: <!ELEMENT wfc EMPTY>
        !           656: <!--    def attribute:
        !           657:         Each well formedness tagline in a production must link to the
        !           658:         wfcnote that defines it. -->
        !           659: <!ATTLIST wfc
        !           660:         %def-req.att;
        !           661:         %common.att;>
        !           662: 
        !           663: <!--    vc: Should generate the head of the vcnote pointed to -->
        !           664: <!ELEMENT vc EMPTY>
        !           665: <!--    def attribute:
        !           666:         Each validity tagline in a production must link to the vcnote
        !           667:         that defines it. -->
        !           668: <!ATTLIST vc
        !           669:         %def-req.att;
        !           670:         %common.att;>
        !           671: 
        !           672: <!--
        !           673: #1998-03-23: maler: Added xml:space attribute.
        !           674: -->
        !           675: 
        !           676: <!--    bnf: Un-marked-up production -->
        !           677: <!ELEMENT bnf (%eg.pcd.mix;)*>
        !           678: <!ATTLIST bnf
        !           679:         %common.att;
        !           680:         %xmlspace.att;>
        !           681: 
        !           682: <!--
        !           683: #1997-10-16: maler: Added table mechanism.
        !           684: #1997-11-28: maler: Added non-null system ID to entity declaration.
        !           685: #                   Added HTML table module.
        !           686: #1997-12-29: maler: IGNOREd SGML Open table model.
        !           687: #1998-03-10: maler: Removed SGML Open table model.
        !           688: #                   Merged html-tbl.mod file into main file.
        !           689: #                   Added %common.att; to all HTML table elements.
        !           690: -->
        !           691: 
        !           692: <!--    TR and TD attributes:
        !           693:         Alignment attributes.  No default. -->
        !           694: <!ENTITY % trtd.att
        !           695:         "align          (left
        !           696:                         |center
        !           697:                         |right)         #IMPLIED
        !           698:         valign          (top
        !           699:                         |middle
        !           700:                         |bottom)        #IMPLIED">
        !           701: 
        !           702: <!ELEMENT htable (htbody+)>
        !           703: <!ATTLIST htable
        !           704:           border        CDATA           "0"
        !           705:           cellpadding   CDATA           "0"
        !           706:           align         (left
        !           707:                         |center
        !           708:                         |right)         "left">
        !           709: 
        !           710: <!ELEMENT htbody (tr+)>
        !           711: <!ATTLIST htbody %common.att;>
        !           712: 
        !           713: <!ELEMENT tr     (td+)>
        !           714: <!ATTLIST tr
        !           715:         %common.att;
        !           716:         %trtd.att;>
        !           717: 
        !           718: <!ELEMENT td     (%p.pcd.mix;)*>
        !           719: <!ATTLIST td
        !           720:         %common.att;
        !           721:         %trtd.att;
        !           722:         bgcolor         CDATA           #IMPLIED
        !           723:         rowspan         CDATA           "1"
        !           724:         colspan         CDATA           "1">
        !           725: 
        !           726: <!-- ............................................................... -->
        !           727: <!-- Phrase-level elements ......................................... -->
        !           728: 
        !           729: <!--    bibref: Should generate, in square brackets, "key" on bibl -->
        !           730: <!ELEMENT bibref EMPTY>
        !           731: <!--    ref attribute:
        !           732:         A bibliography reference must link to the bibl element that
        !           733:         describes the resource. -->
        !           734: <!ATTLIST bibref
        !           735:         %common.att;
        !           736:         %ref-req.att;>
        !           737: 
        !           738: <!ELEMENT code (%tech.pcd.mix;)*>
        !           739: <!ATTLIST code %common.att;>
        !           740: 
        !           741: <!--
        !           742: #1998-03-10: maler: Declared ednote and related elements.
        !           743: -->
        !           744: 
        !           745: <!ELEMENT ednote (name?, date?, edtext)>
        !           746: <!ATTLIST ednote %common.att;>
        !           747: 
        !           748: <!ELEMENT date (#PCDATA)>
        !           749: <!ATTLIST date %common.att;>
        !           750: 
        !           751: <!ELEMENT edtext (#PCDATA)>
        !           752: <!ATTLIST edtext %common.att;>
        !           753: 
        !           754: <!ELEMENT emph (#PCDATA)>
        !           755: <!ATTLIST emph %common.att;>
        !           756: 
        !           757: <!--    footnote: Both footnote content and call to footnote -->
        !           758: <!ELEMENT footnote (%obj.mix;)+>
        !           759: <!ATTLIST footnote %common.att;>
        !           760: 
        !           761: <!ELEMENT kw (%tech.pcd.mix;)*>
        !           762: <!ATTLIST kw %common.att;>
        !           763: 
        !           764: <!ELEMENT loc (#PCDATA)>
        !           765: <!--    HREF attribute:
        !           766:         The purpose of a loc element is to function as a hypertext
        !           767:         link to a resource.  (Ideally, the content of loc will also
        !           768:         mention the URI of the resource, so that readers of the
        !           769:         printed version will be able to locate the resource.) -->
        !           770: <!ATTLIST loc
        !           771:         %common.att;
        !           772:         %href-req.att;>
        !           773: 
        !           774: <!ELEMENT nt (#PCDATA)>
        !           775: <!--    def attribute:
        !           776:         The nonterminal must link to the production that defines
        !           777:         it. -->
        !           778: <!ATTLIST nt
        !           779:         %common.att;
        !           780:         %def-req.att;>
        !           781: 
        !           782: <!--
        !           783: #1998-03-10: maler: Declared quote.
        !           784: -->
        !           785: 
        !           786: <!--    quote: Scare quotes and other purely presentational quotes -->
        !           787: <!ELEMENT quote (%p.pcd.mix;)*>
        !           788: <!ATTLIST quote %common.att;>
        !           789: 
        !           790: <!--    specref: Should generate italic "[n.n], Section Title" for
        !           791:         div, "n" for numbered item, or "[n]" for production -->
        !           792: <!ELEMENT specref EMPTY>
        !           793: <!--    ref attribute:
        !           794:         The purpose of a specref element is to link to a div, item
        !           795:         in an olist, or production in the current spec. -->
        !           796: <!ATTLIST specref
        !           797:         %common.att;
        !           798:         %ref-req.att;>
        !           799: 
        !           800: <!ELEMENT term (#PCDATA)>
        !           801: <!ATTLIST term %common.att;>
        !           802: 
        !           803: <!ELEMENT termdef (%termdef.pcd.mix;|%termdef.mix;)*>
        !           804: <!--    ID attribute:
        !           805:         A term definition must have an ID so that it can be linked
        !           806:         to from termref elements. -->
        !           807: <!--    term attribute:
        !           808:         The canonical form of the term or phrase being defined must
        !           809:         appear in this attribute, even if the term or phrase also
        !           810:         appears in the element content in identical form (e.g., in
        !           811:         the term element). -->
        !           812: <!ATTLIST termdef
        !           813:         %common-idreq.att;
        !           814:         term            CDATA           #REQUIRED>
        !           815: 
        !           816: <!ELEMENT termref (#PCDATA)>
        !           817: <!--    ref attribute:
        !           818:         A term reference must link to the termdef element that
        !           819:         defines the term. -->
        !           820: <!ATTLIST termref
        !           821:         %common.att;
        !           822:         %def-req.att;>
        !           823: 
        !           824: <!ELEMENT titleref (#PCDATA)>
        !           825: <!--    HREF attribute:
        !           826:         A title reference can optionally function as a hypertext
        !           827:         link to the resource with this title. -->
        !           828: <!ATTLIST titleref
        !           829:         %common.att;
        !           830:         %href.att;>
        !           831: 
        !           832: <!ELEMENT xnt (#PCDATA)>
        !           833: <!--    HREF attribute:
        !           834:         The nonterminal must hyperlink to a resource that serves
        !           835:         to define it (e.g., a production in a related XML
        !           836:         specification). -->
        !           837: <!ATTLIST xnt
        !           838:         %common.att;
        !           839:         %href-req.att;>
        !           840: 
        !           841: <!--
        !           842: #1997-12-29: maler: Declared xspecref.
        !           843: -->
        !           844: 
        !           845: <!ELEMENT xspecref (#PCDATA)>
        !           846: <!--    HREF attribute:
        !           847:         The spec reference must hyperlink to the resource to
        !           848:         cross-refer to (e.g., a section in a related XML
        !           849:         specification). -->
        !           850: <!ATTLIST xspecref
        !           851:         %common.att;
        !           852:         %href-req.att;>
        !           853: 
        !           854: <!ELEMENT xtermref (#PCDATA)>
        !           855: <!--    HREF attribute:
        !           856:         The term reference must hyperlink to the resource that
        !           857:         serves to define the term (e.g., a term definition in
        !           858:         a related XML specification). -->
        !           859: <!ATTLIST xtermref
        !           860:         %common.att;
        !           861:         %href-req.att;>
        !           862: 
        !           863: <!-- ............................................................... -->
        !           864: <!-- Unused elements for ADEPT ..................................... -->
        !           865: 
        !           866: <!--
        !           867: #1997-09-30: maler: Added unusued elements.
        !           868: #1997-10-14: maler: Fixed div to move nested div to the mixture.
        !           869: -->
        !           870: 
        !           871: <!--    The following elements are purposely declared but never
        !           872:         referenced.  Declaring them allows them to be pasted from
        !           873:         an HTML document into a document using this DTD in ADEPT.
        !           874:         The ATD Context Transformation mechanism will try to convert
        !           875:         them to the appropriate element for this DTD.  While this
        !           876:         conversion will not work for all fragments, it does allow
        !           877:         many cases to work reasonably well. -->
        !           878: 
        !           879: <!ELEMENT div
        !           880:         (head?, (%div.mix;|ul|ol|h1|h2|h3|h4|h5|h6|div)*)>
        !           881: <!ELEMENT h1 (%head.pcd.mix;|em|a)*>
        !           882: <!ELEMENT h2 (%head.pcd.mix;|em|a)*>
        !           883: <!ELEMENT h3 (%head.pcd.mix;|em|a)*>
        !           884: <!ELEMENT h4 (%head.pcd.mix;|em|a)*>
        !           885: <!ELEMENT h5 (%head.pcd.mix;|em|a)*>
        !           886: <!ELEMENT h6 (%head.pcd.mix;|em|a)*>
        !           887: <!ELEMENT pre (%eg.pcd.mix;|em)*>
        !           888: <!ELEMENT ul (item|li)*>
        !           889: <!ELEMENT ol (item|li)*>
        !           890: <!ELEMENT li (#PCDATA|%obj.mix;)*>
        !           891: <!ELEMENT em (#PCDATA)>
        !           892: <!ELEMENT a (#PCDATA)>
        !           893: 
        !           894: <!-- ............................................................... -->
        !           895: <!-- Change history ................................................ -->
        !           896: 
        !           897: <!--
        !           898: #1997-08-18: maler
        !           899: #- Did a major revision.
        !           900: #1997-09-10: maler
        !           901: #- Updated FPI.
        !           902: #- Removed namekey element and put key attribute on name element.
        !           903: #- Made statusp element and supporting entities.
        !           904: #- Added slist element with sitem+ content.
        !           905: #- Required head on scrap and added new bnf subelement.
        !           906: #- Added an xnt element and allowed it and nt in regular text and rhs.
        !           907: #- Removed the ntref element.
        !           908: #- Added back the com element to the content of rhs.
        !           909: #- Added a key attribute to bibl.
        !           910: #- Removed the ident element.
        !           911: #- Added a term element to be used inside termdef.
        !           912: #- Added an xtermref element parallel to termref.
        !           913: #- Beefed up DTD comments.
        !           914: #1997-09-12: maler
        !           915: #- Allowed term element in general text.
        !           916: #- Changed bibref to EMPTY.
        !           917: #- Added ref.class to termdef.pcd.mix.
        !           918: #1997-09-14: maler
        !           919: #- Changed main attribute of xtermref from def to href.
        !           920: #- Added termdef.class to label contents.
        !           921: #1997-09-30: maler
        !           922: #- Added character entity module and added new entities.
        !           923: #- Removed p from appearing directly in self; created %p.mix;.
        !           924: #- Added inform-div (non-normative division) element.
        !           925: #- Fixed xtermref comment to mention HREF, not ref.
        !           926: #- Extended orglist model to allow optional affiliation.
        !           927: #- Modified author to make affiliation optional.
        !           928: #- Added %speclist.class; and %note.class; to %obj.mix; and %p.mix;.
        !           929: #- Added %note.class; and %illus.class; to %termdef.pcd.mix;.
        !           930: #- Added unused HTML elements.
        !           931: #- Put empty system ID next to public ID in entity declarations.
        !           932: #1997-10-14: maler
        !           933: #- Fixed "unused" div content model to move nested div to mixture.
        !           934: #1997-10-16: maler
        !           935: #- Added SGML Open Exchange tables.
        !           936: #1997-11-28: maler
        !           937: #- Added support for prodgroup and its attributes.
        !           938: #- Added support for HTML tables.
        !           939: #- Added loc and bibref to content of com.
        !           940: #- Added loc to general p content models.
        !           941: #- Allowed p as alternative to statusp in status.
        !           942: #- Added non-null system IDs to external parameter entity declarations.
        !           943: #- (Modified the SGML Open table module to make it XML-compliant.)
        !           944: #- (Modified the character entity module.)
        !           945: #1997-12-29: maler
        !           946: #- Moved #PCDATA occurrences to come before GIs in content models.
        !           947: #- Removed use of the SGML Open table module.
        !           948: #- Added xspecref element.
        !           949: #- Ensured that all FPIs contain 4-digit year.
        !           950: #- (Modified the character entity module.)
        !           951: #1997-03-10: maler
        !           952: #- Merged the character entity and table modules into the main file.
        !           953: #- Added ldquo and rdquo entities.
        !           954: #- Added common attributes to prodgroup.
        !           955: #- Made the email element in header optional.
        !           956: #- Removed reference to the SGML Open table model.
        !           957: #- Added ednote element.
        !           958: #- Added quote element.
        !           959: #- Updated XLink usage to reflect 3 March 1998 WD.
        !           960: #- Added "local" entities to the class entities for customization.
        !           961: #- Parameterized several content models to allow for customization.
        !           962: #1997-03-23: maler
        !           963: #- Cleaned up some comments and removed some others.
        !           964: #- Added xml:space semi-common attribute to eg and bnf elements.
        !           965: #- Added show and embed attributes on all the uses of href.
        !           966: #- Added %common.att; to all HTML table elements.
        !           967: #- Added a real URI to the "typical invocation" comment.
        !           968: -->
        !           969: 
        !           970: <!-- ............................................................... -->
        !           971: <!-- End of XML specification DTD .................................. -->
        !           972: <!-- ............................................................... -->

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>