~ubuntu-branches/ubuntu/trusty/w3c-sgml-lib/trusty

« back to all changes in this revision

Viewing changes to htdocs/sgml-lib/Specification/xmlspec-v21.dtd

  • Committer: Bazaar Package Importer
  • Author(s): Nicholas Bamber
  • Date: 2010-08-21 11:15:42 UTC
  • Revision ID: james.westby@ubuntu.com-20100821111542-cklvls9be6wh2f2z
Tags: upstream-1.1
ImportĀ upstreamĀ versionĀ 1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!-- ............................................................... -->
 
2
<!-- XML specification DTD ......................................... -->
 
3
<!-- ............................................................... -->
 
4
 
 
5
<!--
 
6
TYPICAL INVOCATION:
 
7
#  <!DOCTYPE spec PUBLIC
 
8
#       "-//W3C//DTD Specification V2.1//EN"
 
9
#       "http://www.w3.org/XML/1998/06/xmlspec-v21.dtd">
 
10
 
 
11
PURPOSE:
 
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
 
 
15
DEPENDENCIES:
 
16
  None.
 
17
 
 
18
CHANGE 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
 
 
28
MAINTAINER:
 
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 &ldquo; and &rdquo;.
 
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     "&#38;#60;">
 
50
<!ENTITY gt     "&#62;">
 
51
<!ENTITY amp    "&#38;#38;">
 
52
<!ENTITY apos   "&#39;">
 
53
<!ENTITY quot   "&#34;">
 
54
<!ENTITY nbsp   "&#160;">
 
55
<!ENTITY mdash  "&#38;#x2014;">
 
56
<!ENTITY ldquo  "&#38;#x201C;">
 
57
<!ENTITY rdquo  "&#38;#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
 
1111
group                     x    x   x    x      x
 
1112
definitions, module       x    x   x
 
1113
interface                 x    x               x
 
1114
typedef, 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">
 
1525
the 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">
 
1547
entity
 
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
<!-- ............................................................... -->