1<!-- ............................................................... --> 2<!-- XML specification DTD ......................................... --> 3<!-- ............................................................... --> 4 5<!-- 6TYPICAL INVOCATION: 7# <!DOCTYPE spec PUBLIC 8# "-//W3C//DTD Specification V2.1//EN" 9# "http://www.w3.org/XML/1998/06/xmlspec-v21.dtd"> 10 11PURPOSE: 12 This XML DTD is for W3C specifications and other technical reports. 13 It is based in part on the TEI Lite and Sweb DTDs. 14 15DEPENDENCIES: 16 None. 17 18CHANGE HISTORY: 19 The list of changes is at the end of the DTD. 20 21 For all details, see the design report at: 22 23# <http://www.w3.org/XML/1998/06/xmlspec-report-v21.htm> 24 25 Search this file for "#" in the first column to see change history 26 comments. To find changes made this time, search for "2000-03-07". 27 28MAINTAINER: 29 Eve Maler 30 Sun Microsystems, Inc. 31 elm@east.sun.com 32 voice: +1 781 442 3190 33 fax: +1 781 442 1437 34--> 35 36<!-- ............................................................... --> 37<!-- Entities for characters and symbols ........................... --> 38<!-- ............................................................... --> 39 40<!-- 41#1998-03-10: maler: Added “ and ”. 42# Used 8879:1986-compatible decimal character 43# references. 44# Merged charent.mod file back into main file. 45#1998-05-14: maler: Fixed ldquo and rdquo. Gave mdash a real number. 46#1998-12-03: maler: Escaped the leading ampersands. 47--> 48 49<!ENTITY lt "&#60;"> 50<!ENTITY gt ">"> 51<!ENTITY amp "&#38;"> 52<!ENTITY apos "'"> 53<!ENTITY quot """> 54<!ENTITY nbsp " "> 55<!ENTITY mdash "&#x2014;"> 56<!ENTITY ldquo "&#x201C;"> 57<!ENTITY rdquo "&#x201D;"> 58 59<!-- ............................................................... --> 60<!-- Entities for classes of standalone elements ................... --> 61<!-- ............................................................... --> 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#1998-05-14: maler: Added issue to %note.class;. 70# Removed %[local.]statusp.class;. 71#1998-05-21: maler: Added constraintnote to %note.class;. 72#1998-08-22: maler: Changed htable to table in %illus.class;. 73# Added definitions to %illus.class;. 74#2000-03-07: maler: Added proto and example to %illus.class;. 75--> 76 77<!ENTITY % local.p.class ""> 78<!ENTITY % p.class "p 79 %local.p.class;"> 80 81<!ENTITY % local.list.class ""> 82<!ENTITY % list.class "ulist|olist|slist|glist 83 %local.list.class;"> 84 85<!ENTITY % local.speclist.class ""> 86<!ENTITY % speclist.class "orglist|blist 87 %local.speclist.class;"> 88 89<!ENTITY % local.note.class ""> 90<!ENTITY % note.class "note|issue|wfcnote|vcnote 91 |constraintnote %local.note.class;"> 92 93<!ENTITY % local.illus.class ""> 94<!ENTITY % illus.class "eg|graphic|scrap|table|definitions 95 |proto|example 96 %local.illus.class;"> 97 98<!-- ............................................................... --> 99<!-- Entities for classes of phrase-level elements ................. --> 100<!-- ............................................................... --> 101 102<!-- 103#1997-12-29: maler: Added xspecref to %ref.class;. 104#1998-03-10: maler: Added %ednote.class;. 105# Added "local" entities for customization. 106#2000-03-07: maler: Added function, var, el, att, and attval to 107# %tech.class;. 108# Added sub, sup, and phrase to %emph.class;. 109--> 110 111<!ENTITY % local.annot.class ""> 112<!ENTITY % annot.class "footnote 113 %local.annot.class;"> 114 115<!ENTITY % local.termdef.class ""> 116<!ENTITY % termdef.class "termdef|term 117 %local.termdef.class;"> 118 119<!ENTITY % local.emph.class ""> 120<!ENTITY % emph.class "emph|phrase|quote|sub|sup 121 %local.emph.class;"> 122 123<!ENTITY % local.ref.class ""> 124<!ENTITY % ref.class "bibref|specref|termref|titleref 125 |xspecref|xtermref 126 %local.ref.class;"> 127 128<!ENTITY % local.loc.class ""> 129<!ENTITY % loc.class "loc 130 %local.loc.class;"> 131 132<!ENTITY % local.tech.class ""> 133<!ENTITY % tech.class "kw|nt|xnt|code|function|var 134 |el|att|attval 135 %local.tech.class;"> 136 137<!ENTITY % local.ednote.class ""> 138<!ENTITY % ednote.class "ednote 139 %local.ednote.class;"> 140 141<!-- ............................................................... --> 142<!-- Entities for mixtures of standalone elements .................. --> 143<!-- ............................................................... --> 144 145<!-- 146#1997-09-30: maler: Created %p.mix; to eliminate p from self. 147#1997-09-30: maler: Added %speclist.class; to %obj.mix; and %p.mix;. 148#1997-09-30: maler: Added %note.class; to %obj.mix; and %p.mix;. 149#1997-10-16: maler: Created %entry.mix;. Note that some elements 150# left out here are still allowed in termdef, 151# which entry can contain through %p.pcd.mix;. 152#1997-11-28: maler: Added %p.class; to %statusobj.mix;. 153#1998-03-10: maler: Added %ednote.class; to all mixtures, except 154# %p.mix; and %statusobj.mix;, because paragraphs 155# and status paragraphs will contain ednote 156# through %p.pcd.mix;. 157#1998-03-23: maler: Added %termdef.mix; (broken out from 158# %termdef.pcd.mix;). 159#1998-05-14: maler: Removed %statusobj.mix; and all mentions of 160# %statusp.mix;. 161--> 162 163<!ENTITY % div.mix 164 "%p.class;|%list.class;|%speclist.class;|%note.class; 165 |%illus.class;|%ednote.class;"> 166<!ENTITY % obj.mix 167 "%p.class;|%list.class;|%speclist.class;|%note.class; 168 |%illus.class;|%ednote.class;"> 169<!ENTITY % p.mix 170 "%list.class;|%speclist.class;|%note.class;|%illus.class;"> 171<!ENTITY % entry.mix 172 "%list.class;|note|eg|graphic|%ednote.class;"> 173<!ENTITY % hdr.mix 174 "%p.class;|%list.class;|%ednote.class;"> 175<!ENTITY % termdef.mix 176 "%note.class;|%illus.class;"> 177 178<!-- ............................................................... --> 179<!-- Entities for mixtures of #PCDATA and phrase-level elements .... --> 180<!-- ............................................................... --> 181 182<!-- Note that %termdef.pcd.mix contains %note.class; 183 and %illus.class;, considered standalone elements. --> 184 185<!-- 186#1997-09-30: maler: Added scrap and %note.class; to %termdef.pcd.mix;. 187#1997-11-28: maler: Added %loc.class; to %p.pcd.mix;. 188#1998-03-10: maler: Added %ednote.class; to all mixtures. 189#1998-03-23: maler: Moved some %termdef.pcd.mix; stuff out to 190# %termdef.mix;. 191#1998-05-14: maler: Removed %statusp.pcd.mix;. 192#1998-05-21: maler: Added constraint element to %eg.pcd.mix;. 193#1999-07-02: maler: Added %loc.class; to %head.pcd.mix;, 194# %label.pcd.mix;, %eg.pcd.mix;, %termdef.pcd.mix;, 195# %tech.pcd.mix; (net: all PCD mixes have it). 196# Removed unused %loc.pcd.mix;. 197--> 198 199<!ENTITY % p.pcd.mix 200 "#PCDATA|%annot.class;|%termdef.class;|%emph.class; 201 |%ref.class;|%tech.class;|%loc.class;|%ednote.class;"> 202<!ENTITY % head.pcd.mix 203 "#PCDATA|%annot.class;|%emph.class;|%tech.class; 204 |%loc.class;|%ednote.class;"> 205<!ENTITY % label.pcd.mix 206 "#PCDATA|%annot.class;|%termdef.class;|%emph.class; 207 |%tech.class;|%loc.class;|%ednote.class;"> 208<!ENTITY % eg.pcd.mix 209 "#PCDATA|%annot.class;|%emph.class;|%loc.class; 210 |%ednote.class;|constraint"> 211<!ENTITY % termdef.pcd.mix 212 "#PCDATA|term|%emph.class;|%ref.class;|%tech.class; 213 |%loc.class;|%ednote.class;"> 214<!ENTITY % bibl.pcd.mix 215 "#PCDATA|%emph.class;|%ref.class;|%loc.class;|%ednote.class;"> 216<!ENTITY % tech.pcd.mix 217 "#PCDATA|%loc.class;|%ednote.class;"> 218 219<!-- ............................................................... --> 220<!-- Entities for customizable content models ...................... --> 221<!-- ............................................................... --> 222 223<!-- 224#1998-03-10: maler: Added customization entities. 225#1998-05-14: maler: Allowed prevlocs and latestloc in either order. 226#1999-07-02: maler: Made version optional; added copyright element. 227#2000-03-07: maler: Allowed status and abstract in opposite order. 228--> 229 230<!ENTITY % spec.mdl 231 "header, front?, body, back?"> 232 233<!ENTITY % header.mdl 234 "title, subtitle?, version?, w3c-designation, w3c-doctype, 235 pubdate, notice*, publoc, ((prevlocs, latestloc?) | 236 (latestloc, prevlocs?))?, authlist, copyright?, 237 ((status, abstract) | (abstract, status)), pubstmt?, 238 sourcedesc?, langusage, revisiondesc"> 239 240<!ENTITY % pubdate.mdl 241 "day?, month, year"> 242 243<!-- ............................................................... --> 244<!-- Entities for common attributes ................................ --> 245<!-- ............................................................... --> 246 247<!-- 248#2000-03-07: maler: Added %argtypes;. 249--> 250 251<!-- argtypes: 252 Values for function prototype argument datatypes. --> 253<!ENTITY % argtypes 254 '(boolean 255 |expression 256 |location-set 257 |node-set 258 |number 259 |object 260 |point 261 |range 262 |string)'> 263 264<!-- key attribute: 265 Optionally provides a sorting or indexing key, for cases when 266 the element content is inappropriate for this purpose. --> 267<!ENTITY % key.att 268 'key CDATA #IMPLIED'> 269 270<!-- def attribute: 271 Points to the element where the relevant definition can be 272 found, using the IDREF mechanism. %def.att; is for optional 273 def attributes, and %def-req.att; is for required def 274 attributes. --> 275<!ENTITY % def.att 276 'def IDREF #IMPLIED'> 277<!ENTITY % def-req.att 278 'def IDREF #REQUIRED'> 279 280<!-- ref attribute: 281 Points to the element where more information can be found, 282 using the IDREF mechanism. %ref.att; is for optional 283 ref attributes, and %ref-req.att; is for required ref 284 attributes. --> 285<!ENTITY % ref.att 286 'ref IDREF #IMPLIED'> 287<!ENTITY % ref-req.att 288 'ref IDREF #REQUIRED'> 289 290<!-- 291#1998-03-23: maler: Added show and actuate attributes to href. 292# Added semi-common xml:space attribute. 293#1998-08-22: maler: Used new xlink:form and #IMPLIED features. 294#1999-07-02: maler: Reorganized XLink-related entities completely; 295# added xmlns:xlink attribute to the mix. 296#2000-03-07: maler: Updated XLink usage to February 2000 draft, 297# except that href still has no namespace prefix. 298--> 299 300<!-- xmlns:xlink and xlink:type attributes: 301 xmlns:xlink declares the association of the xlink prefix 302 with the namespace created by the XLink specification. 303 xlink:type identifies an element as an XLink "simple" linking 304 element. --> 305<!ENTITY % simple-xlink.att 306 'xmlns:xlink CDATA #FIXED 307 "http://www.w3.org/1999/xlink" 308 xlink:type CDATA #FIXED "simple" '> 309 310<!-- href attributes: 311 The href attribute locates the remote-resource half of a 312 simple link; the element on which the href appears is the 313 local-resource half. Some elements are usable links only if 314 the author chooses to supply a functional href. The attribute 315 name should really be xlink:href, but is kept without the 316 prefix for now in order to be backwards-compatible. --> 317 318<!ENTITY % href.att 319 'href CDATA #IMPLIED '> 320<!ENTITY % href-req.att 321 'href CDATA #REQUIRED '> 322 323<!-- xlink:show and xlink:actuate attributes: 324 These attributes offer instructions to the display engine 325 about how to handle traversal to resource indicated by an 326 href locator. --> 327<!ENTITY % auto-embed.att 328 'xlink:show CDATA #FIXED "embed" 329 xlink:actuate CDATA #FIXED "onLoad" '> 330<!ENTITY % user-replace.att 331 'xlink:show CDATA #FIXED "replace" 332 xlink:actuate CDATA #FIXED "onRequest" '> 333<!ENTITY % user-new.att 334 'xlink:show CDATA #FIXED "new" 335 xlink:actuate CDATA #FIXED "onRequest" '> 336 337<!-- xml:space attribute: 338 Indicates that the element contains whitespace that the 339 formatter or other application should retain, as appropriate 340 to its function. --> 341<!ENTITY % xmlspace.att 342 'xml:space (default 343 |preserve) #FIXED "preserve" '> 344 345<!-- 346#2000-03-07: maler: Added common diff attribute. Made %role.att;. 347--> 348 349<!-- diff attribute: 350 Indicates in what way the element has changed. When a value 351 is not provided, that subelement should inherit a value from 352 its parent. If the root element has no value supplied, 353 assume "off". --> 354<!ENTITY % diff.att 355 'diff (chg 356 |add 357 |del 358 |off) #IMPLIED'> 359 360<!-- role attribute: 361 Extends the useful life of the DTD by allowing authors to 362 make a subtype of any element. No default. --> 363<!ENTITY % role.att 364 'role NMTOKEN #IMPLIED'> 365 366<!-- Common attributes: 367 Every element has an ID attribute for links, a role 368 attribute, and a diff attribute. %common.att; is for 369 common attributes where the ID is optional, and 370 %common-idreq.att; is for common attributes where the 371 ID is required. --> 372<!ENTITY % common.att 373 'id ID #IMPLIED 374 %role.att; 375 %diff.att;'> 376<!ENTITY % common-idreq.att 377 'id ID #REQUIRED 378 %role.att; 379 %diff.att;'> 380 381<!-- ............................................................... --> 382<!-- Common elements ............................................... --> 383<!-- ............................................................... --> 384 385<!-- head: Title on divisions, productions, and the like --> 386<!ELEMENT head (%head.pcd.mix;)*> 387<!ATTLIST head %common.att;> 388 389<!-- ............................................................... --> 390<!-- Major specification structure ................................. --> 391<!-- ............................................................... --> 392 393<!-- 394#1998-03-10: maler: Made spec content model easily customizable. 395#1999-07-02: maler: Added doctype atts and status att. 396#2000-03-07: maler: Added cr, issues, and dispcmts to w3c-doctype. 397--> 398 399<!ELEMENT spec (%spec.mdl;)> 400<!-- w3c-doctype attributes: 401 Indicates the type of document, so that the appropriate 402 stylesheet or workflow routing can be applied. Should 403 *not* generate any text (such as the "REC-" or "NOTE-" 404 prefix on the W3C designation content). No default. If 405 w3c-doctype is "other", other-doctype should be filled in. 406 407 status attribute: 408 Indicates the stage of review of the document. May affect 409 the stylesheet's treatment of ednotes (e.g., whether to 410 output them). No default. --> 411 412<!ATTLIST spec 413 %common.att; 414 w3c-doctype (cr 415 |dispcmts 416 |issues 417 |note 418 |other 419 |pr 420 |rec 421 |wd) #IMPLIED 422 other-doctype CDATA #IMPLIED 423 status (int-review 424 |ext-review 425 |final) #IMPLIED 426> 427 428<!ELEMENT front (div1+)> 429<!ATTLIST front %common.att;> 430 431<!ELEMENT body (div1+)> 432<!ATTLIST body %common.att;> 433 434<!-- 435#1997-09-30: maler: Added inform-div1 to back content. 436--> 437 438<!ELEMENT back ((div1+, inform-div1*) | inform-div1+)> 439<!ATTLIST back %common.att;> 440 441<!ELEMENT div1 (head, (%div.mix;)*, div2*)> 442<!ATTLIST div1 %common.att;> 443 444<!-- 445#1997-09-30: maler: Added inform-div1 declarations. 446#2000-03-07: maler: Added div5 level. 447--> 448 449<!-- inform-div1: Non-normative division in back matter --> 450<!ELEMENT inform-div1 (head, (%div.mix;)*, div2*)> 451<!ATTLIST inform-div1 %common.att;> 452 453<!ELEMENT div2 (head, (%div.mix;)*, div3*)> 454<!ATTLIST div2 %common.att;> 455 456<!ELEMENT div3 (head, (%div.mix;)*, div4*)> 457<!ATTLIST div3 %common.att;> 458 459<!ELEMENT div4 (head, (%div.mix;)*, div5*)> 460<!ATTLIST div4 %common.att;> 461 462<!ELEMENT div5 (head, (%div.mix;)*)> 463<!ATTLIST div5 %common.att;> 464 465<!-- ............................................................... --> 466<!-- Specification header .......................................... --> 467<!-- ............................................................... --> 468 469<!-- 470#1998-03-10: maler: Made header content model easily customizable. 471--> 472 473<!ELEMENT header (%header.mdl;)> 474<!ATTLIST header %common.att;> 475 476<!-- Example of title: "Extensible Cheese Language (XCL)" --> 477<!ELEMENT title (#PCDATA)> 478<!ATTLIST title %common.att;> 479 480<!-- Example of subtitle: "A Cheesy Specification" --> 481<!ELEMENT subtitle (#PCDATA)> 482<!ATTLIST subtitle %common.att;> 483 484<!-- Example of version: "Version 666.0" --> 485<!ELEMENT version (#PCDATA)> 486<!ATTLIST version %common.att;> 487 488<!-- Example of w3c-designation: "WD-xcl-19991231" --> 489<!ELEMENT w3c-designation (#PCDATA)> 490<!ATTLIST w3c-designation %common.att;> 491 492<!-- Example of w3c-doctype: "W3C Working Draft" --> 493<!ELEMENT w3c-doctype (#PCDATA)> 494<!ATTLIST w3c-doctype %common.att;> 495 496<!-- 497#1998-03-10: maler: Made pubdate content model easily customizable. 498--> 499 500<!ELEMENT pubdate (%pubdate.mdl;)> 501<!ATTLIST pubdate %common.att;> 502 503<!ELEMENT day (#PCDATA)> 504<!ATTLIST day %common.att;> 505 506<!ELEMENT month (#PCDATA)> 507<!ATTLIST month %common.att;> 508 509<!ELEMENT year (#PCDATA)> 510<!ATTLIST year %common.att;> 511 512<!-- 513#1999-07-02: maler: Declared copyright element. 514--> 515 516<!ELEMENT copyright (%hdr.mix;)+> 517<!ATTLIST copyright %common.att;> 518 519<!-- Example of notice: "This draft is for public comment..." --> 520<!ELEMENT notice (%hdr.mix;)+> 521<!ATTLIST notice %common.att;> 522 523<!-- 524#2000-03-07: maler: Broadened models of *loc to %p.pcd.mix;. 525--> 526 527<!ELEMENT publoc (%p.pcd.mix;)*> 528<!ATTLIST publoc %common.att;> 529 530<!ELEMENT prevlocs (%p.pcd.mix;)*> 531<!ATTLIST prevlocs %common.att;> 532 533<!ELEMENT latestloc (%p.pcd.mix;)*> 534<!ATTLIST latestloc %common.att;> 535 536<!-- loc (defined in "Phrase-level elements" below) --> 537 538<!ELEMENT authlist (author+)> 539<!ATTLIST authlist %common.att;> 540 541<!-- 542#1997-09-30: maler: Made affiliation optional. 543#1998-03-10: maler: Made email optional. 544--> 545 546<!ELEMENT author (name, affiliation?, email?)> 547<!ATTLIST author %common.att;> 548 549<!ELEMENT name (#PCDATA)> 550<!ATTLIST name 551 %common.att; 552 %key.att;> 553 554<!ELEMENT affiliation (#PCDATA)> 555<!ATTLIST affiliation %common.att;> 556 557<!-- 558#1999-07-02: maler: Added show/actuate attributes and default values. 559--> 560 561 562<!ELEMENT email (#PCDATA)> 563<!-- href attribute: 564 email functions as a hypertext reference through this 565 required attribute. Typically the reference would use 566 the mailto: scheme. E.g.: 567 568<email href="mailto:elm@arbortext.com">elm@arbortext.com</email> 569 --> 570 571<!ATTLIST email 572 %common.att; 573 %simple-xlink.att; 574 %href-req.att; 575 %user-new.att;> 576 577<!-- 578#1998-05-15: maler: Changed status content from %statusobj.mix; 579# to plain %obj.mix;. statusp is obsolete. 580--> 581 582<!ELEMENT status (%obj.mix;)+> 583<!ATTLIST status %common.att;> 584 585<!ELEMENT abstract (%hdr.mix;)*> 586<!ATTLIST abstract %common.att;> 587 588<!ELEMENT pubstmt (%hdr.mix;)+> 589<!ATTLIST pubstmt %common.att;> 590 591<!ELEMENT sourcedesc (%hdr.mix;)+> 592<!ATTLIST sourcedesc %common.att;> 593 594<!ELEMENT langusage (language+)> 595<!ATTLIST langusage %common.att;> 596 597<!ELEMENT language (#PCDATA)> 598<!ATTLIST language %common.att;> 599 600<!ELEMENT revisiondesc (%hdr.mix;)+> 601<!ATTLIST revisiondesc %common.att;> 602 603<!-- ............................................................... --> 604<!-- Paragraph ..................................................... --> 605<!-- ............................................................... --> 606 607<!-- 608#1997-09-30: maler: Changed from %obj.mix; to %p.mix;. 609#1997-12-29: maler: Changed order of %p.mix; and %p.pcd.mix; 610# references. 611#1997-12-29: maler: Changed order of %statusobj.mix; and 612# %statusp.pcd.mix; references. 613#1998-05-14: maler: Removed statusp declarations. 614--> 615 616<!ELEMENT p (%p.pcd.mix;|%p.mix;)*> 617<!ATTLIST p %common.att;> 618 619<!-- ............................................................... --> 620<!-- Regular lists ................................................. --> 621<!-- ............................................................... --> 622 623<!-- ulist: Unordered list, typically bulleted. --> 624<!ELEMENT ulist (item+)> 625<!-- spacing attribute: 626 Use "normal" to get normal vertical spacing for items; 627 use "compact" to get less spacing. The default is dependent 628 on the stylesheet. --> 629<!ATTLIST ulist 630 %common.att; 631 spacing (normal|compact) #IMPLIED> 632 633<!-- olist: Ordered list, typically numbered. --> 634<!ELEMENT olist (item+)> 635<!-- spacing attribute: 636 Use "normal" to get normal vertical spacing for items; 637 use "compact" to get less spacing. The default is dependent 638 on the stylesheet. --> 639<!ATTLIST olist 640 %common.att; 641 spacing (normal|compact) #IMPLIED> 642 643<!ELEMENT item (%obj.mix;)+> 644<!ATTLIST item %common.att;> 645 646<!-- slist: Simple list, typically with no mark. --> 647<!ELEMENT slist (sitem+)> 648<!ATTLIST slist %common.att;> 649 650<!ELEMENT sitem (%p.pcd.mix;)*> 651<!ATTLIST sitem %common.att;> 652 653<!-- glist: Glossary list, typically two-column. --> 654<!ELEMENT glist (gitem+)> 655<!ATTLIST glist %common.att;> 656 657<!ELEMENT gitem (label, def)> 658<!ATTLIST gitem %common.att;> 659 660<!ELEMENT label (%label.pcd.mix;)*> 661<!ATTLIST label %common.att;> 662 663<!ELEMENT def (%obj.mix;)*> 664<!ATTLIST def %common.att;> 665 666<!-- ............................................................... --> 667<!-- Special lists ................................................. --> 668<!-- ............................................................... --> 669 670<!-- blist: Bibliography list. --> 671<!ELEMENT blist (bibl+)> 672<!ATTLIST blist %common.att;> 673 674<!-- 675#1999-07-02: maler: Added show/actuate attributes and default values. 676--> 677 678<!ELEMENT bibl (%bibl.pcd.mix;)*> 679<!-- href attribute: 680 bibl optionally functions as a hypertext reference to the 681 referred-to resource through this attribute. E.g.: 682 683 <bibl href="http://www.my.com/doc.htm">My Document</bibl> 684 --> 685<!ATTLIST bibl 686 %common.att; 687 %simple-xlink.att; 688 %href.att; 689 %user-replace.att; 690 %key.att;> 691 692<!-- orglist: Organization member list. --> 693<!ELEMENT orglist (member+)> 694<!ATTLIST orglist %common.att;> 695 696<!-- 697#1997-09-30: maler: Added optional affiliation. 698--> 699 700<!ELEMENT member (name, affiliation?, role?)> 701<!ATTLIST member %common.att;> 702 703<!-- name (defined in "Specification header" above) --> 704<!-- affiliation (defined in "Specification header" above) --> 705 706<!ELEMENT role (#PCDATA)> 707<!ATTLIST role %common.att;> 708 709<!-- ............................................................... --> 710<!-- Notes ......................................................... --> 711<!-- ............................................................... --> 712 713<!ELEMENT note (%obj.mix;)+> 714<!ATTLIST note %common.att;> 715 716<!-- 717#1998-05-14: maler: Declared issue element. 718#2000-03-07: maler: Added head, source, resolution, and status. 719--> 720 721<!ELEMENT issue (head?, source*, (%obj.mix;)+, resolution?)> 722<!-- status attribute: 723 Indicates whether the issue is open or closed. Note that 724 the lack of a resolution element does not necessarily mean 725 that the issue is still open. --> 726<!ATTLIST issue 727 id ID #REQUIRED 728 %role.att; 729 %diff.att; 730 status (open 731 |closed) "open" 732> 733 734<!ELEMENT source (%p.pcd.mix;)*> 735<!ATTLIST source 736 %common.att;> 737 738<!ELEMENT resolution (%obj.mix;)+> 739<!ATTLIST resolution %common.att;> 740 741<!-- wfcnote: Well-formedness constraint note. --> 742<!ELEMENT wfcnote (head, (%obj.mix;)+)> 743<!-- ID attribute: 744 wfcnote must have an ID so that it can be pointed to 745 from a wfc element in a production. --> 746<!ATTLIST wfcnote 747 %common-idreq.att;> 748 749<!-- vcnote: Validity constraint note. --> 750<!ELEMENT vcnote (head, (%obj.mix;)+)> 751<!-- ID attribute: 752 vcnote must have an ID so that it can be pointed to 753 from a vc element in a production. --> 754<!ATTLIST vcnote 755 %common-idreq.att;> 756 757<!-- 758#1998-05-21: maler: Declared generic constraintnote element. 759--> 760 761<!-- constraintnote: Generic constraint note. --> 762<!ELEMENT constraintnote (head, (%obj.mix;)+)> 763<!-- ID attribute: 764 constraintnote must have an ID so that it can be 765 pointed to from a constraint element in a production. --> 766<!-- type attribute: 767 constraintnote must have a type value keyword so that 768 it can be correctly characterized in the specification. --> 769<!ATTLIST constraintnote 770 %common-idreq.att; 771 type NMTOKEN #REQUIRED> 772 773<!-- ............................................................... --> 774<!-- Basic display elements ........................................ --> 775<!-- ............................................................... --> 776 777<!-- 778#1998-03-23: maler: Added xml:space attribute. 779--> 780 781<!-- eg: Example element, with whitespace respected. --> 782<!ELEMENT eg (%eg.pcd.mix;)*> 783<!ATTLIST eg 784 %common.att; 785 %xmlspace.att;> 786 787<!-- 788#2000-03-07: maler: Removed the xml:attributes attribute. 789# Added %local.graphic.att;. 790--> 791 792<!-- graphic: Displayed graphic. Graphic data should be 793 displayed at the point where it is referenced. Not 794 actually conforming to XLink right now. --> 795<!ELEMENT graphic EMPTY> 796<!-- source attribute: 797 The graphic data must reside at the location pointed to. --> 798<!ENTITY % local.graphic.att ""> 799<!ATTLIST graphic 800 %common.att; 801 %simple-xlink.att; 802 source CDATA #REQUIRED 803 %auto-embed.att; 804 alt CDATA #IMPLIED 805 %local.graphic.att;> 806 807<!-- 808#2000-03-07: maler: Added proto element structure. 809--> 810 811<!-- proto: Function prototype, in the XPath/XPointer style. --> 812<!ELEMENT proto (arg*)> 813<!ATTLIST proto 814 %common.att; 815 name NMTOKEN #REQUIRED 816 return-type %argtypes; #REQUIRED 817> 818 819<!ELEMENT arg EMPTY> 820<!ATTLIST arg 821 %common.att; 822 type %argtypes; #REQUIRED 823 occur (opt|req) #IMPLIED 824> 825 826<!-- 827#2000-03-07: maler: Added example element. 828--> 829 830<!ELEMENT example (head?, (%obj.mix;)+)> 831<!ATTLIST example %common.att;> 832 833<!-- ............................................................... --> 834<!-- EBNF .......................................................... --> 835<!-- ............................................................... --> 836 837<!-- 838#1997-11-28: maler: Added prodgroup to scrap and defined it. 839#1998-05-21: maler: Added constraint to prod. 840#1999-07-02: maler: Added prodrecap to scrap; broadened scrap model. 841# Added headstyle attribute to scrap. 842--> 843 844<!-- scrap: Collection of EBNF language productions. --> 845<!ELEMENT scrap (head, (prodgroup | prod | bnf | prodrecap)+)> 846<!-- lang attribute: 847 The scrap can link to a description of the language used, 848 found in a language element in the header. 849 headstyle attribute: 850 Allows a scrap title to be suppressed from output. To be 851 used only when a scrap title directly next to a section 852 title is distracting or repetetive. --> 853<!ATTLIST scrap 854 %common.att; 855 lang IDREF #IMPLIED 856 headstyle (show|suppress) "show" 857> 858 859<!-- prodgroup: Sub-collection of productions, needed for 860 formatting reasons. --> 861<!ELEMENT prodgroup (prod+)> 862<!-- pcw<n> attributes: 863 Presentational attributes to control the width 864 of the "pseudo-table" columns used to output 865 groups of productions. --> 866<!ATTLIST prodgroup 867 %common.att; 868 pcw1 CDATA #IMPLIED 869 pcw2 CDATA #IMPLIED 870 pcw3 CDATA #IMPLIED 871 pcw4 CDATA #IMPLIED 872 pcw5 CDATA #IMPLIED 873> 874 875<!-- prod: EBNF language production. --> 876<!ELEMENT prod (lhs, (rhs, (com|wfc|vc|constraint)*)+)> 877<!-- ID attribute: 878 The production must have an ID so that cross-references 879 (specref) and mentions of nonterminals (nt) can link to 880 it. --> 881<!ATTLIST prod 882 %common-idreq.att;> 883 884<!-- lhs: Left-hand side of production. --> 885<!ELEMENT lhs (#PCDATA)> 886<!ATTLIST lhs %common.att;> 887 888<!-- rhs: Right-hand side of production; may have many 889 "right-hand sides," one to a line. --> 890<!ELEMENT rhs (#PCDATA|nt|xnt|com)*> 891<!ATTLIST rhs %common.att;> 892 893<!-- nt and xnt (defined in "Phrase-level elements" below) --> 894 895<!-- 896#1997-11-28: maler: Added loc and bibref to com content. 897--> 898 899<!-- com: Production comment. --> 900<!ELEMENT com (#PCDATA|loc|bibref)*> 901<!ATTLIST com %common.att;> 902 903<!-- wfc: Reference to a well-formedness constraint; should 904 generate the head of the wfcnote pointed to. --> 905<!ELEMENT wfc EMPTY> 906<!-- def attribute: 907 Each well formedness tagline in a production must link to the 908 wfcnote that defines it. --> 909<!ATTLIST wfc 910 %def-req.att; 911 %common.att;> 912 913<!-- vc: Reference to a validity constraint; should generate 914 the head of the vcnote pointed to. --> 915<!ELEMENT vc EMPTY> 916<!-- def attribute: 917 Each validity tagline in a production must link to the vcnote 918 that defines it. --> 919<!ATTLIST vc 920 %def-req.att; 921 %common.att;> 922 923<!-- 924#1998-05-21: maler: Declared generic constraint element. 925--> 926 927<!-- constraint: Reference to a generic constraint; should 928 generate the head of the constraintnote pointed to. --> 929<!ELEMENT constraint EMPTY> 930<!-- def attribute: 931 Each constraint tagline in a production must link to the 932 constraint note that defines it. --> 933<!ATTLIST constraint 934 %def-req.att; 935 %common.att;> 936 937<!-- 938#1998-03-23: maler: Added xml:space attribute. 939--> 940 941<!-- bnf: Un-marked-up EBNF production, with whitespace 942 respected. --> 943<!ELEMENT bnf (%eg.pcd.mix;)*> 944<!ATTLIST bnf 945 %common.att; 946 %xmlspace.att;> 947 948<!-- 949#1999-07-02: maler: Declared prodrecap. 950--> 951 952<!-- prodrecap: Reference to production or bnf that appears 953 in its "normative" form elsewhere in the spec; should 954 generate a copy of the original production, without 955 a production number next to it. --> 956<!ELEMENT prodrecap EMPTY> 957<!ATTLIST prodrecap 958 %common.att; 959 %ref-req.att;> 960 961<!-- ............................................................... --> 962<!-- Table ......................................................... --> 963<!-- ............................................................... --> 964 965<!-- 966#1997-10-16: maler: Added table mechanism. 967#1997-11-28: maler: Added non-null system ID to entity declaration. 968# Added HTML table module. 969#1997-12-29: maler: IGNOREd SGML Open table model. 970#1998-03-10: maler: Removed SGML Open table model. 971# Merged html-tbl.mod file into main file. 972# Added %common.att; to all HTML table elements. 973#1998-05-14: maler: Replaced table model with full HTML 4.0 model. 974# Removed htable in favor of table. 975# Removed htbody in favor of tbody. 976--> 977 978<!ENTITY % cellhalign.att 979 'align (left|center 980 |right|justify 981 |char) #IMPLIED 982 char CDATA #IMPLIED 983 charoff CDATA #IMPLIED'> 984 985<!ENTITY % cellvalign.att 986 'valign (top|middle 987 |bottom 988 |baseline) #IMPLIED'> 989 990<!ENTITY % thtd.att 991 'abbr CDATA #IMPLIED 992 axis CDATA #IMPLIED 993 headers IDREFS #IMPLIED 994 scope (row 995 |col 996 |rowgroup 997 |colgroup) #IMPLIED 998 rowspan NMTOKEN "1" 999 colspan NMTOKEN "1"'> 1000 1001<!ENTITY % width.att 1002 'width CDATA #IMPLIED'> 1003 1004<!ENTITY % span.att 1005 'span NMTOKEN "1"'> 1006 1007<!-- table: HTML-based geometric table model. --> 1008<!ELEMENT table 1009 (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)> 1010<!ATTLIST table 1011 %common.att; 1012 %width.att; 1013 summary CDATA #IMPLIED 1014 border CDATA #IMPLIED 1015 frame (void|above 1016 |below|hsides 1017 |lhs|rhs 1018 |vsides|box 1019 |border) #IMPLIED 1020 rules (none|groups 1021 |rows|cols 1022 |all) #IMPLIED 1023 cellspacing CDATA #IMPLIED 1024 cellpadding CDATA #IMPLIED> 1025 1026<!ELEMENT caption (%p.pcd.mix;)*> 1027<!ATTLIST caption %common.att;> 1028 1029<!ELEMENT col EMPTY> 1030<!ATTLIST col 1031 %common.att; 1032 %span.att; 1033 %width.att; 1034 %cellhalign.att; 1035 %cellvalign.att;> 1036 1037<!ELEMENT colgroup (col)*> 1038<!ATTLIST colgroup 1039 %common.att; 1040 %span.att; 1041 %width.att; 1042 %cellhalign.att; 1043 %cellvalign.att;> 1044 1045<!ELEMENT thead (tr)+> 1046<!ATTLIST thead 1047 %common.att; 1048 %cellhalign.att; 1049 %cellvalign.att;> 1050 1051<!ELEMENT tfoot (tr)+> 1052<!ATTLIST tfoot 1053 %common.att; 1054 %cellhalign.att; 1055 %cellvalign.att;> 1056 1057<!ELEMENT tbody (tr)+> 1058<!ATTLIST tbody 1059 %common.att; 1060 %cellhalign.att; 1061 %cellvalign.att;> 1062 1063<!ELEMENT tr (th|td)+> 1064<!ATTLIST tr 1065 %common.att; 1066 %cellhalign.att; 1067 %cellvalign.att;> 1068 1069<!ELEMENT th (%p.pcd.mix;|%p.mix;)*> 1070<!ATTLIST th 1071 %common.att; 1072 %thtd.att; 1073 %cellhalign.att; 1074 %cellvalign.att;> 1075 1076<!ELEMENT td (%p.pcd.mix;|%p.mix;)*> 1077<!ATTLIST td 1078 %common.att; 1079 %thtd.att; 1080 %cellhalign.att; 1081 %cellvalign.att;> 1082 1083<!-- ............................................................... --> 1084<!-- IDL structures for DOM specifications ......................... --> 1085<!-- ............................................................... --> 1086 1087<!-- ............................................................... --> 1088<!-- Specialized entities for classes .............................. --> 1089 1090<!ENTITY % idl-desc.class 1091 "p|note"> 1092 1093<!ENTITY % idl-tdef.class 1094 "typedef|constant|exception|reference|group"> 1095 1096<!ENTITY % idl-mod.class 1097 "module|interface"> 1098 1099<!ENTITY % idl-struct.class 1100 "struct|enum|sequence|union|typename"> 1101 1102<!ENTITY % idl-meth.class 1103 "method|attribute"> 1104 1105<!-- ............................................................... --> 1106<!-- Specialized entities for mixtures ............................. --> 1107 1108<!-- Quick reference to content model mixtures: 1109 1110 desc tdef mod struct meth 1111group x x x x x 1112definitions, module x x x 1113interface x x x 1114typedef, case, component x 1115--> 1116 1117<!ENTITY % idl-grp.mix 1118 "%idl-desc.class;|%idl-tdef.class;|%idl-mod.class; 1119 |%idl-struct.class;|%idl-meth.class;"> 1120 1121<!ENTITY % idl-defn.mix 1122 "%idl-desc.class;|%idl-tdef.class;|%idl-mod.class;"> 1123 1124<!ENTITY % idl-intfc.mix 1125 "%idl-desc.class;|%idl-tdef.class;|%idl-meth.class;"> 1126 1127<!ENTITY % idl-type.mix 1128 "%idl-struct.class;"> 1129 1130<!-- ............................................................... --> 1131<!-- Specialized entities for common attributes .................... --> 1132 1133<!-- name attribute: 1134 Provides a name. Required. --> 1135<!ENTITY % idl-name.att 1136 'name CDATA #REQUIRED'> 1137 1138<!-- type attribute: 1139 Provides a type. Required. --> 1140<!ENTITY % idl-type.att 1141 'type CDATA #REQUIRED'> 1142 1143<!-- ............................................................... --> 1144<!-- Common IDL element ............................................ --> 1145 1146<!ELEMENT descr ((%obj.mix;)*)> 1147<!ATTLIST descr %common.att;> 1148 1149<!-- ............................................................... --> 1150<!-- IDL definition elements ....................................... --> 1151 1152<!-- definitions: Top-level element for definitions. --> 1153<!ELEMENT definitions (%idl-defn.mix;)+> 1154<!ATTLIST definitions %common.att;> 1155 1156<!-- group: Element used to group a set of definitions. --> 1157 1158<!ELEMENT group (descr, (%idl-grp.mix;)*)> 1159<!ATTLIST group 1160 %common.att; 1161 %idl-name.att;> 1162 1163<!-- interface: Definition of an interface. --> 1164<!ELEMENT interface (descr, (%idl-intfc.mix;)*)> 1165<!ATTLIST interface 1166 %common.att; 1167 %idl-name.att; 1168 inherits CDATA #IMPLIED> 1169 1170<!-- module: Definition of a module. --> 1171<!ELEMENT module (descr, (%idl-defn.mix;)*)> 1172<!ATTLIST module 1173 %common.att; 1174 %idl-name.att;> 1175 1176<!-- reference: Reference to some other declaration. --> 1177<!ELEMENT reference EMPTY> 1178<!ATTLIST reference 1179 %common.att; 1180 declaration IDREF #REQUIRED> 1181 1182<!-- typedef: Definition of a named type. --> 1183<!ELEMENT typedef (descr, (%idl-type.mix;))> 1184<!ATTLIST typedef 1185 %common.att; 1186 %idl-name.att; 1187 array.size NMTOKEN #IMPLIED> 1188 1189<!-- struct: Declaration of a struct type. --> 1190<!ELEMENT struct (descr, component+)> 1191<!ATTLIST struct 1192 %common.att; 1193 %idl-name.att;> 1194 1195<!-- component: Declaration of a structural member. --> 1196<!ELEMENT component (%idl-type.mix;)> 1197<!ATTLIST component 1198 %common.att; 1199 %idl-name.att;> 1200 1201<!-- union: Declaration of a union type. --> 1202<!ELEMENT union (descr, case+)> 1203<!ATTLIST union 1204 %common.att; 1205 %idl-name.att; 1206 switch.type CDATA #REQUIRED> 1207 1208<!ELEMENT case (descr, (%idl-type.mix;))> 1209<!ATTLIST case 1210 %common.att; 1211 labels CDATA #REQUIRED> 1212 1213<!-- enum: Declaration of an enum type. --> 1214<!ELEMENT enum (descr, enumerator+)> 1215<!ATTLIST enum 1216 %common.att; 1217 %idl-name.att;> 1218 1219<!ELEMENT enumerator (descr)> 1220<!ATTLIST enumerator 1221 %common.att; 1222 %idl-name.att;> 1223 1224<!-- sequence: Declaration of a sequence type (not named). --> 1225<!ELEMENT sequence (sequence*)> 1226<!ATTLIST sequence 1227 %common.att; 1228 %idl-type.att; 1229 size NMTOKEN #IMPLIED> 1230 1231<!-- constant: Declaration of a named constant. --> 1232<!ELEMENT constant (descr)> 1233<!ATTLIST constant 1234 %common.att; 1235 %idl-name.att; 1236 %idl-type.att; 1237 value CDATA #REQUIRED> 1238 1239<!-- exception: Declaration of an exception. --> 1240<!ELEMENT exception (descr, component*)> 1241<!ATTLIST exception 1242 %common.att; 1243 %idl-name.att;> 1244<!-- component (defined under struct, above)--> 1245 1246<!-- attribute: Declaration of an attribute (data member). --> 1247<!ELEMENT attribute (descr)> 1248<!ATTLIST attribute 1249 %common.att; 1250 %idl-name.att; 1251 %idl-type.att; 1252 readonly (yes 1253 |no) "no"> 1254 1255<!-- method: Declaration of a method. --> 1256<!ELEMENT method (descr, parameters, returns, raises)> 1257<!ATTLIST method 1258 %common.att; 1259 %idl-name.att;> 1260 1261<!ELEMENT parameters (param*)> 1262<!ATTLIST parameters %common.att;> 1263 1264<!ELEMENT param (descr)> 1265<!ATTLIST param 1266 %common.att; 1267 %idl-name.att; 1268 %idl-type.att; 1269 attr (in 1270 |out 1271 |inout) "inout"> 1272 1273<!ELEMENT returns (descr)> 1274<!ATTLIST returns 1275 %common.att; 1276 %idl-type.att;> 1277 1278<!ELEMENT raises (exception*)> 1279<!-- exception (defined under constant, above)--> 1280 1281<!ELEMENT typename (#PCDATA)> 1282<!ATTLIST typename %common.att;> 1283 1284<!-- ............................................................... --> 1285<!-- Phrase-level elements ......................................... --> 1286<!-- ............................................................... --> 1287 1288<!-- 1289#2000-03-07: maler: Added att and attval elements. 1290--> 1291 1292<!-- att: Attribute name. --> 1293<!ELEMENT att (%tech.pcd.mix;)*> 1294<!ATTLIST att %common.att;> 1295 1296<!-- attval: Attribute value. --> 1297<!ELEMENT attval (%tech.pcd.mix;)*> 1298<!ATTLIST attval %common.att;> 1299 1300<!-- bibref: Reference to a bibliography list entry; should 1301 generate, in square brackets, "key" on bibl. --> 1302<!ELEMENT bibref EMPTY> 1303<!-- ref attribute: 1304 A bibliography reference must link to the bibl element that 1305 describes the resource. --> 1306<!ATTLIST bibref 1307 %common.att; 1308 %ref-req.att;> 1309 1310<!ELEMENT code (%tech.pcd.mix;)*> 1311<!ATTLIST code %common.att;> 1312 1313<!-- 1314#1998-03-10: maler: Declared ednote and related elements. 1315#1999-07-02: maler: Changed edtext content from #PCDATA to %p.pcd.mix;. 1316--> 1317 1318<!-- ednote: Editorial note for communication among editors. --> 1319<!ELEMENT ednote (name?, date?, edtext)> 1320<!ATTLIST ednote %common.att;> 1321 1322<!ELEMENT date (#PCDATA)> 1323<!ATTLIST date %common.att;> 1324 1325<!ELEMENT edtext (%p.pcd.mix;)*> 1326<!ATTLIST edtext %common.att;> 1327 1328<!-- 1329#2000-03-07: maler: Added el element. 1330--> 1331 1332<!-- el: Element type name (GI). --> 1333<!ELEMENT el (%tech.pcd.mix;)*> 1334<!ATTLIST el %common.att;> 1335 1336<!-- 1337#2000-03-07: maler: Expanded emph to %p.pcd.mix;. 1338--> 1339 1340<!ELEMENT emph (%p.pcd.mix;)*> 1341<!ATTLIST emph %common.att;> 1342 1343<!-- footnote: Both footnote content and call to footnote. --> 1344<!ELEMENT footnote (%obj.mix;)+> 1345<!ATTLIST footnote %common.att;> 1346 1347<!-- 1348#2000-03-07: maler: Added function and gave it content of 1349# %tech.pcd.mix; instead of XPath's #PCDATA. 1350--> 1351 1352<!ELEMENT function (%tech.pcd.mix;)*> 1353<!ATTLIST function %common.att;> 1354 1355<!ELEMENT kw (%tech.pcd.mix;)*> 1356<!ATTLIST kw %common.att;> 1357 1358<!-- 1359#1999-07-02: maler: Added show/actuate attributes and default values. 1360--> 1361 1362<!-- loc: Generic link to a Web resource, similar to HTML's A. --> 1363<!ELEMENT loc (#PCDATA)> 1364<!-- href attribute: 1365 The purpose of a loc element is to function as a A-like 1366 hypertext link to a resource. (Ideally, the content of loc 1367 will also mention the URI of the resource, so that readers of 1368 the printed version will be able to locate the resource.) E.g.: 1369 1370<loc href="http://www.my.com/doc.htm">http://www.my.com/doc.htm</loc> 1371 --> 1372<!ATTLIST loc 1373 %common.att; 1374 %simple-xlink.att; 1375 %href-req.att; 1376 %user-replace.att;> 1377 1378<!-- nt: Mention of a nonterminal in text, along with a link to 1379 the production in the current document that defines it. --> 1380<!ELEMENT nt (#PCDATA)> 1381<!-- def attribute: 1382 The nonterminal must link to the production that defines 1383 it. --> 1384<!ATTLIST nt 1385 %common.att; 1386 %def-req.att;> 1387 1388<!-- 1389#2000-03-07: maler: Declared phrase. 1390--> 1391 1392<!-- phrase: "Attribute hanger" for small bits of (e.g.) differenced 1393 text in a paragraph or similar, when another element isn't handy. 1394 Beware that its content model may allow more nested elements than 1395 would normally be allowed in some contexts. --> 1396<!ELEMENT phrase (%p.pcd.mix;)*> 1397<!ATTLIST phrase %common.att;> 1398 1399<!-- 1400#1998-03-10: maler: Declared quote. 1401--> 1402 1403<!-- quote: Scare quotes and other purely presentational quotes. --> 1404<!ELEMENT quote (%p.pcd.mix;)*> 1405<!ATTLIST quote %common.att;> 1406 1407<!-- specref: Reference to a div, olist item, prod, or issue 1408 in the current document; should generate italic "[n.n], 1409 Section Title" for div, "n" for numbered item, "[n]" for 1410 production, or "Issue id" for issue. --> 1411<!ELEMENT specref EMPTY> 1412<!-- ref attribute: 1413 The purpose of a specref element is to link to a div, item 1414 in an olist, or production in the current spec. --> 1415<!ATTLIST specref 1416 %common.att; 1417 %ref-req.att;> 1418 1419<!-- 1420#2000-03-07: maler: Added sub and sup. 1421--> 1422 1423<!-- sub: Subscript. --> 1424<!ELEMENT sub (#PCDATA)> 1425<!ATTLIST sub %common.att;> 1426 1427<!-- sup: Superscript. --> 1428<!ELEMENT sup (#PCDATA)> 1429<!ATTLIST sup %common.att;> 1430 1431<!-- term: The term in text that is being defined in text. --> 1432<!ELEMENT term (#PCDATA)> 1433<!ATTLIST term %common.att;> 1434 1435<!-- termdef: Definition of a term in text. --> 1436<!ELEMENT termdef (%termdef.pcd.mix;|%termdef.mix;)*> 1437<!-- ID attribute: 1438 A term definition must have an ID so that it can be linked 1439 to from termref elements. --> 1440<!-- term attribute: 1441 The canonical form of the term or phrase being defined must 1442 appear in this attribute, even if the term or phrase also 1443 appears in the element content in identical form (e.g., in 1444 the term element). --> 1445<!ATTLIST termdef 1446 %common-idreq.att; 1447 term CDATA #REQUIRED> 1448 1449<!-- termref: Mention of a term, along with a link to the 1450 definition in the current document. --> 1451<!ELEMENT termref (#PCDATA)> 1452<!-- ref attribute: 1453 A term reference must link to the termdef element that 1454 defines the term. --> 1455<!ATTLIST termref 1456 %common.att; 1457 %def-req.att;> 1458 1459<!-- 1460#1999-07-02: maler: Added show/actuate attributes and default values. 1461--> 1462 1463<!-- titleref: Citation of another document, which can also 1464 link to that document if it is a Web resource. --> 1465<!ELEMENT titleref (#PCDATA)> 1466<!-- href attribute: 1467 A title reference can optionally function as a hypertext 1468 link to the resource with this title. E.g.: 1469 1470<loc href="http://www.my.com/doc.htm">http://www.my.com/doc.htm</loc> 1471 --> 1472 1473<!ATTLIST titleref 1474 %common.att; 1475 %simple-xlink.att; 1476 %href.att; 1477 %user-new.att;> 1478 1479<!-- 1480#2000-03-07: maler: Added var. 1481--> 1482 1483<!-- var: String standing for a variable value that the user 1484 or system will supply. For example: "For each node 1485 <var>x</var> in this node-set..." --> 1486<!ELEMENT var (%tech.pcd.mix;)*> 1487<!ATTLIST var %common.att;> 1488 1489<!-- 1490#1999-07-02: maler: Added show/actuate attributes and default values. 1491--> 1492 1493<!-- xnt: Mention of a nonterminal in text, along with a link to 1494 the production in another document that defines it. --> 1495<!ELEMENT xnt (#PCDATA)> 1496<!-- href attribute: 1497 The nonterminal must hyperlink to a resource that serves 1498 to define it (e.g., a production in a related XML 1499 specification). E.g.: 1500 1501<xnt href="http://www.w3.org/TR/spec.htm#prod3">Name</xnt> 1502 --> 1503 1504<!ATTLIST xnt 1505 %common.att; 1506 %simple-xlink.att; 1507 %href-req.att; 1508 %user-new.att;> 1509 1510<!-- 1511#1997-12-29: maler: Declared xspecref. 1512#1999-07-02: maler: Added show/actuate attributes and default values. 1513--> 1514 1515<!-- xspecref: Reference to a div, olist item, prod, or issue 1516 in a related specification document; should generate 1517 no special text. --> 1518<!ELEMENT xspecref (#PCDATA)> 1519<!-- href attribute: 1520 The spec reference must hyperlink to the resource to 1521 cross-refer to (e.g., a section in a related XML 1522 specification). E.g.: 1523 1524<xspecref href="http://www.w3.org/TR/spec.htm#sec2"> 1525the section on constraints</xspecref> 1526 --> 1527 1528<!ATTLIST xspecref 1529 %common.att; 1530 %simple-xlink.att; 1531 %href-req.att; 1532 %user-new.att;> 1533 1534<!-- 1535#1999-07-02: maler: Added show/actuate attributes and default values. 1536--> 1537 1538<!-- termref: Mention of a term, along with a link to the 1539 definition in a related document. --> 1540<!ELEMENT xtermref (#PCDATA)> 1541<!-- href attribute: 1542 The term reference must hyperlink to the resource that 1543 serves to define the term (e.g., a term definition in 1544 a related XML specification). E.g.: 1545 1546<xtermref href="http://www.w3.org/TR/spec.htm#term5"> 1547entity 1548</xtermref> 1549 --> 1550 1551<!ATTLIST xtermref 1552 %common.att; 1553 %simple-xlink.att; 1554 %href-req.att; 1555 %user-new.att;> 1556 1557<!-- ............................................................... --> 1558<!-- Unused elements for ADEPT ..................................... --> 1559<!-- ............................................................... --> 1560 1561<!-- 1562#1997-09-30: maler: Added unusued elements. 1563#1997-10-14: maler: Fixed div to move nested div to the mixture. 1564#1998-05-14: maler: Added key-term, htable, and htbody. 1565#1998-11-30: maler: Added para, listitem, itemizedlist, and orderedlist. 1566--> 1567 1568<!-- The following elements are purposely declared but never 1569 referenced. Declaring them allows them to be pasted from 1570 an HTML document, an earlier version of an XMLspec document, 1571 or a DocBook document into a document using this DTD in ADEPT. 1572 The ATD Context Transformation mechanism will try to convert 1573 them to the appropriate element for this DTD. While this 1574 conversion will not work for all fragments, it does allow many 1575 cases to work reasonably well. --> 1576 1577<!ELEMENT div 1578 (head?, (%div.mix;|ul|ol|h1|h2|h3|h4|h5|h6|div)*)> 1579<!ELEMENT h1 (%head.pcd.mix;|em|a)*> 1580<!ELEMENT h2 (%head.pcd.mix;|em|a)*> 1581<!ELEMENT h3 (%head.pcd.mix;|em|a)*> 1582<!ELEMENT h4 (%head.pcd.mix;|em|a)*> 1583<!ELEMENT h5 (%head.pcd.mix;|em|a)*> 1584<!ELEMENT h6 (%head.pcd.mix;|em|a)*> 1585<!ELEMENT pre (%eg.pcd.mix;|em)*> 1586<!ELEMENT ul (item|li)*> 1587<!ELEMENT ol (item|li)*> 1588<!ELEMENT li (#PCDATA|%obj.mix;)*> 1589<!ELEMENT em (#PCDATA)> 1590<!ELEMENT a (#PCDATA)> 1591 1592<!ELEMENT key-term (#PCDATA)> 1593<!ELEMENT htable 1594 (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)> 1595<!ELEMENT htbody (tr)+> 1596<!ELEMENT statusp (%p.pcd.mix;|%p.mix;)*> 1597 1598<!ELEMENT itemizedlist (listitem*)> 1599<!ELEMENT orderedlist (listitem*)> 1600<!ELEMENT listitem (para*)> 1601<!ELEMENT para (#PCDATA)> 1602 1603<!-- ............................................................... --> 1604<!-- Change history ................................................ --> 1605<!-- ............................................................... --> 1606 1607<!-- 1608#1997-08-18: maler 1609#- Did a major revision. 1610#1997-09-10: maler 1611#- Updated FPI. 1612#- Removed namekey element and put key attribute on name element. 1613#- Made statusp element and supporting entities. 1614#- Added slist element with sitem+ content. 1615#- Required head on scrap and added new bnf subelement. 1616#- Added an xnt element and allowed it and nt in regular text and rhs. 1617#- Removed the ntref element. 1618#- Added back the com element to the content of rhs. 1619#- Added a key attribute to bibl. 1620#- Removed the ident element. 1621#- Added a term element to be used inside termdef. 1622#- Added an xtermref element parallel to termref. 1623#- Beefed up DTD comments. 1624#1997-09-12: maler 1625#- Allowed term element in general text. 1626#- Changed bibref to EMPTY. 1627#- Added ref.class to termdef.pcd.mix. 1628#1997-09-14: maler 1629#- Changed main attribute of xtermref from def to href. 1630#- Added termdef.class to label contents. 1631#1997-09-30: maler 1632#- Added character entity module and added new entities. 1633#- Removed p from appearing directly in self; created %p.mix;. 1634#- Added inform-div (non-normative division) element. 1635#- Fixed xtermref comment to mention href, not ref. 1636#- Extended orglist model to allow optional affiliation. 1637#- Modified author to make affiliation optional. 1638#- Added %speclist.class; and %note.class; to %obj.mix; and %p.mix;. 1639#- Added %note.class; and %illus.class; to %termdef.pcd.mix;. 1640#- Added unused HTML elements. 1641#- Put empty system ID next to public ID in entity declarations. 1642#1997-10-14: maler 1643#- Fixed "unused" div content model to move nested div to mixture. 1644#1997-10-16: maler 1645#- Added SGML Open Exchange tables. 1646#1997-11-28: maler 1647#- Added support for prodgroup and its attributes. 1648#- Added support for HTML tables. 1649#- Added loc and bibref to content of com. 1650#- Added loc to general p content models. 1651#- Allowed p as alternative to statusp in status. 1652#- Added non-null system IDs to external parameter entity declarations. 1653#- (Modified the SGML Open table module to make it XML-compliant.) 1654#- (Modified the character entity module.) 1655#1997-12-29: maler 1656#- Moved #PCDATA occurrences to come before GIs in content models. 1657#- Removed use of the SGML Open table module. 1658#- Added xspecref element. 1659#- Ensured that all FPIs contain 4-digit year. 1660#- (Modified the character entity module.) 1661#1998-03-10: maler 1662#- Merged the character entity and table modules into the main file. 1663#- Added ldquo and rdquo entities. 1664#- Added common attributes to prodgroup. 1665#- Made the email element in header optional. 1666#- Removed reference to the SGML Open table model. 1667#- Added ednote element. 1668#- Added quote element. 1669#- Updated XLink usage to reflect 3 March 1998 WD. 1670#- Added "local" entities to the class entities for customization. 1671#- Parameterized several content models to allow for customization. 1672#1998-03-23: maler 1673#- Cleaned up some comments and removed some others. 1674#- Added xml:space semi-common attribute to eg and bnf elements. 1675#- Added show and embed attributes on all the uses of href. 1676#- Added %common.att; to all HTML table elements. 1677#- Added a real URI to the "typical invocation" comment. 1678#1998-05-14: maler 1679#- Fixed mdash, ldquo, and rdquo character entities. 1680#- Switched to the full HTML 4.0 table model. 1681#- Removed htable/htbody elements and replaced them with table/tbody. 1682#- Added issue element to %note.class; and declared it. 1683#- Allowed prevlocs and latestloc in either order. 1684#- Added key-term, htable, htbody, and statusp as unused elements. 1685#- Removed real statusp element in favor of plain p. 1686#1998-05-21: maler 1687#- Declared generic constraint and constraintnote elements. 1688#- Added constraintnote to %note.class;. 1689#- Added constraint to %eg.pcd.mix; and prod content model. 1690#1998-08-22: maler 1691#- Fixed %illus.class; to mention table instead of htable. 1692#- Added definitions to %illus.class; for DOM model. 1693#- Added DOM definitions element and its substructure. 1694#- Updated XLink usage in %href.att; to use xlink:form and #IMPLIED. 1695#- Added clarifying comments to href-using elements. 1696#1998-11-30: maler 1697#- Added new unused elements to support DocBook translation. 1698#- Updated maler phone numbers. 1699#1998-12-3: maler 1700#- Fixed character entities with respect to escaping of ampersands. 1701#- Added many more explanatory comments. 1702#1999-07-02: maler 1703#- Added %loc.class; to all PCD mixes that didn't already have it. 1704#- Removed unused %loc.pcd.mix;. 1705#- Made version in spec header optional. 1706#- Added three new attributes to spec. 1707#- Broadened content of edtext. 1708#- Added optional copyright element to header. 1709#- Reorganized XLink-related parameter entities; added xmlns:xlink. 1710#- Changed edtext content from #PCDATA to %p.pcd.mix;. 1711#- Added show/actuate atts and default values to all href elements. 1712#- Changed versioning scheme from 8-digit dates to version numbers. 1713#- Added w3c-doctype, other-doctype, status atts to spec element. 1714#- Added prodrecap element inside scrap. 1715#- Added headstyle attribute to scrap. 1716#2000-03-07: maler 1717#- Added proto element, its arg subelement, and the %argtypes; entity. 1718#- Added function, var, sub, sup, phrase, el, att, attval elements. 1719#- Expanded emph to %p.pcd.mix;. 1720#- Allowed status and abstract to appear in the opposite order. 1721#- Updated XLink usage to the latest WD, except for href and source. 1722#- Removed the xml:attributes attribute from graphic. 1723#- Added %local.graphic.att; to graphic. 1724#- Added common diff attribute. 1725#- Added div5 element. 1726#- Broadened content models of publoc, prevlocs, and latestloc. 1727#- Added head, source, resolution, and status attribute to issue. 1728#- Added cr, issues, and dispcmts to w3c-doctype attribute on spec. 1729#- Added example element. 1730--> 1731 1732<!-- ............................................................... --> 1733<!-- End of XML specification DTD .................................. --> 1734<!-- ............................................................... --> 1735