tests/auto/qxmlstream/XML-Test-Suite/xmlconf/japanese/spec.dtd
changeset 0 1918ee327afb
child 7 f7bc934e204c
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     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, prevlocs?, latestloc?, authlist,
       
   219         status, abstract, 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 <!--
       
   268 #1998-5-23: brownell:	Turned "xml:link" into "xml-link" to
       
   269 #			match usage in the XML spec, so that
       
   270 #			validation errors aren't reported.
       
   271 -->
       
   272 <!ENTITY % href.att
       
   273         'xml-link               CDATA           #FIXED "simple"
       
   274         href                    CDATA           #IMPLIED
       
   275         show                    CDATA           #FIXED "embed"
       
   276         actuate                 CDATA           #FIXED "auto"'>
       
   277 
       
   278 <!ENTITY % href-req.att
       
   279         'xml-link               CDATA           #FIXED "simple"
       
   280         href                    CDATA           #REQUIRED
       
   281         show                    CDATA           #FIXED "embed"
       
   282         actuate                 CDATA           #FIXED "auto"'>
       
   283 
       
   284 <!ENTITY % source-req.att
       
   285         'xml-link               CDATA           #FIXED "simple"
       
   286         xml:attributes          NMTOKENS        #FIXED "href source"
       
   287         source                  CDATA           #REQUIRED
       
   288         show                    CDATA           #FIXED "embed"
       
   289         actuate                 CDATA           #FIXED "auto"'>
       
   290 
       
   291 <!--    xml:space attribute:
       
   292         Indicates that the element contains white space
       
   293         that the formatter or other application should retain,
       
   294         as appropriate to its function. -->
       
   295 <!ENTITY % xmlspace.att
       
   296         'xml:space              (default
       
   297                                 |preserve)      #FIXED "preserve"'>
       
   298 
       
   299 <!--    Common attributes:
       
   300         Every element has an ID attribute (sometimes required,
       
   301         but usually optional) for links, and a Role attribute
       
   302         for extending the useful life of the DTD by allowing
       
   303         authors to make subclasses for any element. %common.att;
       
   304         is for common attributes where the ID is optional, and
       
   305         %common-idreq.att; is for common attributes where the
       
   306         ID is required. -->
       
   307 <!ENTITY % common.att
       
   308         'id                     ID              #IMPLIED
       
   309         role                    NMTOKEN         #IMPLIED'>
       
   310 <!ENTITY % common-idreq.att
       
   311         'id                     ID              #REQUIRED
       
   312         role                    NMTOKEN         #IMPLIED'>
       
   313 
       
   314 <!-- ............................................................... -->
       
   315 <!-- Common elements ............................................... -->
       
   316 
       
   317 <!--    head: Title on divisions, productions, and the like -->
       
   318 <!ELEMENT head (%head.pcd.mix;)*>
       
   319 <!ATTLIST head %common.att;>
       
   320 
       
   321 <!-- ............................................................... -->
       
   322 <!-- Major specification structure ................................. -->
       
   323 
       
   324 <!--
       
   325 #1998-03-10: maler: Made spec content model easily customizable.
       
   326 -->
       
   327 
       
   328 <!ELEMENT spec (%spec.mdl;)>
       
   329 <!ATTLIST spec %common.att;>
       
   330 
       
   331 <!ELEMENT front (div1+)>
       
   332 <!ATTLIST front %common.att;>
       
   333 
       
   334 <!ELEMENT body (div1+)>
       
   335 <!ATTLIST body %common.att;>
       
   336 
       
   337 <!--
       
   338 #1997-09-30: maler: Added inform-div1 to back content.
       
   339 -->
       
   340 
       
   341 <!ELEMENT back ((div1+, inform-div1*) | inform-div1+)>
       
   342 <!ATTLIST back %common.att;>
       
   343 
       
   344 <!ELEMENT div1 (head, (%div.mix;)*, div2*)>
       
   345 <!ATTLIST div1 %common.att;>
       
   346 
       
   347 <!--
       
   348 #1997-09-30: maler: Added inform-div1 declarations.
       
   349 -->
       
   350 
       
   351 <!--    inform-div1: Non-normative division in back matter -->
       
   352 <!ELEMENT inform-div1 (head, (%div.mix;)*, div2*)>
       
   353 <!ATTLIST inform-div1 %common.att;>
       
   354 
       
   355 <!ELEMENT div2 (head, (%div.mix;)*, div3*)>
       
   356 <!ATTLIST div2 %common.att;>
       
   357 
       
   358 <!ELEMENT div3 (head, (%div.mix;)*, div4*)>
       
   359 <!ATTLIST div3 %common.att;>
       
   360 
       
   361 <!ELEMENT div4 (head, (%div.mix;)*)>
       
   362 <!ATTLIST div4 %common.att;>
       
   363 
       
   364 <!-- Specification header .......... -->
       
   365 
       
   366 <!--
       
   367 #1998-03-10: maler: Made header content model easily customizable.
       
   368 -->
       
   369 
       
   370 <!ELEMENT header (%header.mdl;)>
       
   371 <!ATTLIST header %common.att;>
       
   372 
       
   373 <!--    Example of title: "Extensible Cheese Language (XCL)" -->
       
   374 <!ELEMENT title (#PCDATA)>
       
   375 <!ATTLIST title %common.att;>
       
   376 
       
   377 <!--    Example of subtitle: "A Cheesy Specification" -->
       
   378 <!ELEMENT subtitle (#PCDATA)>
       
   379 <!ATTLIST subtitle %common.att;>
       
   380 
       
   381 <!--    Example of version: "Version 666.0" -->
       
   382 <!ELEMENT version (#PCDATA)>
       
   383 <!ATTLIST version %common.att;>
       
   384 
       
   385 <!--    Example of w3c-designation: "WD-xcl-19991231" -->
       
   386 <!ELEMENT w3c-designation (#PCDATA)>
       
   387 <!ATTLIST w3c-designation %common.att;>
       
   388 
       
   389 <!--    Example of w3c-doctype: "World Wide Web Consortium Working
       
   390         Draft" -->
       
   391 <!ELEMENT w3c-doctype (#PCDATA)>
       
   392 <!ATTLIST w3c-doctype %common.att;>
       
   393 
       
   394 <!--
       
   395 #1998-03-10: maler: Made pubdate content model easily customizable.
       
   396 -->
       
   397 
       
   398 <!ELEMENT pubdate (%pubdate.mdl;)>
       
   399 <!ATTLIST pubdate %common.att;>
       
   400 
       
   401 <!ELEMENT day (#PCDATA)>
       
   402 <!ATTLIST day %common.att;>
       
   403 
       
   404 <!ELEMENT month (#PCDATA)>
       
   405 <!ATTLIST month %common.att;>
       
   406 
       
   407 <!ELEMENT year (#PCDATA)>
       
   408 <!ATTLIST year %common.att;>
       
   409 
       
   410 <!--    Example of notice: "This draft is for public comment..." -->
       
   411 <!ELEMENT notice (%hdr.mix;)+>
       
   412 <!ATTLIST notice %common.att;>
       
   413 
       
   414 <!ELEMENT publoc (loc+)>
       
   415 <!ATTLIST publoc %common.att;>
       
   416 
       
   417 <!ELEMENT prevlocs (loc+)>
       
   418 <!ATTLIST prevlocs %common.att;>
       
   419 
       
   420 <!ELEMENT latestloc (loc+)>
       
   421 <!ATTLIST latestloc %common.att;>
       
   422 
       
   423 <!--      loc (defined in "Phrase-level elements" below) -->
       
   424 
       
   425 <!ELEMENT authlist (author+)>
       
   426 <!ATTLIST authlist %common.att;>
       
   427 
       
   428 <!--
       
   429 #1997-09-30: maler: Made affiliation optional.
       
   430 #1998-03-10: maler: Made email optional.
       
   431 -->
       
   432 
       
   433 <!ELEMENT author (name, affiliation?, email?)>
       
   434 <!ATTLIST author %common.att;>
       
   435 
       
   436 <!ELEMENT name (#PCDATA)>
       
   437 <!ATTLIST name
       
   438         %common.att;
       
   439         %key.att;>
       
   440 
       
   441 <!ELEMENT affiliation (#PCDATA)>
       
   442 <!ATTLIST affiliation %common.att;>
       
   443 
       
   444 <!ELEMENT email (#PCDATA)>
       
   445 <!--    HREF attribute:
       
   446         email functions as a hypertext reference through this
       
   447         required attribute.  Typically the reference would use
       
   448         the mailto: scheme. -->
       
   449 <!ATTLIST email
       
   450         %common.att;
       
   451         %href-req.att;>
       
   452 
       
   453 <!--    The status element now contains both statusp and p, and
       
   454         the latter now allows loc.  Use p; statusp will be removed
       
   455         eventually. -->
       
   456 <!ELEMENT status (%statusobj.mix;)+>
       
   457 <!ATTLIST status %common.att;>
       
   458 
       
   459 <!ELEMENT abstract (%hdr.mix;)*>
       
   460 <!ATTLIST abstract %common.att;>
       
   461 
       
   462 <!ELEMENT pubstmt (%hdr.mix;)+>
       
   463 <!ATTLIST pubstmt %common.att;>
       
   464 
       
   465 <!ELEMENT sourcedesc (%hdr.mix;)+>
       
   466 <!ATTLIST sourcedesc %common.att;>
       
   467 
       
   468 <!ELEMENT langusage (language+)>
       
   469 <!ATTLIST langusage %common.att;>
       
   470 
       
   471 <!ELEMENT language (#PCDATA)>
       
   472 <!ATTLIST language %common.att;>
       
   473 
       
   474 <!ELEMENT revisiondesc (%hdr.mix;)+>
       
   475 <!ATTLIST revisiondesc %common.att;>
       
   476 
       
   477 <!-- ............................................................... -->
       
   478 <!-- Standalone elements ........................................... -->
       
   479 
       
   480 <!-- Paragraphs .................... -->
       
   481 
       
   482 <!--
       
   483 #1997-09-30: maler: Changed from %obj.mix; to %p.mix;.
       
   484 #1997-12-29: maler: Changed order of %p.mix; and %p.pcd.mix; references.
       
   485 #1997-12-29: maler: Changed order of %statusobj.mix; and %statusp.pcd.mix;
       
   486 #                   references.
       
   487 -->
       
   488 
       
   489 <!ELEMENT p (%p.pcd.mix;|%p.mix;)*>
       
   490 <!ATTLIST p %common.att;>
       
   491 
       
   492 <!--    statusp: Special paragraph that allows loc inside it (note that
       
   493         p now also allows loc) -->
       
   494 <!ELEMENT statusp (%statusp.pcd.mix;|%statusobj.mix;)*>
       
   495 <!ATTLIST statusp %common.att;>
       
   496 
       
   497 <!-- Lists ......................... -->
       
   498 
       
   499 <!ELEMENT ulist (item+)>
       
   500 <!--    spacing attribute:
       
   501         Use "normal" to get normal vertical spacing for items;
       
   502         use "compact" to get less spacing.  The default is dependent
       
   503         on the stylesheet. -->
       
   504 <!ATTLIST ulist
       
   505         %common.att;
       
   506         spacing         (normal|compact)        #IMPLIED>
       
   507 
       
   508 <!ELEMENT olist (item+)>
       
   509 <!--    spacing attribute:
       
   510         Use "normal" to get normal vertical spacing for items;
       
   511         use "compact" to get less spacing.  The default is dependent
       
   512         on the stylesheet. -->
       
   513 <!ATTLIST olist
       
   514         %common.att;
       
   515         spacing         (normal|compact)        #IMPLIED>
       
   516 
       
   517 <!ELEMENT item (%obj.mix;)+>
       
   518 <!ATTLIST item %common.att;>
       
   519 
       
   520 <!ELEMENT slist (sitem+)>
       
   521 <!ATTLIST slist %common.att;>
       
   522 
       
   523 <!ELEMENT sitem (%p.pcd.mix;)*>
       
   524 <!ATTLIST sitem %common.att;>
       
   525 
       
   526 <!ELEMENT glist (gitem+)>
       
   527 <!ATTLIST glist %common.att;>
       
   528 
       
   529 <!ELEMENT gitem (label, def)>
       
   530 <!ATTLIST gitem %common.att;>
       
   531 
       
   532 <!ELEMENT label (%label.pcd.mix;)*>
       
   533 <!ATTLIST label %common.att;>
       
   534 
       
   535 <!ELEMENT def (%obj.mix;)*>
       
   536 <!ATTLIST def %common.att;>
       
   537 
       
   538 <!-- Special lists ................. -->
       
   539 
       
   540 <!ELEMENT blist (bibl+)>
       
   541 <!ATTLIST blist %common.att;>
       
   542 
       
   543 <!ELEMENT bibl (%bibl.pcd.mix;)*>
       
   544 <!--    HREF attribute:
       
   545         bibl optionally functions as a hypertext reference to the
       
   546         referred-to resource through this attribute. -->
       
   547 <!ATTLIST bibl
       
   548         %common.att;
       
   549         %href.att;
       
   550         %key.att;>
       
   551 
       
   552 <!ELEMENT orglist (member+)>
       
   553 <!ATTLIST orglist %common.att;>
       
   554 
       
   555 <!--
       
   556 #1997-09-30: maler: Added optional affiliation.
       
   557 -->
       
   558 
       
   559 <!ELEMENT member (name, affiliation?, role?)>
       
   560 <!ATTLIST member %common.att;>
       
   561 
       
   562 <!--      name (defined in "Specification header" above) -->
       
   563 <!--      affiliation (defined in "Specification header" above) -->
       
   564 
       
   565 <!ELEMENT role (#PCDATA)>
       
   566 <!ATTLIST role %common.att;>
       
   567 
       
   568 <!-- Notes ......................... -->
       
   569 
       
   570 <!ELEMENT note (%obj.mix;)+>
       
   571 <!ATTLIST note %common.att;>
       
   572 
       
   573 <!ELEMENT wfcnote (head, (%obj.mix;)+)>
       
   574 <!--    ID attribute:
       
   575         wfcnote must have an ID so that it can be pointed to
       
   576         from a wfc element in a production. -->
       
   577 <!ATTLIST wfcnote
       
   578         %common-idreq.att;>
       
   579 
       
   580 <!ELEMENT vcnote (head, (%obj.mix;)+)>
       
   581 <!--    ID attribute:
       
   582         vcnote must have an ID so that it can be pointed to
       
   583         from a vc element in a production. -->
       
   584 <!ATTLIST vcnote
       
   585         %common-idreq.att;>
       
   586 
       
   587 <!-- Illustrations ................. -->
       
   588 
       
   589 <!--
       
   590 #1998-03-23: maler: Added xml:space attribute.
       
   591 -->
       
   592 
       
   593 <!ELEMENT eg (%eg.pcd.mix;)*>
       
   594 <!ATTLIST eg
       
   595         %common.att;
       
   596         %xmlspace.att;>
       
   597 
       
   598 <!ELEMENT graphic EMPTY>
       
   599 <!--    source attribute:
       
   600         The graphic data must reside at the location pointed to.
       
   601         This is a hypertext reference, but for practical purposes,
       
   602         for now it should just be a pathname. -->
       
   603 <!ATTLIST graphic
       
   604         %common.att;
       
   605         %source-req.att;
       
   606         alt             CDATA           #IMPLIED>
       
   607 
       
   608 <!--
       
   609 #1997-11-28: maler: Added prodgroup to scrap and defined it.
       
   610 -->
       
   611 
       
   612 <!ELEMENT scrap (head, (prodgroup+ | prod+ | bnf))>
       
   613 <!--    lang attribute:
       
   614         The scrap can link to a description of the language used,
       
   615         found in a language element in the header. -->
       
   616 <!ATTLIST scrap
       
   617         %common.att;
       
   618         lang            IDREF           #IMPLIED>
       
   619 
       
   620 <!ELEMENT prodgroup (prod+)>
       
   621 <!--    pcw<n> attributes:
       
   622         Presentational attributes to control the width
       
   623         of the "pseudo-table" columns used to output
       
   624         groups of productions. -->
       
   625 <!ATTLIST prodgroup
       
   626         %common.att;
       
   627         pcw1            CDATA           #IMPLIED
       
   628         pcw2            CDATA           #IMPLIED
       
   629         pcw3            CDATA           #IMPLIED
       
   630         pcw4            CDATA           #IMPLIED
       
   631         pcw5            CDATA           #IMPLIED
       
   632 >
       
   633 
       
   634 <!ELEMENT prod (lhs, (rhs, (com|wfc|vc)*)+)>
       
   635 <!--    ID attribute:
       
   636         The production must have an ID so that cross-references
       
   637         (specref) and mentions of nonterminals (nt) can link to
       
   638         it. -->
       
   639 <!ATTLIST prod
       
   640         %common-idreq.att;>
       
   641 
       
   642 <!ELEMENT lhs (#PCDATA)>
       
   643 <!ATTLIST lhs %common.att;>
       
   644 
       
   645 <!ELEMENT rhs (#PCDATA|nt|xnt|com)*>
       
   646 <!ATTLIST rhs %common.att;>
       
   647 
       
   648 <!--      nt and xnt (defined in "Phrase-level elements" below) -->
       
   649 
       
   650 <!--
       
   651 #1997-11-28: maler: Added loc and bibref to com content.
       
   652 -->
       
   653 
       
   654 <!ELEMENT com (#PCDATA|loc|bibref)*>
       
   655 <!ATTLIST com %common.att;>
       
   656 
       
   657 <!--    wfc: Should generate the head of the wfcnote pointed to -->
       
   658 <!ELEMENT wfc EMPTY>
       
   659 <!--    def attribute:
       
   660         Each well formedness tagline in a production must link to the
       
   661         wfcnote that defines it. -->
       
   662 <!ATTLIST wfc
       
   663         %def-req.att;
       
   664         %common.att;>
       
   665 
       
   666 <!--    vc: Should generate the head of the vcnote pointed to -->
       
   667 <!ELEMENT vc EMPTY>
       
   668 <!--    def attribute:
       
   669         Each validity tagline in a production must link to the vcnote
       
   670         that defines it. -->
       
   671 <!ATTLIST vc
       
   672         %def-req.att;
       
   673         %common.att;>
       
   674 
       
   675 <!--
       
   676 #1998-03-23: maler: Added xml:space attribute.
       
   677 -->
       
   678 
       
   679 <!--    bnf: Un-marked-up production -->
       
   680 <!ELEMENT bnf (%eg.pcd.mix;)*>
       
   681 <!ATTLIST bnf
       
   682         %common.att;
       
   683         %xmlspace.att;>
       
   684 
       
   685 <!--
       
   686 #1997-10-16: maler: Added table mechanism.
       
   687 #1997-11-28: maler: Added non-null system ID to entity declaration.
       
   688 #                   Added HTML table module.
       
   689 #1997-12-29: maler: IGNOREd SGML Open table model.
       
   690 #1998-03-10: maler: Removed SGML Open table model.
       
   691 #                   Merged html-tbl.mod file into main file.
       
   692 #                   Added %common.att; to all HTML table elements.
       
   693 -->
       
   694 
       
   695 <!--    TR and TD attributes:
       
   696         Alignment attributes.  No default. -->
       
   697 <!ENTITY % trtd.att
       
   698         "align          (left
       
   699                         |center
       
   700                         |right)         #IMPLIED
       
   701         valign          (top
       
   702                         |middle
       
   703                         |bottom)        #IMPLIED">
       
   704 
       
   705 <!ELEMENT htable (htbody+)>
       
   706 <!ATTLIST htable
       
   707           border        CDATA           "0"
       
   708           cellpadding   CDATA           "0"
       
   709           align         (left
       
   710                         |center
       
   711                         |right)         "left">
       
   712 
       
   713 <!ELEMENT htbody (tr+)>
       
   714 <!ATTLIST htbody %common.att;>
       
   715 
       
   716 <!ELEMENT tr     (td+)>
       
   717 <!ATTLIST tr
       
   718         %common.att;
       
   719         %trtd.att;>
       
   720 
       
   721 <!ELEMENT td     (%p.pcd.mix;)*>
       
   722 <!ATTLIST td
       
   723         %common.att;
       
   724         %trtd.att;
       
   725         bgcolor         CDATA           #IMPLIED
       
   726         rowspan         CDATA           "1"
       
   727         colspan         CDATA           "1">
       
   728 
       
   729 <!-- ............................................................... -->
       
   730 <!-- Phrase-level elements ......................................... -->
       
   731 
       
   732 <!--    bibref: Should generate, in square brackets, "key" on bibl -->
       
   733 <!ELEMENT bibref EMPTY>
       
   734 <!--    ref attribute:
       
   735         A bibliography reference must link to the bibl element that
       
   736         describes the resource. -->
       
   737 <!ATTLIST bibref
       
   738         %common.att;
       
   739         %ref-req.att;>
       
   740 
       
   741 <!ELEMENT code (%tech.pcd.mix;)*>
       
   742 <!ATTLIST code %common.att;>
       
   743 
       
   744 <!--
       
   745 #1998-03-10: maler: Declared ednote and related elements.
       
   746 -->
       
   747 
       
   748 <!ELEMENT ednote (name?, date?, edtext)>
       
   749 <!ATTLIST ednote %common.att;>
       
   750 
       
   751 <!ELEMENT date (#PCDATA)>
       
   752 <!ATTLIST date %common.att;>
       
   753 
       
   754 <!ELEMENT edtext (#PCDATA)>
       
   755 <!ATTLIST edtext %common.att;>
       
   756 
       
   757 <!ELEMENT emph (#PCDATA)>
       
   758 <!ATTLIST emph %common.att;>
       
   759 
       
   760 <!--    footnote: Both footnote content and call to footnote -->
       
   761 <!ELEMENT footnote (%obj.mix;)+>
       
   762 <!ATTLIST footnote %common.att;>
       
   763 
       
   764 <!ELEMENT kw (%tech.pcd.mix;)*>
       
   765 <!ATTLIST kw %common.att;>
       
   766 
       
   767 <!ELEMENT loc (#PCDATA)>
       
   768 <!--    HREF attribute:
       
   769         The purpose of a loc element is to function as a hypertext
       
   770         link to a resource.  (Ideally, the content of loc will also
       
   771         mention the URI of the resource, so that readers of the
       
   772         printed version will be able to locate the resource.) -->
       
   773 <!ATTLIST loc
       
   774         %common.att;
       
   775         %href-req.att;>
       
   776 
       
   777 <!ELEMENT nt (#PCDATA)>
       
   778 <!--    def attribute:
       
   779         The nonterminal must link to the production that defines
       
   780         it. -->
       
   781 <!ATTLIST nt
       
   782         %common.att;
       
   783         %def-req.att;>
       
   784 
       
   785 <!--
       
   786 #1998-03-10: maler: Declared quote.
       
   787 -->
       
   788 
       
   789 <!--    quote: Scare quotes and other purely presentational quotes -->
       
   790 <!ELEMENT quote (%p.pcd.mix;)*>
       
   791 <!ATTLIST quote %common.att;>
       
   792 
       
   793 <!--    specref: Should generate italic "[n.n], Section Title" for
       
   794         div, "n" for numbered item, or "[n]" for production -->
       
   795 <!ELEMENT specref EMPTY>
       
   796 <!--    ref attribute:
       
   797         The purpose of a specref element is to link to a div, item
       
   798         in an olist, or production in the current spec. -->
       
   799 <!ATTLIST specref
       
   800         %common.att;
       
   801         %ref-req.att;>
       
   802 
       
   803 <!ELEMENT term (#PCDATA)>
       
   804 <!ATTLIST term %common.att;>
       
   805 
       
   806 <!ELEMENT termdef (%termdef.pcd.mix;|%termdef.mix;)*>
       
   807 <!--    ID attribute:
       
   808         A term definition must have an ID so that it can be linked
       
   809         to from termref elements. -->
       
   810 <!--    term attribute:
       
   811         The canonical form of the term or phrase being defined must
       
   812         appear in this attribute, even if the term or phrase also
       
   813         appears in the element content in identical form (e.g., in
       
   814         the term element). -->
       
   815 <!ATTLIST termdef
       
   816         %common-idreq.att;
       
   817         term            CDATA           #REQUIRED>
       
   818 
       
   819 <!ELEMENT termref (#PCDATA)>
       
   820 <!--    ref attribute:
       
   821         A term reference must link to the termdef element that
       
   822         defines the term. -->
       
   823 <!ATTLIST termref
       
   824         %common.att;
       
   825         %def-req.att;>
       
   826 
       
   827 <!ELEMENT titleref (#PCDATA)>
       
   828 <!--    HREF attribute:
       
   829         A title reference can optionally function as a hypertext
       
   830         link to the resource with this title. -->
       
   831 <!ATTLIST titleref
       
   832         %common.att;
       
   833         %href.att;>
       
   834 
       
   835 <!ELEMENT xnt (#PCDATA)>
       
   836 <!--    HREF attribute:
       
   837         The nonterminal must hyperlink to a resource that serves
       
   838         to define it (e.g., a production in a related XML
       
   839         specification). -->
       
   840 <!ATTLIST xnt
       
   841         %common.att;
       
   842         %href-req.att;>
       
   843 
       
   844 <!--
       
   845 #1997-12-29: maler: Declared xspecref.
       
   846 -->
       
   847 
       
   848 <!ELEMENT xspecref (#PCDATA)>
       
   849 <!--    HREF attribute:
       
   850         The spec reference must hyperlink to the resource to
       
   851         cross-refer to (e.g., a section in a related XML
       
   852         specification). -->
       
   853 <!ATTLIST xspecref
       
   854         %common.att;
       
   855         %href-req.att;>
       
   856 
       
   857 <!ELEMENT xtermref (#PCDATA)>
       
   858 <!--    HREF attribute:
       
   859         The term reference must hyperlink to the resource that
       
   860         serves to define the term (e.g., a term definition in
       
   861         a related XML specification). -->
       
   862 <!ATTLIST xtermref
       
   863         %common.att;
       
   864         %href-req.att;>
       
   865 
       
   866 <!-- ............................................................... -->
       
   867 <!-- Unused elements for ADEPT ..................................... -->
       
   868 
       
   869 <!--
       
   870 #1997-09-30: maler: Added unusued elements.
       
   871 #1997-10-14: maler: Fixed div to move nested div to the mixture.
       
   872 -->
       
   873 
       
   874 <!--    The following elements are purposely declared but never
       
   875         referenced.  Declaring them allows them to be pasted from
       
   876         an HTML document into a document using this DTD in ADEPT.
       
   877         The ATD Context Transformation mechanism will try to convert
       
   878         them to the appropriate element for this DTD.  While this
       
   879         conversion will not work for all fragments, it does allow
       
   880         many cases to work reasonably well. -->
       
   881 
       
   882 <!ELEMENT div
       
   883         (head?, (%div.mix;|ul|ol|h1|h2|h3|h4|h5|h6|div)*)>
       
   884 <!ELEMENT h1 (%head.pcd.mix;|em|a)*>
       
   885 <!ELEMENT h2 (%head.pcd.mix;|em|a)*>
       
   886 <!ELEMENT h3 (%head.pcd.mix;|em|a)*>
       
   887 <!ELEMENT h4 (%head.pcd.mix;|em|a)*>
       
   888 <!ELEMENT h5 (%head.pcd.mix;|em|a)*>
       
   889 <!ELEMENT h6 (%head.pcd.mix;|em|a)*>
       
   890 <!ELEMENT pre (%eg.pcd.mix;|em)*>
       
   891 <!ELEMENT ul (item|li)*>
       
   892 <!ELEMENT ol (item|li)*>
       
   893 <!ELEMENT li (#PCDATA|%obj.mix;)*>
       
   894 <!ELEMENT em (#PCDATA)>
       
   895 <!ELEMENT a (#PCDATA)>
       
   896 
       
   897 <!-- ............................................................... -->
       
   898 <!-- Change history ................................................ -->
       
   899 
       
   900 <!--
       
   901 #1997-08-18: maler
       
   902 #- Did a major revision.
       
   903 #1997-09-10: maler
       
   904 #- Updated FPI.
       
   905 #- Removed namekey element and put key attribute on name element.
       
   906 #- Made statusp element and supporting entities.
       
   907 #- Added slist element with sitem+ content.
       
   908 #- Required head on scrap and added new bnf subelement.
       
   909 #- Added an xnt element and allowed it and nt in regular text and rhs.
       
   910 #- Removed the ntref element.
       
   911 #- Added back the com element to the content of rhs.
       
   912 #- Added a key attribute to bibl.
       
   913 #- Removed the ident element.
       
   914 #- Added a term element to be used inside termdef.
       
   915 #- Added an xtermref element parallel to termref.
       
   916 #- Beefed up DTD comments.
       
   917 #1997-09-12: maler
       
   918 #- Allowed term element in general text.
       
   919 #- Changed bibref to EMPTY.
       
   920 #- Added ref.class to termdef.pcd.mix.
       
   921 #1997-09-14: maler
       
   922 #- Changed main attribute of xtermref from def to href.
       
   923 #- Added termdef.class to label contents.
       
   924 #1997-09-30: maler
       
   925 #- Added character entity module and added new entities.
       
   926 #- Removed p from appearing directly in self; created %p.mix;.
       
   927 #- Added inform-div (non-normative division) element.
       
   928 #- Fixed xtermref comment to mention HREF, not ref.
       
   929 #- Extended orglist model to allow optional affiliation.
       
   930 #- Modified author to make affiliation optional.
       
   931 #- Added %speclist.class; and %note.class; to %obj.mix; and %p.mix;.
       
   932 #- Added %note.class; and %illus.class; to %termdef.pcd.mix;.
       
   933 #- Added unused HTML elements.
       
   934 #- Put empty system ID next to public ID in entity declarations.
       
   935 #1997-10-14: maler
       
   936 #- Fixed "unused" div content model to move nested div to mixture.
       
   937 #1997-10-16: maler
       
   938 #- Added SGML Open Exchange tables.
       
   939 #1997-11-28: maler
       
   940 #- Added support for prodgroup and its attributes.
       
   941 #- Added support for HTML tables.
       
   942 #- Added loc and bibref to content of com.
       
   943 #- Added loc to general p content models.
       
   944 #- Allowed p as alternative to statusp in status.
       
   945 #- Added non-null system IDs to external parameter entity declarations.
       
   946 #- (Modified the SGML Open table module to make it XML-compliant.)
       
   947 #- (Modified the character entity module.)
       
   948 #1997-12-29: maler
       
   949 #- Moved #PCDATA occurrences to come before GIs in content models.
       
   950 #- Removed use of the SGML Open table module.
       
   951 #- Added xspecref element.
       
   952 #- Ensured that all FPIs contain 4-digit year.
       
   953 #- (Modified the character entity module.)
       
   954 #1997-03-10: maler
       
   955 #- Merged the character entity and table modules into the main file.
       
   956 #- Added ldquo and rdquo entities.
       
   957 #- Added common attributes to prodgroup.
       
   958 #- Made the email element in header optional.
       
   959 #- Removed reference to the SGML Open table model.
       
   960 #- Added ednote element.
       
   961 #- Added quote element.
       
   962 #- Updated XLink usage to reflect 3 March 1998 WD.
       
   963 #- Added "local" entities to the class entities for customization.
       
   964 #- Parameterized several content models to allow for customization.
       
   965 #1997-03-23: maler
       
   966 #- Cleaned up some comments and removed some others.
       
   967 #- Added xml:space semi-common attribute to eg and bnf elements.
       
   968 #- Added show and embed attributes on all the uses of href.
       
   969 #- Added %common.att; to all HTML table elements.
       
   970 #- Added a real URI to the "typical invocation" comment.
       
   971 -->
       
   972 
       
   973 <!-- ............................................................... -->
       
   974 <!-- End of XML specification DTD .................................. -->
       
   975 <!-- ............................................................... -->