Annotation of embedaddon/libxml2/test/valid/dtds/xhtml1-strict.dtd, revision 1.1.1.1
1.1 misho 1: <!--
2: Extensible HTML version 1.0 Strict DTD
3:
4: This is the same as HTML 4.0 Strict except for
5: changes due to the differences between XML and SGML.
6:
7: Namespace = http://www.w3.org/1999/xhtml
8:
9: For further information, see: http://www.w3.org/TR/xhtml1
10:
11: Copyright (c) 1998-1999 W3C (MIT, INRIA, Keio),
12: All Rights Reserved.
13:
14: This DTD module is identified by the PUBLIC and SYSTEM identifiers:
15:
16: PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
17: SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
18:
19:
20: -->
21:
22: <!--================ Character mnemonic entities =========================-->
23:
24: <!ENTITY % HTMLlat1 PUBLIC
25: "-//W3C//ENTITIES Latin 1 for XHTML//EN"
26: "xhtml-lat1.ent">
27: %HTMLlat1;
28:
29: <!ENTITY % HTMLsymbol PUBLIC
30: "-//W3C//ENTITIES Symbols for XHTML//EN"
31: "xhtml-symbol.ent">
32: %HTMLsymbol;
33:
34: <!ENTITY % HTMLspecial PUBLIC
35: "-//W3C//ENTITIES Special for XHTML//EN"
36: "xhtml-special.ent">
37: %HTMLspecial;
38:
39: <!--================== Imported Names ====================================-->
40:
41: <!ENTITY % ContentType "CDATA">
42: <!-- media type, as per [RFC2045] -->
43:
44: <!ENTITY % ContentTypes "CDATA">
45: <!-- comma-separated list of media types, as per [RFC2045] -->
46:
47: <!ENTITY % Charset "CDATA">
48: <!-- a character encoding, as per [RFC2045] -->
49:
50: <!ENTITY % Charsets "CDATA">
51: <!-- a space separated list of character encodings, as per [RFC2045] -->
52:
53: <!ENTITY % LanguageCode "NMTOKEN">
54: <!-- a language code, as per [RFC1766] -->
55:
56: <!ENTITY % Character "CDATA">
57: <!-- a single character from [ISO10646] -->
58:
59: <!ENTITY % Number "CDATA">
60: <!-- one or more digits -->
61:
62: <!ENTITY % LinkTypes "CDATA">
63: <!-- space-separated list of link types -->
64:
65: <!ENTITY % MediaDesc "CDATA">
66: <!-- single or comma-separated list of media descriptors -->
67:
68: <!ENTITY % URI "CDATA">
69: <!-- a Uniform Resource Identifier, see [RFC2396] -->
70:
71: <!ENTITY % UriList "CDATA">
72: <!-- a space separated list of Uniform Resource Identifiers -->
73:
74: <!ENTITY % Datetime "CDATA">
75: <!-- date and time information. ISO date format -->
76:
77: <!ENTITY % Script "CDATA">
78: <!-- script expression -->
79:
80: <!ENTITY % StyleSheet "CDATA">
81: <!-- style sheet data -->
82:
83: <!ENTITY % Text "CDATA">
84: <!-- used for titles etc. -->
85:
86: <!ENTITY % FrameTarget "NMTOKEN">
87: <!-- render in this frame -->
88:
89: <!ENTITY % Length "CDATA">
90: <!-- nn for pixels or nn% for percentage length -->
91:
92: <!ENTITY % MultiLength "CDATA">
93: <!-- pixel, percentage, or relative -->
94:
95: <!ENTITY % MultiLengths "CDATA">
96: <!-- comma-separated list of MultiLength -->
97:
98: <!ENTITY % Pixels "CDATA">
99: <!-- integer representing length in pixels -->
100:
101: <!-- these are used for image maps -->
102:
103: <!ENTITY % Shape "(rect|circle|poly|default)">
104:
105: <!ENTITY % Coords "CDATA">
106: <!-- comma separated list of lengths -->
107:
108: <!--=================== Generic Attributes ===============================-->
109:
110: <!-- core attributes common to most elements
111: id document-wide unique id
112: class space separated list of classes
113: style associated style info
114: title advisory title/amplification
115: -->
116: <!ENTITY % coreattrs
117: "id ID #IMPLIED
118: class CDATA #IMPLIED
119: style %StyleSheet; #IMPLIED
120: title %Text; #IMPLIED"
121: >
122:
123: <!-- internationalization attributes
124: lang language code (backwards compatible)
125: xml:lang language code (as per XML 1.0 spec)
126: dir direction for weak/neutral text
127: -->
128: <!ENTITY % i18n
129: "lang %LanguageCode; #IMPLIED
130: xml:lang %LanguageCode; #IMPLIED
131: dir (ltr|rtl) #IMPLIED"
132: >
133:
134: <!-- attributes for common UI events
135: onclick a pointer button was clicked
136: ondblclick a pointer button was double clicked
137: onmousedown a pointer button was pressed down
138: onmouseup a pointer button was released
139: onmousemove a pointer was moved onto the element
140: onmouseout a pointer was moved away from the element
141: onkeypress a key was pressed and released
142: onkeydown a key was pressed down
143: onkeyup a key was released
144: -->
145: <!ENTITY % events
146: "onclick %Script; #IMPLIED
147: ondblclick %Script; #IMPLIED
148: onmousedown %Script; #IMPLIED
149: onmouseup %Script; #IMPLIED
150: onmouseover %Script; #IMPLIED
151: onmousemove %Script; #IMPLIED
152: onmouseout %Script; #IMPLIED
153: onkeypress %Script; #IMPLIED
154: onkeydown %Script; #IMPLIED
155: onkeyup %Script; #IMPLIED"
156: >
157:
158: <!-- attributes for elements that can get the focus
159: accesskey accessibility key character
160: tabindex position in tabbing order
161: onfocus the element got the focus
162: onblur the element lost the focus
163: -->
164: <!ENTITY % focus
165: "accesskey %Character; #IMPLIED
166: tabindex %Number; #IMPLIED
167: onfocus %Script; #IMPLIED
168: onblur %Script; #IMPLIED"
169: >
170:
171: <!ENTITY % attrs "%coreattrs; %i18n; %events;">
172:
173: <!--=================== Text Elements ====================================-->
174:
175: <!ENTITY % special
176: "br | span | bdo | object | img | map">
177:
178: <!ENTITY % fontstyle "tt | i | b | big | small">
179:
180: <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
181: samp | kbd | var | cite | abbr | acronym">
182:
183: <!ENTITY % inline.forms "input | select | textarea | label | button">
184:
185: <!-- these can occur at block or inline level -->
186: <!ENTITY % misc "ins | del | script | noscript">
187:
188: <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
189:
190: <!-- %Inline; covers inline or "text-level" elements -->
191: <!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
192:
193: <!--================== Block level elements ==============================-->
194:
195: <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
196: <!ENTITY % lists "ul | ol | dl">
197: <!ENTITY % blocktext "pre | hr | blockquote | address">
198:
199: <!ENTITY % block
200: "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
201:
202: <!ENTITY % Block "(%block; | form | %misc;)*">
203:
204: <!-- %Flow; mixes Block and Inline and is used for list items etc. -->
205: <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
206:
207: <!--================== Content models for exclusions =====================-->
208:
209: <!-- a elements use %Inline; excluding a -->
210:
211: <!ENTITY % a.content
212: "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
213:
214: <!-- pre uses %Inline excluding img, object, big, small, sup or sup -->
215:
216: <!ENTITY % pre.content
217: "(#PCDATA | a | br | span | bdo | map | tt | i | b |
218: %phrase; | %inline.forms;)*">
219:
220: <!-- form uses %Block; excluding form -->
221:
222: <!ENTITY % form.content "(%block; | %misc;)*">
223:
224: <!-- button uses %Flow; but excludes a, form and form controls -->
225:
226: <!ENTITY % button.content
227: "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
228: table | %special; | %fontstyle; | %phrase; | %misc;)*">
229:
230: <!--================ Document Structure ==================================-->
231:
232: <!-- the namespace URI designates the document profile -->
233:
234: <!ELEMENT html (head, body)>
235: <!ATTLIST html
236: %i18n;
237: xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
238: >
239:
240: <!--================ Document Head =======================================-->
241:
242: <!ENTITY % head.misc "(script|style|meta|link|object)*">
243:
244: <!-- content model is %head.misc; combined with a single
245: title and an optional base element in any order -->
246:
247: <!ELEMENT head (%head.misc;,
248: ((title, %head.misc;, (base, %head.misc;)?) |
249: (base, %head.misc;, (title, %head.misc;))))>
250:
251: <!ATTLIST head
252: %i18n;
253: profile %URI; #IMPLIED
254: >
255:
256: <!-- The title element is not considered part of the flow of text.
257: It should be displayed, for example as the page header or
258: window title. Exactly one title is required per document.
259: -->
260: <!ELEMENT title (#PCDATA)>
261: <!ATTLIST title %i18n;>
262:
263: <!-- document base URI -->
264:
265: <!ELEMENT base EMPTY>
266: <!ATTLIST base
267: href %URI; #IMPLIED
268: >
269:
270: <!-- generic metainformation -->
271: <!ELEMENT meta EMPTY>
272: <!ATTLIST meta
273: %i18n;
274: http-equiv CDATA #IMPLIED
275: name CDATA #IMPLIED
276: content CDATA #REQUIRED
277: scheme CDATA #IMPLIED
278: >
279:
280: <!--
281: Relationship values can be used in principle:
282:
283: a) for document specific toolbars/menus when used
284: with the link element in document head e.g.
285: start, contents, previous, next, index, end, help
286: b) to link to a separate style sheet (rel="stylesheet")
287: c) to make a link to a script (rel="script")
288: d) by stylesheets to control how collections of
289: html nodes are rendered into printed documents
290: e) to make a link to a printable version of this document
291: e.g. a PostScript or PDF version (rel="alternate" media="print")
292: -->
293:
294: <!ELEMENT link EMPTY>
295: <!ATTLIST link
296: %attrs;
297: charset %Charset; #IMPLIED
298: href %URI; #IMPLIED
299: hreflang %LanguageCode; #IMPLIED
300: type %ContentType; #IMPLIED
301: rel %LinkTypes; #IMPLIED
302: rev %LinkTypes; #IMPLIED
303: media %MediaDesc; #IMPLIED
304: >
305:
306: <!-- style info, which may include CDATA sections -->
307: <!ELEMENT style (#PCDATA)>
308: <!ATTLIST style
309: %i18n;
310: type %ContentType; #REQUIRED
311: media %MediaDesc; #IMPLIED
312: title %Text; #IMPLIED
313: xml:space (preserve) #FIXED 'preserve'
314: >
315:
316: <!-- script statements, which may include CDATA sections -->
317: <!ELEMENT script (#PCDATA)>
318: <!ATTLIST script
319: charset %Charset; #IMPLIED
320: type %ContentType; #REQUIRED
321: src %URI; #IMPLIED
322: defer (defer) #IMPLIED
323: xml:space (preserve) #FIXED 'preserve'
324: >
325:
326: <!-- alternate content container for non script-based rendering -->
327:
328: <!ELEMENT noscript %Block;>
329: <!ATTLIST noscript
330: %attrs;
331: >
332:
333: <!--=================== Document Body ====================================-->
334:
335: <!ELEMENT body %Block;>
336: <!ATTLIST body
337: %attrs;
338: onload %Script; #IMPLIED
339: onunload %Script; #IMPLIED
340: >
341:
342: <!ELEMENT div %Flow;> <!-- generic language/style container -->
343: <!ATTLIST div
344: %attrs;
345: >
346:
347: <!--=================== Paragraphs =======================================-->
348:
349: <!ELEMENT p %Inline;>
350: <!ATTLIST p
351: %attrs;
352: >
353:
354: <!--=================== Headings =========================================-->
355:
356: <!--
357: There are six levels of headings from h1 (the most important)
358: to h6 (the least important).
359: -->
360:
361: <!ELEMENT h1 %Inline;>
362: <!ATTLIST h1
363: %attrs;
364: >
365:
366: <!ELEMENT h2 %Inline;>
367: <!ATTLIST h2
368: %attrs;
369: >
370:
371: <!ELEMENT h3 %Inline;>
372: <!ATTLIST h3
373: %attrs;
374: >
375:
376: <!ELEMENT h4 %Inline;>
377: <!ATTLIST h4
378: %attrs;
379: >
380:
381: <!ELEMENT h5 %Inline;>
382: <!ATTLIST h5
383: %attrs;
384: >
385:
386: <!ELEMENT h6 %Inline;>
387: <!ATTLIST h6
388: %attrs;
389: >
390:
391: <!--=================== Lists ============================================-->
392:
393: <!-- Unordered list -->
394:
395: <!ELEMENT ul (li)+>
396: <!ATTLIST ul
397: %attrs;
398: >
399:
400: <!-- Ordered (numbered) list -->
401:
402: <!ELEMENT ol (li)+>
403: <!ATTLIST ol
404: %attrs;
405: >
406:
407: <!-- list item -->
408:
409: <!ELEMENT li %Flow;>
410: <!ATTLIST li
411: %attrs;
412: >
413:
414: <!-- definition lists - dt for term, dd for its definition -->
415:
416: <!ELEMENT dl (dt|dd)+>
417: <!ATTLIST dl
418: %attrs;
419: >
420:
421: <!ELEMENT dt %Inline;>
422: <!ATTLIST dt
423: %attrs;
424: >
425:
426: <!ELEMENT dd %Flow;>
427: <!ATTLIST dd
428: %attrs;
429: >
430:
431: <!--=================== Address ==========================================-->
432:
433: <!-- information on author -->
434:
435: <!ELEMENT address %Inline;>
436: <!ATTLIST address
437: %attrs;
438: >
439:
440: <!--=================== Horizontal Rule ==================================-->
441:
442: <!ELEMENT hr EMPTY>
443: <!ATTLIST hr
444: %attrs;
445: >
446:
447: <!--=================== Preformatted Text ================================-->
448:
449: <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
450:
451: <!ELEMENT pre %pre.content;>
452: <!ATTLIST pre
453: %attrs;
454: xml:space (preserve) #FIXED 'preserve'
455: >
456:
457: <!--=================== Block-like Quotes ================================-->
458:
459: <!ELEMENT blockquote %Block;>
460: <!ATTLIST blockquote
461: %attrs;
462: cite %URI; #IMPLIED
463: >
464:
465: <!--=================== Inserted/Deleted Text ============================-->
466:
467: <!--
468: ins/del are allowed in block and inline content, but its
469: inappropriate to include block content within an ins element
470: occurring in inline content.
471: -->
472: <!ELEMENT ins %Flow;>
473: <!ATTLIST ins
474: %attrs;
475: cite %URI; #IMPLIED
476: datetime %Datetime; #IMPLIED
477: >
478:
479: <!ELEMENT del %Flow;>
480: <!ATTLIST del
481: %attrs;
482: cite %URI; #IMPLIED
483: datetime %Datetime; #IMPLIED
484: >
485:
486: <!--================== The Anchor Element ================================-->
487:
488: <!-- content is %Inline; except that anchors shouldn't be nested -->
489:
490: <!ELEMENT a %a.content;>
491: <!ATTLIST a
492: %attrs;
493: charset %Charset; #IMPLIED
494: type %ContentType; #IMPLIED
495: name NMTOKEN #IMPLIED
496: href %URI; #IMPLIED
497: hreflang %LanguageCode; #IMPLIED
498: rel %LinkTypes; #IMPLIED
499: rev %LinkTypes; #IMPLIED
500: accesskey %Character; #IMPLIED
501: shape %Shape; "rect"
502: coords %Coords; #IMPLIED
503: tabindex %Number; #IMPLIED
504: onfocus %Script; #IMPLIED
505: onblur %Script; #IMPLIED
506: >
507:
508: <!--===================== Inline Elements ================================-->
509:
510: <!ELEMENT span %Inline;> <!-- generic language/style container -->
511: <!ATTLIST span
512: %attrs;
513: >
514:
515: <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
516: <!ATTLIST bdo
517: %coreattrs;
518: %events;
519: lang %LanguageCode; #IMPLIED
520: xml:lang %LanguageCode; #IMPLIED
521: dir (ltr|rtl) #REQUIRED
522: >
523:
524: <!ELEMENT br EMPTY> <!-- forced line break -->
525: <!ATTLIST br
526: %coreattrs;
527: >
528:
529: <!ELEMENT em %Inline;> <!-- emphasis -->
530: <!ATTLIST em %attrs;>
531:
532: <!ELEMENT strong %Inline;> <!-- strong emphasis -->
533: <!ATTLIST strong %attrs;>
534:
535: <!ELEMENT dfn %Inline;> <!-- definitional -->
536: <!ATTLIST dfn %attrs;>
537:
538: <!ELEMENT code %Inline;> <!-- program code -->
539: <!ATTLIST code %attrs;>
540:
541: <!ELEMENT samp %Inline;> <!-- sample -->
542: <!ATTLIST samp %attrs;>
543:
544: <!ELEMENT kbd %Inline;> <!-- something user would type -->
545: <!ATTLIST kbd %attrs;>
546:
547: <!ELEMENT var %Inline;> <!-- variable -->
548: <!ATTLIST var %attrs;>
549:
550: <!ELEMENT cite %Inline;> <!-- citation -->
551: <!ATTLIST cite %attrs;>
552:
553: <!ELEMENT abbr %Inline;> <!-- abbreviation -->
554: <!ATTLIST abbr %attrs;>
555:
556: <!ELEMENT acronym %Inline;> <!-- acronym -->
557: <!ATTLIST acronym %attrs;>
558:
559: <!ELEMENT q %Inline;> <!-- inlined quote -->
560: <!ATTLIST q
561: %attrs;
562: cite %URI; #IMPLIED
563: >
564:
565: <!ELEMENT sub %Inline;> <!-- subscript -->
566: <!ATTLIST sub %attrs;>
567:
568: <!ELEMENT sup %Inline;> <!-- superscript -->
569: <!ATTLIST sup %attrs;>
570:
571: <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
572: <!ATTLIST tt %attrs;>
573:
574: <!ELEMENT i %Inline;> <!-- italic font -->
575: <!ATTLIST i %attrs;>
576:
577: <!ELEMENT b %Inline;> <!-- bold font -->
578: <!ATTLIST b %attrs;>
579:
580: <!ELEMENT big %Inline;> <!-- bigger font -->
581: <!ATTLIST big %attrs;>
582:
583: <!ELEMENT small %Inline;> <!-- smaller font -->
584: <!ATTLIST small %attrs;>
585:
586: <!--==================== Object ======================================-->
587: <!--
588: object is used to embed objects as part of HTML pages.
589: param elements should precede other content. Parameters
590: can also be expressed as attribute/value pairs on the
591: object element itself when brevity is desired.
592: -->
593:
594: <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
595: <!ATTLIST object
596: %attrs;
597: declare (declare) #IMPLIED
598: classid %URI; #IMPLIED
599: codebase %URI; #IMPLIED
600: data %URI; #IMPLIED
601: type %ContentType; #IMPLIED
602: codetype %ContentType; #IMPLIED
603: archive %UriList; #IMPLIED
604: standby %Text; #IMPLIED
605: height %Length; #IMPLIED
606: width %Length; #IMPLIED
607: usemap %URI; #IMPLIED
608: name NMTOKEN #IMPLIED
609: tabindex %Number; #IMPLIED
610: >
611:
612: <!--
613: param is used to supply a named property value.
614: In XML it would seem natural to follow RDF and support an
615: abbreviated syntax where the param elements are replaced
616: by attribute value pairs on the object start tag.
617: -->
618: <!ELEMENT param EMPTY>
619: <!ATTLIST param
620: id ID #IMPLIED
621: name CDATA #IMPLIED
622: value CDATA #IMPLIED
623: valuetype (data|ref|object) "data"
624: type %ContentType; #IMPLIED
625: >
626:
627: <!--=================== Images ===========================================-->
628:
629: <!--
630: To avoid accessibility problems for people who aren't
631: able to see the image, you should provide a text
632: description using the alt and longdesc attributes.
633: In addition, avoid the use of server-side image maps.
634: Note that in this DTD there is no name attribute. That
635: is only available in the transitional and frameset DTD.
636: -->
637:
638: <!ELEMENT img EMPTY>
639: <!ATTLIST img
640: %attrs;
641: src %URI; #REQUIRED
642: alt %Text; #REQUIRED
643: longdesc %URI; #IMPLIED
644: height %Length; #IMPLIED
645: width %Length; #IMPLIED
646: usemap %URI; #IMPLIED
647: ismap (ismap) #IMPLIED
648: >
649:
650: <!-- usemap points to a map element which may be in this document
651: or an external document, although the latter is not widely supported -->
652:
653: <!--================== Client-side image maps ============================-->
654:
655: <!-- These can be placed in the same document or grouped in a
656: separate document although this isn't yet widely supported -->
657:
658: <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
659: <!ATTLIST map
660: %i18n;
661: %events;
662: id ID #REQUIRED
663: class CDATA #IMPLIED
664: style %StyleSheet; #IMPLIED
665: title %Text; #IMPLIED
666: name NMTOKEN #IMPLIED
667: >
668:
669: <!ELEMENT area EMPTY>
670: <!ATTLIST area
671: %attrs;
672: shape %Shape; "rect"
673: coords %Coords; #IMPLIED
674: href %URI; #IMPLIED
675: nohref (nohref) #IMPLIED
676: alt %Text; #REQUIRED
677: tabindex %Number; #IMPLIED
678: accesskey %Character; #IMPLIED
679: onfocus %Script; #IMPLIED
680: onblur %Script; #IMPLIED
681: >
682:
683: <!--================ Forms ===============================================-->
684: <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
685:
686: <!ATTLIST form
687: %attrs;
688: action %URI; #REQUIRED
689: method (get|post) "get"
690: enctype %ContentType; "application/x-www-form-urlencoded"
691: onsubmit %Script; #IMPLIED
692: onreset %Script; #IMPLIED
693: accept %ContentTypes; #IMPLIED
694: accept-charset %Charsets; #IMPLIED
695: >
696:
697: <!--
698: Each label must not contain more than ONE field
699: Label elements shouldn't be nested.
700: -->
701: <!ELEMENT label %Inline;>
702: <!ATTLIST label
703: %attrs;
704: for IDREF #IMPLIED
705: accesskey %Character; #IMPLIED
706: onfocus %Script; #IMPLIED
707: onblur %Script; #IMPLIED
708: >
709:
710: <!ENTITY % InputType
711: "(text | password | checkbox |
712: radio | submit | reset |
713: file | hidden | image | button)"
714: >
715:
716: <!-- the name attribute is required for all but submit & reset -->
717:
718: <!ELEMENT input EMPTY> <!-- form control -->
719: <!ATTLIST input
720: %attrs;
721: type %InputType; "text"
722: name CDATA #IMPLIED
723: value CDATA #IMPLIED
724: checked (checked) #IMPLIED
725: disabled (disabled) #IMPLIED
726: readonly (readonly) #IMPLIED
727: size CDATA #IMPLIED
728: maxlength %Number; #IMPLIED
729: src %URI; #IMPLIED
730: alt CDATA #IMPLIED
731: usemap %URI; #IMPLIED
732: tabindex %Number; #IMPLIED
733: accesskey %Character; #IMPLIED
734: onfocus %Script; #IMPLIED
735: onblur %Script; #IMPLIED
736: onselect %Script; #IMPLIED
737: onchange %Script; #IMPLIED
738: accept %ContentTypes; #IMPLIED
739: >
740:
741: <!ELEMENT select (optgroup|option)+> <!-- option selector -->
742: <!ATTLIST select
743: %attrs;
744: name CDATA #IMPLIED
745: size %Number; #IMPLIED
746: multiple (multiple) #IMPLIED
747: disabled (disabled) #IMPLIED
748: tabindex %Number; #IMPLIED
749: onfocus %Script; #IMPLIED
750: onblur %Script; #IMPLIED
751: onchange %Script; #IMPLIED
752: >
753:
754: <!ELEMENT optgroup (option)+> <!-- option group -->
755: <!ATTLIST optgroup
756: %attrs;
757: disabled (disabled) #IMPLIED
758: label %Text; #REQUIRED
759: >
760:
761: <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
762: <!ATTLIST option
763: %attrs;
764: selected (selected) #IMPLIED
765: disabled (disabled) #IMPLIED
766: label %Text; #IMPLIED
767: value CDATA #IMPLIED
768: >
769:
770: <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
771: <!ATTLIST textarea
772: %attrs;
773: name CDATA #IMPLIED
774: rows %Number; #REQUIRED
775: cols %Number; #REQUIRED
776: disabled (disabled) #IMPLIED
777: readonly (readonly) #IMPLIED
778: tabindex %Number; #IMPLIED
779: accesskey %Character; #IMPLIED
780: onfocus %Script; #IMPLIED
781: onblur %Script; #IMPLIED
782: onselect %Script; #IMPLIED
783: onchange %Script; #IMPLIED
784: >
785:
786: <!--
787: The fieldset element is used to group form fields.
788: Only one legend element should occur in the content
789: and if present should only be preceded by whitespace.
790: -->
791: <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
792: <!ATTLIST fieldset
793: %attrs;
794: >
795:
796: <!ELEMENT legend %Inline;> <!-- fieldset label -->
797: <!ATTLIST legend
798: %attrs;
799: accesskey %Character; #IMPLIED
800: >
801:
802: <!--
803: Content is %Flow; excluding a, form and form controls
804: -->
805: <!ELEMENT button %button.content;> <!-- push button -->
806: <!ATTLIST button
807: %attrs;
808: name CDATA #IMPLIED
809: value CDATA #IMPLIED
810: type (button|submit|reset) "submit"
811: disabled (disabled) #IMPLIED
812: tabindex %Number; #IMPLIED
813: accesskey %Character; #IMPLIED
814: onfocus %Script; #IMPLIED
815: onblur %Script; #IMPLIED
816: >
817:
818: <!--======================= Tables =======================================-->
819:
820: <!-- Derived from IETF HTML table standard, see [RFC1942] -->
821:
822: <!--
823: The border attribute sets the thickness of the frame around the
824: table. The default units are screen pixels.
825:
826: The frame attribute specifies which parts of the frame around
827: the table should be rendered. The values are not the same as
828: CALS to avoid a name clash with the valign attribute.
829: -->
830: <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
831:
832: <!--
833: The rules attribute defines which rules to draw between cells:
834:
835: If rules is absent then assume:
836: "none" if border is absent or border="0" otherwise "all"
837: -->
838:
839: <!ENTITY % TRules "(none | groups | rows | cols | all)">
840:
841: <!-- horizontal placement of table relative to document -->
842: <!ENTITY % TAlign "(left|center|right)">
843:
844: <!-- horizontal alignment attributes for cell contents
845:
846: char alignment char, e.g. char=':'
847: charoff offset for alignment char
848: -->
849: <!ENTITY % cellhalign
850: "align (left|center|right|justify|char) #IMPLIED
851: char %Character; #IMPLIED
852: charoff %Length; #IMPLIED"
853: >
854:
855: <!-- vertical alignment attributes for cell contents -->
856: <!ENTITY % cellvalign
857: "valign (top|middle|bottom|baseline) #IMPLIED"
858: >
859:
860: <!ELEMENT table
861: (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
862: <!ELEMENT caption %Inline;>
863: <!ELEMENT thead (tr)+>
864: <!ELEMENT tfoot (tr)+>
865: <!ELEMENT tbody (tr)+>
866: <!ELEMENT colgroup (col)*>
867: <!ELEMENT col EMPTY>
868: <!ELEMENT tr (th|td)+>
869: <!ELEMENT th %Flow;>
870: <!ELEMENT td %Flow;>
871:
872: <!ATTLIST table
873: %attrs;
874: summary %Text; #IMPLIED
875: width %Length; #IMPLIED
876: border %Pixels; #IMPLIED
877: frame %TFrame; #IMPLIED
878: rules %TRules; #IMPLIED
879: cellspacing %Length; #IMPLIED
880: cellpadding %Length; #IMPLIED
881: >
882:
883: <!ENTITY % CAlign "(top|bottom|left|right)">
884:
885: <!ATTLIST caption
886: %attrs;
887: >
888:
889: <!--
890: colgroup groups a set of col elements. It allows you to group
891: several semantically related columns together.
892: -->
893: <!ATTLIST colgroup
894: %attrs;
895: span %Number; "1"
896: width %MultiLength; #IMPLIED
897: %cellhalign;
898: %cellvalign;
899: >
900:
901: <!--
902: col elements define the alignment properties for cells in
903: one or more columns.
904:
905: The width attribute specifies the width of the columns, e.g.
906:
907: width=64 width in screen pixels
908: width=0.5* relative width of 0.5
909:
910: The span attribute causes the attributes of one
911: col element to apply to more than one column.
912: -->
913: <!ATTLIST col
914: %attrs;
915: span %Number; "1"
916: width %MultiLength; #IMPLIED
917: %cellhalign;
918: %cellvalign;
919: >
920:
921: <!--
922: Use thead to duplicate headers when breaking table
923: across page boundaries, or for static headers when
924: tbody sections are rendered in scrolling panel.
925:
926: Use tfoot to duplicate footers when breaking table
927: across page boundaries, or for static footers when
928: tbody sections are rendered in scrolling panel.
929:
930: Use multiple tbody sections when rules are needed
931: between groups of table rows.
932: -->
933: <!ATTLIST thead
934: %attrs;
935: %cellhalign;
936: %cellvalign;
937: >
938:
939: <!ATTLIST tfoot
940: %attrs;
941: %cellhalign;
942: %cellvalign;
943: >
944:
945: <!ATTLIST tbody
946: %attrs;
947: %cellhalign;
948: %cellvalign;
949: >
950:
951: <!ATTLIST tr
952: %attrs;
953: %cellhalign;
954: %cellvalign;
955: >
956:
957:
958: <!-- Scope is simpler than headers attribute for common tables -->
959: <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
960:
961: <!-- th is for headers, td for data and for cells acting as both -->
962:
963: <!ATTLIST th
964: %attrs;
965: abbr %Text; #IMPLIED
966: axis CDATA #IMPLIED
967: headers IDREFS #IMPLIED
968: scope %Scope; #IMPLIED
969: rowspan %Number; "1"
970: colspan %Number; "1"
971: %cellhalign;
972: %cellvalign;
973: >
974:
975: <!ATTLIST td
976: %attrs;
977: abbr %Text; #IMPLIED
978: axis CDATA #IMPLIED
979: headers IDREFS #IMPLIED
980: scope %Scope; #IMPLIED
981: rowspan %Number; "1"
982: colspan %Number; "1"
983: %cellhalign;
984: %cellvalign;
985: >
986:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>