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