PageRenderTime 51ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/bundles/plugins-trunk/XML/xml/dtds/xhtml1-strict.dtd

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