xhtml1-transitional.dtd 32 KB

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