home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 January / PCWorld_2001-01_cd.bin / Software / Topware / xmlspy / xmlspy35.exe / Main / def_xsl.dtd < prev    next >
Encoding:
Extensible Markup Language  |  2000-11-20  |  64.2 KB  |  2,021 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- edited with XML Spy v3.0b3 NT (http://www.xmlspy.com) by Vladislav Gavrielov (Icon) -->
  3. <!-- Portions (C) International Organization for Standardization 1986
  4.      Permission to copy in any form is granted for use with
  5.      conforming SGML systems and applications as defined in
  6.      ISO 8879, provided this notice is included in all copies.
  7. -->
  8. <!-- Character entity set. Typical invocation:
  9.     <!ENTITY % HTMLlat1 PUBLIC
  10.        "-//W3C//ENTITIES Latin 1 for XHTML//EN"
  11.        "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
  12.     %HTMLlat1;
  13. -->
  14. <!ENTITY nbsp " ">
  15. <!-- no-break space = non-breaking space,
  16.                                   U+00A0 ISOnum -->
  17. <!ENTITY iexcl "¡">
  18. <!-- inverted exclamation mark, U+00A1 ISOnum -->
  19. <!ENTITY cent "¢">
  20. <!-- cent sign, U+00A2 ISOnum -->
  21. <!ENTITY pound "£">
  22. <!-- pound sign, U+00A3 ISOnum -->
  23. <!ENTITY curren "¤">
  24. <!-- currency sign, U+00A4 ISOnum -->
  25. <!ENTITY yen "¥">
  26. <!-- yen sign = yuan sign, U+00A5 ISOnum -->
  27. <!ENTITY brvbar "¦">
  28. <!-- broken bar = broken vertical bar,
  29.                                   U+00A6 ISOnum -->
  30. <!ENTITY sect "§">
  31. <!-- section sign, U+00A7 ISOnum -->
  32. <!ENTITY uml "¨">
  33. <!-- diaeresis = spacing diaeresis,
  34.                                   U+00A8 ISOdia -->
  35. <!ENTITY copy "©">
  36. <!-- copyright sign, U+00A9 ISOnum -->
  37. <!ENTITY ordf "ª">
  38. <!-- feminine ordinal indicator, U+00AA ISOnum -->
  39. <!ENTITY laquo "«">
  40. <!-- left-pointing double angle quotation mark
  41.                                   = left pointing guillemet, U+00AB ISOnum -->
  42. <!ENTITY not "¬">
  43. <!-- not sign = discretionary hyphen,
  44.                                   U+00AC ISOnum -->
  45. <!ENTITY shy "­">
  46. <!-- soft hyphen = discretionary hyphen,
  47.                                   U+00AD ISOnum -->
  48. <!ENTITY reg "®">
  49. <!-- registered sign = registered trade mark sign,
  50.                                   U+00AE ISOnum -->
  51. <!ENTITY macr "¯">
  52. <!-- macron = spacing macron = overline
  53.                                   = APL overbar, U+00AF ISOdia -->
  54. <!ENTITY deg "°">
  55. <!-- degree sign, U+00B0 ISOnum -->
  56. <!ENTITY plusmn "±">
  57. <!-- plus-minus sign = plus-or-minus sign,
  58.                                   U+00B1 ISOnum -->
  59. <!ENTITY sup2 "²">
  60. <!-- superscript two = superscript digit two
  61.                                   = squared, U+00B2 ISOnum -->
  62. <!ENTITY sup3 "³">
  63. <!-- superscript three = superscript digit three
  64.                                   = cubed, U+00B3 ISOnum -->
  65. <!ENTITY acute "´">
  66. <!-- acute accent = spacing acute,
  67.                                   U+00B4 ISOdia -->
  68. <!ENTITY micro "µ">
  69. <!-- micro sign, U+00B5 ISOnum -->
  70. <!ENTITY para "¶">
  71. <!-- pilcrow sign = paragraph sign,
  72.                                   U+00B6 ISOnum -->
  73. <!ENTITY middot "·">
  74. <!-- middle dot = Georgian comma
  75.                                   = Greek middle dot, U+00B7 ISOnum -->
  76. <!ENTITY cedil "¸">
  77. <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
  78. <!ENTITY sup1 "¹">
  79. <!-- superscript one = superscript digit one,
  80.                                   U+00B9 ISOnum -->
  81. <!ENTITY ordm "º">
  82. <!-- masculine ordinal indicator,
  83.                                   U+00BA ISOnum -->
  84. <!ENTITY raquo "»">
  85. <!-- right-pointing double angle quotation mark
  86.                                   = right pointing guillemet, U+00BB ISOnum -->
  87. <!ENTITY frac14 "¼">
  88. <!-- vulgar fraction one quarter
  89.                                   = fraction one quarter, U+00BC ISOnum -->
  90. <!ENTITY frac12 "½">
  91. <!-- vulgar fraction one half
  92.                                   = fraction one half, U+00BD ISOnum -->
  93. <!ENTITY frac34 "¾">
  94. <!-- vulgar fraction three quarters
  95.                                   = fraction three quarters, U+00BE ISOnum -->
  96. <!ENTITY iquest "¿">
  97. <!-- inverted question mark
  98.                                   = turned question mark, U+00BF ISOnum -->
  99. <!ENTITY Agrave "À">
  100. <!-- latin capital letter A with grave
  101.                                   = latin capital letter A grave,
  102.                                   U+00C0 ISOlat1 -->
  103. <!ENTITY Aacute "Á">
  104. <!-- latin capital letter A with acute,
  105.                                   U+00C1 ISOlat1 -->
  106. <!ENTITY Acirc "Â">
  107. <!-- latin capital letter A with circumflex,
  108.                                   U+00C2 ISOlat1 -->
  109. <!ENTITY Atilde "Ã">
  110. <!-- latin capital letter A with tilde,
  111.                                   U+00C3 ISOlat1 -->
  112. <!ENTITY Auml "Ä">
  113. <!-- latin capital letter A with diaeresis,
  114.                                   U+00C4 ISOlat1 -->
  115. <!ENTITY Aring "Å">
  116. <!-- latin capital letter A with ring above
  117.                                   = latin capital letter A ring,
  118.                                   U+00C5 ISOlat1 -->
  119. <!ENTITY AElig "Æ">
  120. <!-- latin capital letter AE
  121.                                   = latin capital ligature AE,
  122.                                   U+00C6 ISOlat1 -->
  123. <!ENTITY Ccedil "Ç">
  124. <!-- latin capital letter C with cedilla,
  125.                                   U+00C7 ISOlat1 -->
  126. <!ENTITY Egrave "È">
  127. <!-- latin capital letter E with grave,
  128.                                   U+00C8 ISOlat1 -->
  129. <!ENTITY Eacute "É">
  130. <!-- latin capital letter E with acute,
  131.                                   U+00C9 ISOlat1 -->
  132. <!ENTITY Ecirc "Ê">
  133. <!-- latin capital letter E with circumflex,
  134.                                   U+00CA ISOlat1 -->
  135. <!ENTITY Euml "Ë">
  136. <!-- latin capital letter E with diaeresis,
  137.                                   U+00CB ISOlat1 -->
  138. <!ENTITY Igrave "Ì">
  139. <!-- latin capital letter I with grave,
  140.                                   U+00CC ISOlat1 -->
  141. <!ENTITY Iacute "Í">
  142. <!-- latin capital letter I with acute,
  143.                                   U+00CD ISOlat1 -->
  144. <!ENTITY Icirc "Î">
  145. <!-- latin capital letter I with circumflex,
  146.                                   U+00CE ISOlat1 -->
  147. <!ENTITY Iuml "Ï">
  148. <!-- latin capital letter I with diaeresis,
  149.                                   U+00CF ISOlat1 -->
  150. <!ENTITY ETH "Ð">
  151. <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
  152. <!ENTITY Ntilde "Ñ">
  153. <!-- latin capital letter N with tilde,
  154.                                   U+00D1 ISOlat1 -->
  155. <!ENTITY Ograve "Ò">
  156. <!-- latin capital letter O with grave,
  157.                                   U+00D2 ISOlat1 -->
  158. <!ENTITY Oacute "Ó">
  159. <!-- latin capital letter O with acute,
  160.                                   U+00D3 ISOlat1 -->
  161. <!ENTITY Ocirc "Ô">
  162. <!-- latin capital letter O with circumflex,
  163.                                   U+00D4 ISOlat1 -->
  164. <!ENTITY Otilde "Õ">
  165. <!-- latin capital letter O with tilde,
  166.                                   U+00D5 ISOlat1 -->
  167. <!ENTITY Ouml "Ö">
  168. <!-- latin capital letter O with diaeresis,
  169.                                   U+00D6 ISOlat1 -->
  170. <!ENTITY times "×">
  171. <!-- multiplication sign, U+00D7 ISOnum -->
  172. <!ENTITY Oslash "Ø">
  173. <!-- latin capital letter O with stroke
  174.                                   = latin capital letter O slash,
  175.                                   U+00D8 ISOlat1 -->
  176. <!ENTITY Ugrave "Ù">
  177. <!-- latin capital letter U with grave,
  178.                                   U+00D9 ISOlat1 -->
  179. <!ENTITY Uacute "Ú">
  180. <!-- latin capital letter U with acute,
  181.                                   U+00DA ISOlat1 -->
  182. <!ENTITY Ucirc "Û">
  183. <!-- latin capital letter U with circumflex,
  184.                                   U+00DB ISOlat1 -->
  185. <!ENTITY Uuml "Ü">
  186. <!-- latin capital letter U with diaeresis,
  187.                                   U+00DC ISOlat1 -->
  188. <!ENTITY Yacute "Ý">
  189. <!-- latin capital letter Y with acute,
  190.                                   U+00DD ISOlat1 -->
  191. <!ENTITY THORN "Þ">
  192. <!-- latin capital letter THORN,
  193.                                   U+00DE ISOlat1 -->
  194. <!ENTITY szlig "ß">
  195. <!-- latin small letter sharp s = ess-zed,
  196.                                   U+00DF ISOlat1 -->
  197. <!ENTITY agrave "à">
  198. <!-- latin small letter a with grave
  199.                                   = latin small letter a grave,
  200.                                   U+00E0 ISOlat1 -->
  201. <!ENTITY aacute "á">
  202. <!-- latin small letter a with acute,
  203.                                   U+00E1 ISOlat1 -->
  204. <!ENTITY acirc "â">
  205. <!-- latin small letter a with circumflex,
  206.                                   U+00E2 ISOlat1 -->
  207. <!ENTITY atilde "ã">
  208. <!-- latin small letter a with tilde,
  209.                                   U+00E3 ISOlat1 -->
  210. <!ENTITY auml "ä">
  211. <!-- latin small letter a with diaeresis,
  212.                                   U+00E4 ISOlat1 -->
  213. <!ENTITY aring "å">
  214. <!-- latin small letter a with ring above
  215.                                   = latin small letter a ring,
  216.                                   U+00E5 ISOlat1 -->
  217. <!ENTITY aelig "æ">
  218. <!-- latin small letter ae
  219.                                   = latin small ligature ae, U+00E6 ISOlat1 -->
  220. <!ENTITY ccedil "ç">
  221. <!-- latin small letter c with cedilla,
  222.                                   U+00E7 ISOlat1 -->
  223. <!ENTITY egrave "è">
  224. <!-- latin small letter e with grave,
  225.                                   U+00E8 ISOlat1 -->
  226. <!ENTITY eacute "é">
  227. <!-- latin small letter e with acute,
  228.                                   U+00E9 ISOlat1 -->
  229. <!ENTITY ecirc "ê">
  230. <!-- latin small letter e with circumflex,
  231.                                   U+00EA ISOlat1 -->
  232. <!ENTITY euml "ë">
  233. <!-- latin small letter e with diaeresis,
  234.                                   U+00EB ISOlat1 -->
  235. <!ENTITY igrave "ì">
  236. <!-- latin small letter i with grave,
  237.                                   U+00EC ISOlat1 -->
  238. <!ENTITY iacute "í">
  239. <!-- latin small letter i with acute,
  240.                                   U+00ED ISOlat1 -->
  241. <!ENTITY icirc "î">
  242. <!-- latin small letter i with circumflex,
  243.                                   U+00EE ISOlat1 -->
  244. <!ENTITY iuml "ï">
  245. <!-- latin small letter i with diaeresis,
  246.                                   U+00EF ISOlat1 -->
  247. <!ENTITY eth "ð">
  248. <!-- latin small letter eth, U+00F0 ISOlat1 -->
  249. <!ENTITY ntilde "ñ">
  250. <!-- latin small letter n with tilde,
  251.                                   U+00F1 ISOlat1 -->
  252. <!ENTITY ograve "ò">
  253. <!-- latin small letter o with grave,
  254.                                   U+00F2 ISOlat1 -->
  255. <!ENTITY oacute "ó">
  256. <!-- latin small letter o with acute,
  257.                                   U+00F3 ISOlat1 -->
  258. <!ENTITY ocirc "ô">
  259. <!-- latin small letter o with circumflex,
  260.                                   U+00F4 ISOlat1 -->
  261. <!ENTITY otilde "õ">
  262. <!-- latin small letter o with tilde,
  263.                                   U+00F5 ISOlat1 -->
  264. <!ENTITY ouml "ö">
  265. <!-- latin small letter o with diaeresis,
  266.                                   U+00F6 ISOlat1 -->
  267. <!ENTITY divide "÷">
  268. <!-- division sign, U+00F7 ISOnum -->
  269. <!ENTITY oslash "ø">
  270. <!-- latin small letter o with stroke,
  271.                                   = latin small letter o slash,
  272.                                   U+00F8 ISOlat1 -->
  273. <!ENTITY ugrave "ù">
  274. <!-- latin small letter u with grave,
  275.                                   U+00F9 ISOlat1 -->
  276. <!ENTITY uacute "ú">
  277. <!-- latin small letter u with acute,
  278.                                   U+00FA ISOlat1 -->
  279. <!ENTITY ucirc "û">
  280. <!-- latin small letter u with circumflex,
  281.                                   U+00FB ISOlat1 -->
  282. <!ENTITY uuml "ü">
  283. <!-- latin small letter u with diaeresis,
  284.                                   U+00FC ISOlat1 -->
  285. <!ENTITY yacute "ý">
  286. <!-- latin small letter y with acute,
  287.                                   U+00FD ISOlat1 -->
  288. <!ENTITY thorn "þ">
  289. <!-- Mathematical, Greek and Symbolic characters for HTML -->
  290. <!-- Character entity set. Typical invocation:
  291.      <!ENTITY % HTMLsymbol PUBLIC
  292.         "-//W3C//ENTITIES Symbols for XHTML//EN"
  293.         "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
  294.      %HTMLsymbol;
  295. -->
  296. <!-- Portions (C) International Organization for Standardization 1986:
  297.      Permission to copy in any form is granted for use with
  298.      conforming SGML systems and applications as defined in
  299.      ISO 8879, provided this notice is included in all copies.
  300. -->
  301. <!-- Relevant ISO entity set is given unless names are newly introduced.
  302.      New names (i.e., not in ISO 8879 list) do not clash with any
  303.      existing ISO 8879 entity names. ISO 10646 character numbers
  304.      are given for each character, in hex. values are decimal
  305.      conversions of the ISO 10646 values and refer to the document
  306.      character set. Names are Unicode names. 
  307. -->
  308. <!-- Latin Extended-B -->
  309. <!ENTITY fnof "ƒ">
  310. <!-- latin small f with hook = function
  311.                                     = florin, U+0192 ISOtech -->
  312. <!-- Greek -->
  313. <!ENTITY Alpha "Α">
  314. <!-- greek capital letter alpha, U+0391 -->
  315. <!ENTITY Beta "Β">
  316. <!-- greek capital letter beta, U+0392 -->
  317. <!ENTITY Gamma "Γ">
  318. <!-- greek capital letter gamma,
  319.                                     U+0393 ISOgrk3 -->
  320. <!ENTITY Delta "Δ">
  321. <!-- greek capital letter delta,
  322.                                     U+0394 ISOgrk3 -->
  323. <!ENTITY Epsilon "Ε">
  324. <!-- greek capital letter epsilon, U+0395 -->
  325. <!ENTITY Zeta "Ζ">
  326. <!-- greek capital letter zeta, U+0396 -->
  327. <!ENTITY Eta "Η">
  328. <!-- greek capital letter eta, U+0397 -->
  329. <!ENTITY Theta "Θ">
  330. <!-- greek capital letter theta,
  331.                                     U+0398 ISOgrk3 -->
  332. <!ENTITY Iota "Ι">
  333. <!-- greek capital letter iota, U+0399 -->
  334. <!ENTITY Kappa "Κ">
  335. <!-- greek capital letter kappa, U+039A -->
  336. <!ENTITY Lambda "Λ">
  337. <!-- greek capital letter lambda,
  338.                                     U+039B ISOgrk3 -->
  339. <!ENTITY Mu "Μ">
  340. <!-- greek capital letter mu, U+039C -->
  341. <!ENTITY Nu "Ν">
  342. <!-- greek capital letter nu, U+039D -->
  343. <!ENTITY Xi "Ξ">
  344. <!-- greek capital letter xi, U+039E ISOgrk3 -->
  345. <!ENTITY Omicron "Ο">
  346. <!-- greek capital letter omicron, U+039F -->
  347. <!ENTITY Pi "Π">
  348. <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
  349. <!ENTITY Rho "Ρ">
  350. <!-- greek capital letter rho, U+03A1 -->
  351. <!-- there is no Sigmaf, and no U+03A2 character either -->
  352. <!ENTITY Sigma "Σ">
  353. <!-- greek capital letter sigma,
  354.                                     U+03A3 ISOgrk3 -->
  355. <!ENTITY Tau "Τ">
  356. <!-- greek capital letter tau, U+03A4 -->
  357. <!ENTITY Upsilon "Υ">
  358. <!-- greek capital letter upsilon,
  359.                                     U+03A5 ISOgrk3 -->
  360. <!ENTITY Phi "Φ">
  361. <!-- greek capital letter phi,
  362.                                     U+03A6 ISOgrk3 -->
  363. <!ENTITY Chi "Χ">
  364. <!-- greek capital letter chi, U+03A7 -->
  365. <!ENTITY Psi "Ψ">
  366. <!-- greek capital letter psi,
  367.                                     U+03A8 ISOgrk3 -->
  368. <!ENTITY Omega "Ω">
  369. <!-- greek capital letter omega,
  370.                                     U+03A9 ISOgrk3 -->
  371. <!ENTITY alpha "α">
  372. <!-- greek small letter alpha,
  373.                                     U+03B1 ISOgrk3 -->
  374. <!ENTITY beta "β">
  375. <!-- greek small letter beta, U+03B2 ISOgrk3 -->
  376. <!ENTITY gamma "γ">
  377. <!-- greek small letter gamma,
  378.                                     U+03B3 ISOgrk3 -->
  379. <!ENTITY delta "δ">
  380. <!-- greek small letter delta,
  381.                                     U+03B4 ISOgrk3 -->
  382. <!ENTITY epsilon "ε">
  383. <!-- greek small letter epsilon,
  384.                                     U+03B5 ISOgrk3 -->
  385. <!ENTITY zeta "ζ">
  386. <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
  387. <!ENTITY eta "η">
  388. <!-- greek small letter eta, U+03B7 ISOgrk3 -->
  389. <!ENTITY theta "θ">
  390. <!-- greek small letter theta,
  391.                                     U+03B8 ISOgrk3 -->
  392. <!ENTITY iota "ι">
  393. <!-- greek small letter iota, U+03B9 ISOgrk3 -->
  394. <!ENTITY kappa "κ">
  395. <!-- greek small letter kappa,
  396.                                     U+03BA ISOgrk3 -->
  397. <!ENTITY lambda "λ">
  398. <!-- greek small letter lambda,
  399.                                     U+03BB ISOgrk3 -->
  400. <!ENTITY mu "μ">
  401. <!-- greek small letter mu, U+03BC ISOgrk3 -->
  402. <!ENTITY nu "ν">
  403. <!-- greek small letter nu, U+03BD ISOgrk3 -->
  404. <!ENTITY xi "ξ">
  405. <!-- greek small letter xi, U+03BE ISOgrk3 -->
  406. <!ENTITY omicron "ο">
  407. <!-- greek small letter omicron, U+03BF NEW -->
  408. <!ENTITY pi "π">
  409. <!-- greek small letter pi, U+03C0 ISOgrk3 -->
  410. <!ENTITY rho "ρ">
  411. <!-- greek small letter rho, U+03C1 ISOgrk3 -->
  412. <!ENTITY sigmaf "ς">
  413. <!-- greek small letter final sigma,
  414.                                     U+03C2 ISOgrk3 -->
  415. <!ENTITY sigma "σ">
  416. <!-- greek small letter sigma,
  417.                                     U+03C3 ISOgrk3 -->
  418. <!ENTITY tau "τ">
  419. <!-- greek small letter tau, U+03C4 ISOgrk3 -->
  420. <!ENTITY upsilon "υ">
  421. <!-- greek small letter upsilon,
  422.                                     U+03C5 ISOgrk3 -->
  423. <!ENTITY phi "φ">
  424. <!-- greek small letter phi, U+03C6 ISOgrk3 -->
  425. <!ENTITY chi "χ">
  426. <!-- greek small letter chi, U+03C7 ISOgrk3 -->
  427. <!ENTITY psi "ψ">
  428. <!-- greek small letter psi, U+03C8 ISOgrk3 -->
  429. <!ENTITY omega "ω">
  430. <!-- greek small letter omega,
  431.                                     U+03C9 ISOgrk3 -->
  432. <!ENTITY thetasym "ϑ">
  433. <!-- greek small letter theta symbol,
  434.                                     U+03D1 NEW -->
  435. <!ENTITY upsih "ϒ">
  436. <!-- greek upsilon with hook symbol,
  437.                                     U+03D2 NEW -->
  438. <!ENTITY piv "ϖ">
  439. <!-- greek pi symbol, U+03D6 ISOgrk3 -->
  440. <!-- General Punctuation -->
  441. <!ENTITY bull "•">
  442. <!-- bullet = black small circle,
  443.                                      U+2022 ISOpub  -->
  444. <!-- bullet is NOT the same as bullet operator, U+2219 -->
  445. <!ENTITY hellip "…">
  446. <!-- horizontal ellipsis = three dot leader,
  447.                                      U+2026 ISOpub  -->
  448. <!ENTITY prime "′">
  449. <!-- prime = minutes = feet, U+2032 ISOtech -->
  450. <!ENTITY Prime "″">
  451. <!-- double prime = seconds = inches,
  452.                                      U+2033 ISOtech -->
  453. <!ENTITY oline "‾">
  454. <!-- overline = spacing overscore,
  455.                                      U+203E NEW -->
  456. <!ENTITY frasl "⁄">
  457. <!-- fraction slash, U+2044 NEW -->
  458. <!-- Letterlike Symbols -->
  459. <!ENTITY weierp "℘">
  460. <!-- script capital P = power set
  461.                                      = Weierstrass p, U+2118 ISOamso -->
  462. <!ENTITY image "ℑ">
  463. <!-- blackletter capital I = imaginary part,
  464.                                      U+2111 ISOamso -->
  465. <!ENTITY real "ℜ">
  466. <!-- blackletter capital R = real part symbol,
  467.                                      U+211C ISOamso -->
  468. <!ENTITY trade "™">
  469. <!-- trade mark sign, U+2122 ISOnum -->
  470. <!ENTITY alefsym "ℵ">
  471. <!-- alef symbol = first transfinite cardinal,
  472.                                      U+2135 NEW -->
  473. <!-- alef symbol is NOT the same as hebrew letter alef,
  474.      U+05D0 although the same glyph could be used to depict both characters -->
  475. <!-- Arrows -->
  476. <!ENTITY larr "←">
  477. <!-- leftwards arrow, U+2190 ISOnum -->
  478. <!ENTITY uarr "↑">
  479. <!-- upwards arrow, U+2191 ISOnum-->
  480. <!ENTITY rarr "→">
  481. <!-- rightwards arrow, U+2192 ISOnum -->
  482. <!ENTITY darr "↓">
  483. <!-- downwards arrow, U+2193 ISOnum -->
  484. <!ENTITY harr "↔">
  485. <!-- left right arrow, U+2194 ISOamsa -->
  486. <!ENTITY crarr "↵">
  487. <!-- downwards arrow with corner leftwards
  488.                                      = carriage return, U+21B5 NEW -->
  489. <!ENTITY lArr "⇐">
  490. <!-- leftwards double arrow, U+21D0 ISOtech -->
  491. <!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
  492.     but also does not have any other character for that function. So ? lArr can
  493.     be used for 'is implied by' as ISOtech suggests -->
  494. <!ENTITY uArr "⇑">
  495. <!-- upwards double arrow, U+21D1 ISOamsa -->
  496. <!ENTITY rArr "⇒">
  497. <!-- rightwards double arrow,
  498.                                      U+21D2 ISOtech -->
  499. <!-- Unicode does not say this is the 'implies' character but does not have 
  500.      another character with this function so ?
  501.      rArr can be used for 'implies' as ISOtech suggests -->
  502. <!ENTITY dArr "⇓">
  503. <!-- downwards double arrow, U+21D3 ISOamsa -->
  504. <!ENTITY hArr "⇔">
  505. <!-- left right double arrow,
  506.                                      U+21D4 ISOamsa -->
  507. <!-- Mathematical Operators -->
  508. <!ENTITY forall "∀">
  509. <!-- for all, U+2200 ISOtech -->
  510. <!ENTITY part "∂">
  511. <!-- partial differential, U+2202 ISOtech  -->
  512. <!ENTITY exist "∃">
  513. <!-- there exists, U+2203 ISOtech -->
  514. <!ENTITY empty "∅">
  515. <!-- empty set = null set = diameter,
  516.                                      U+2205 ISOamso -->
  517. <!ENTITY nabla "∇">
  518. <!-- nabla = backward difference,
  519.                                      U+2207 ISOtech -->
  520. <!ENTITY isin "∈">
  521. <!-- element of, U+2208 ISOtech -->
  522. <!ENTITY notin "∉">
  523. <!-- not an element of, U+2209 ISOtech -->
  524. <!ENTITY ni "∋">
  525. <!-- contains as member, U+220B ISOtech -->
  526. <!-- should there be a more memorable name than 'ni'? -->
  527. <!ENTITY prod "∏">
  528. <!-- n-ary product = product sign,
  529.                                      U+220F ISOamsb -->
  530. <!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
  531.      the same glyph might be used for both -->
  532. <!ENTITY sum "∑">
  533. <!-- n-ary sumation, U+2211 ISOamsb -->
  534. <!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
  535.      though the same glyph might be used for both -->
  536. <!ENTITY minus "−">
  537. <!-- minus sign, U+2212 ISOtech -->
  538. <!ENTITY lowast "∗">
  539. <!-- asterisk operator, U+2217 ISOtech -->
  540. <!ENTITY radic "√">
  541. <!-- square root = radical sign,
  542.                                      U+221A ISOtech -->
  543. <!ENTITY prop "∝">
  544. <!-- proportional to, U+221D ISOtech -->
  545. <!ENTITY infin "∞">
  546. <!-- infinity, U+221E ISOtech -->
  547. <!ENTITY ang "∠">
  548. <!-- angle, U+2220 ISOamso -->
  549. <!ENTITY and "∧">
  550. <!-- logical and = wedge, U+2227 ISOtech -->
  551. <!ENTITY or "∨">
  552. <!-- logical or = vee, U+2228 ISOtech -->
  553. <!ENTITY cap "∩">
  554. <!-- intersection = cap, U+2229 ISOtech -->
  555. <!ENTITY cup "∪">
  556. <!-- union = cup, U+222A ISOtech -->
  557. <!ENTITY int "∫">
  558. <!-- integral, U+222B ISOtech -->
  559. <!ENTITY there4 "∴">
  560. <!-- therefore, U+2234 ISOtech -->
  561. <!ENTITY sim "∼">
  562. <!-- tilde operator = varies with = similar to,
  563.                                      U+223C ISOtech -->
  564. <!-- tilde operator is NOT the same character as the tilde, U+007E,
  565.      although the same glyph might be used to represent both  -->
  566. <!ENTITY cong "≅">
  567. <!-- approximately equal to, U+2245 ISOtech -->
  568. <!ENTITY asymp "≈">
  569. <!-- almost equal to = asymptotic to,
  570.                                      U+2248 ISOamsr -->
  571. <!ENTITY ne "≠">
  572. <!-- not equal to, U+2260 ISOtech -->
  573. <!ENTITY equiv "≡">
  574. <!-- identical to, U+2261 ISOtech -->
  575. <!ENTITY le "≤">
  576. <!-- less-than or equal to, U+2264 ISOtech -->
  577. <!ENTITY ge "≥">
  578. <!-- greater-than or equal to,
  579.                                      U+2265 ISOtech -->
  580. <!ENTITY sub "⊂">
  581. <!-- subset of, U+2282 ISOtech -->
  582. <!ENTITY sup "⊃">
  583. <!-- superset of, U+2283 ISOtech -->
  584. <!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol 
  585.      font encoding and is not included. Should it be, for symmetry?
  586.      It is in ISOamsn  -->
  587. <!ENTITY nsub "⊄">
  588. <!-- not a subset of, U+2284 ISOamsn -->
  589. <!ENTITY sube "⊆">
  590. <!-- subset of or equal to, U+2286 ISOtech -->
  591. <!ENTITY supe "⊇">
  592. <!-- superset of or equal to,
  593.                                      U+2287 ISOtech -->
  594. <!ENTITY oplus "⊕">
  595. <!-- circled plus = direct sum,
  596.                                      U+2295 ISOamsb -->
  597. <!ENTITY otimes "⊗">
  598. <!-- circled times = vector product,
  599.                                      U+2297 ISOamsb -->
  600. <!ENTITY perp "⊥">
  601. <!-- up tack = orthogonal to = perpendicular,
  602.                                      U+22A5 ISOtech -->
  603. <!ENTITY sdot "⋅">
  604. <!-- dot operator, U+22C5 ISOamsb -->
  605. <!-- dot operator is NOT the same character as U+00B7 middle dot -->
  606. <!-- Miscellaneous Technical -->
  607. <!ENTITY lceil "⌈">
  608. <!-- left ceiling = apl upstile,
  609.                                      U+2308 ISOamsc  -->
  610. <!ENTITY rceil "⌉">
  611. <!-- right ceiling, U+2309 ISOamsc  -->
  612. <!ENTITY lfloor "⌊">
  613. <!-- left floor = apl downstile,
  614.                                      U+230A ISOamsc  -->
  615. <!ENTITY rfloor "⌋">
  616. <!-- right floor, U+230B ISOamsc  -->
  617. <!ENTITY lang "〈">
  618. <!-- left-pointing angle bracket = bra,
  619.                                      U+2329 ISOtech -->
  620. <!-- lang is NOT the same character as U+003C 'less than' 
  621.      or U+2039 'single left-pointing angle quotation mark' -->
  622. <!ENTITY rang "〉">
  623. <!-- right-pointing angle bracket = ket,
  624.                                      U+232A ISOtech -->
  625. <!-- rang is NOT the same character as U+003E 'greater than' 
  626.      or U+203A 'single right-pointing angle quotation mark' -->
  627. <!-- Geometric Shapes -->
  628. <!ENTITY loz "◊">
  629. <!-- lozenge, U+25CA ISOpub -->
  630. <!-- Miscellaneous Symbols -->
  631. <!ENTITY spades "♠">
  632. <!-- black spade suit, U+2660 ISOpub -->
  633. <!-- black here seems to mean filled as opposed to hollow -->
  634. <!ENTITY clubs "♣">
  635. <!-- black club suit = shamrock,
  636.                                      U+2663 ISOpub -->
  637. <!ENTITY hearts "♥">
  638. <!-- black heart suit = valentine,
  639.                                      U+2665 ISOpub -->
  640. <!ENTITY diams "♦">
  641. <!-- black diamond suit, U+2666 ISOpub -->
  642. <!-- Special characters for HTML -->
  643. <!-- Character entity set. Typical invocation:
  644.      <!ENTITY % HTMLspecial PUBLIC
  645.         "-//W3C//ENTITIES Special for XHTML//EN"
  646.         "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
  647.      %HTMLspecial;
  648. -->
  649. <!-- Portions (C) International Organization for Standardization 1986:
  650.      Permission to copy in any form is granted for use with
  651.      conforming SGML systems and applications as defined in
  652.      ISO 8879, provided this notice is included in all copies.
  653. -->
  654. <!-- Relevant ISO entity set is given unless names are newly introduced.
  655.      New names (i.e., not in ISO 8879 list) do not clash with any
  656.      existing ISO 8879 entity names. ISO 10646 character numbers
  657.      are given for each character, in hex. values are decimal
  658.      conversions of the ISO 10646 values and refer to the document
  659.      character set. Names are Unicode names. 
  660. -->
  661. <!-- C0 Controls and Basic Latin -->
  662. <!ENTITY quot """>
  663. <!--  quotation mark = APL quote,
  664.                                     U+0022 ISOnum -->
  665. <!ENTITY amp "&#38;">
  666. <!--  ampersand, U+0026 ISOnum -->
  667. <!ENTITY lt "&#60;">
  668. <!--  less-than sign, U+003C ISOnum -->
  669. <!ENTITY gt ">">
  670. <!--  greater-than sign, U+003E ISOnum -->
  671. <!ENTITY apos "'">
  672. <!--  apostrophe mark, U+0027 ISOnum -->
  673. <!-- Latin Extended-A -->
  674. <!ENTITY OElig "Œ">
  675. <!--  latin capital ligature OE,
  676.                                     U+0152 ISOlat2 -->
  677. <!ENTITY oelig "œ">
  678. <!--  latin small ligature oe, U+0153 ISOlat2 -->
  679. <!-- ligature is a misnomer, this is a separate character in some languages -->
  680. <!ENTITY Scaron "Š">
  681. <!--  latin capital letter S with caron,
  682.                                     U+0160 ISOlat2 -->
  683. <!ENTITY scaron "š">
  684. <!--  latin small letter s with caron,
  685.                                     U+0161 ISOlat2 -->
  686. <!ENTITY Yuml "Ÿ">
  687. <!--  latin capital letter Y with diaeresis,
  688.                                     U+0178 ISOlat2 -->
  689. <!-- Spacing Modifier Letters -->
  690. <!ENTITY circ "ˆ">
  691. <!--  modifier letter circumflex accent,
  692.                                     U+02C6 ISOpub -->
  693. <!ENTITY tilde "˜">
  694. <!--  small tilde, U+02DC ISOdia -->
  695. <!-- General Punctuation -->
  696. <!ENTITY ensp " ">
  697. <!-- en space, U+2002 ISOpub -->
  698. <!ENTITY emsp " ">
  699. <!-- em space, U+2003 ISOpub -->
  700. <!ENTITY thinsp " ">
  701. <!-- thin space, U+2009 ISOpub -->
  702. <!ENTITY zwnj "‌">
  703. <!-- zero width non-joiner,
  704.                                     U+200C NEW RFC 2070 -->
  705. <!ENTITY zwj "‍">
  706. <!-- zero width joiner, U+200D NEW RFC 2070 -->
  707. <!ENTITY lrm "‎">
  708. <!-- left-to-right mark, U+200E NEW RFC 2070 -->
  709. <!ENTITY rlm "‏">
  710. <!-- right-to-left mark, U+200F NEW RFC 2070 -->
  711. <!ENTITY ndash "–">
  712. <!-- en dash, U+2013 ISOpub -->
  713. <!ENTITY mdash "—">
  714. <!-- em dash, U+2014 ISOpub -->
  715. <!ENTITY lsquo "‘">
  716. <!-- left single quotation mark,
  717.                                     U+2018 ISOnum -->
  718. <!ENTITY rsquo "’">
  719. <!-- right single quotation mark,
  720.                                     U+2019 ISOnum -->
  721. <!ENTITY sbquo "‚">
  722. <!-- single low-9 quotation mark, U+201A NEW -->
  723. <!ENTITY ldquo "“">
  724. <!-- left double quotation mark,
  725.                                     U+201C ISOnum -->
  726. <!ENTITY rdquo "”">
  727. <!-- right double quotation mark,
  728.                                     U+201D ISOnum -->
  729. <!ENTITY bdquo "„">
  730. <!-- double low-9 quotation mark, U+201E NEW -->
  731. <!ENTITY dagger "†">
  732. <!-- dagger, U+2020 ISOpub -->
  733. <!ENTITY Dagger "‡">
  734. <!-- double dagger, U+2021 ISOpub -->
  735. <!ENTITY permil "‰">
  736. <!-- per mille sign, U+2030 ISOtech -->
  737. <!ENTITY lsaquo "‹">
  738. <!-- single left-pointing angle quotation mark,
  739.                                     U+2039 ISO proposed -->
  740. <!-- lsaquo is proposed but not yet ISO standardized -->
  741. <!ENTITY rsaquo "›">
  742. <!-- single right-pointing angle quotation mark,
  743.                                     U+203A ISO proposed -->
  744. <!-- rsaquo is proposed but not yet ISO standardized -->
  745. <!ENTITY euro "€">
  746. <!--  euro sign, U+20AC NEW -->
  747. <!--================ Character mnemonic entities =========================-->
  748. <!--================== Imported Names ====================================-->
  749. <!ENTITY % ContentType "CDATA">
  750. <!-- media type, as per [RFC2045] -->
  751. <!ENTITY % ContentTypes "CDATA">
  752. <!-- comma-separated list of media types, as per [RFC2045] -->
  753. <!ENTITY % Charset "CDATA">
  754. <!-- a character encoding, as per [RFC2045] -->
  755. <!ENTITY % Charsets "CDATA">
  756. <!-- a space separated list of character encodings, as per [RFC2045] -->
  757. <!ENTITY % LanguageCode "NMTOKEN">
  758. <!-- a language code, as per [RFC1766] -->
  759. <!ENTITY % Character "CDATA">
  760. <!-- a single character from [ISO10646] -->
  761. <!ENTITY % Number "CDATA">
  762. <!-- one or more digits -->
  763. <!ENTITY % LinkTypes "CDATA">
  764. <!-- space-separated list of link types -->
  765. <!ENTITY % MediaDesc "CDATA">
  766. <!-- single or comma-separated list of media descriptors -->
  767. <!ENTITY % URI "CDATA">
  768. <!-- a Uniform Resource Identifier, see [RFC2396] -->
  769. <!ENTITY % UriList "CDATA">
  770. <!-- a space separated list of Uniform Resource Identifiers -->
  771. <!ENTITY % Datetime "CDATA">
  772. <!-- date and time information. ISO date format -->
  773. <!ENTITY % Script "CDATA">
  774. <!-- script expression -->
  775. <!ENTITY % StyleSheet "CDATA">
  776. <!-- style sheet data -->
  777. <!ENTITY % Text "CDATA">
  778. <!-- used for titles etc. -->
  779. <!ENTITY % FrameTarget "NMTOKEN">
  780. <!-- render in this frame -->
  781. <!ENTITY % Length "CDATA">
  782. <!-- nn for pixels or nn% for percentage length -->
  783. <!ENTITY % MultiLength "CDATA">
  784. <!-- pixel, percentage, or relative -->
  785. <!ENTITY % MultiLengths "CDATA">
  786. <!-- comma-separated list of MultiLength -->
  787. <!ENTITY % Pixels "CDATA">
  788. <!-- integer representing length in pixels -->
  789. <!-- these are used for image maps -->
  790. <!ENTITY % Shape "(rect|circle|poly|default)">
  791. <!ENTITY % Coords "CDATA">
  792. <!-- comma separated list of lengths -->
  793. <!-- used for object, applet, img, input and iframe -->
  794. <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
  795. <!-- a color using sRGB: #RRGGBB as Hex values -->
  796. <!ENTITY % Color "CDATA">
  797. <!-- There are also 16 widely known color names with their sRGB values:
  798.  
  799.     Black  = #000000    Green  = #008000
  800.     Silver = #C0C0C0    Lime   = #00FF00
  801.     Gray   = #808080    Olive  = #808000
  802.     White  = #FFFFFF    Yellow = #FFFF00
  803.     Maroon = #800000    Navy   = #000080
  804.     Red    = #FF0000    Blue   = #0000FF
  805.     Purple = #800080    Teal   = #008080
  806.     Fuchsia= #FF00FF    Aqua   = #00FFFF
  807. -->
  808. <!--=================== Generic Attributes ===============================-->
  809. <!-- core attributes common to most elements
  810.   id       document-wide unique id
  811.   class    space separated list of classes
  812.   style    associated style info
  813.   title    advisory title/amplification
  814. -->
  815. <!ENTITY % coreattrs "id          ID             #IMPLIED
  816.   class       CDATA          #IMPLIED
  817.   style       %StyleSheet;   #IMPLIED
  818.   title       %Text;         #IMPLIED">
  819. <!-- internationalization attributes
  820.   lang        language code (backwards compatible)
  821.   xml:lang    language code (as per XML 1.0 spec)
  822.   dir         direction for weak/neutral text
  823. -->
  824. <!ENTITY % i18n "lang        %LanguageCode; #IMPLIED
  825.   xml:lang    %LanguageCode; #IMPLIED
  826.   dir         (ltr|rtl)      #IMPLIED">
  827. <!-- attributes for common UI events
  828.   onclick     a pointer button was clicked
  829.   ondblclick  a pointer button was double clicked
  830.   onmousedown a pointer button was pressed down
  831.   onmouseup   a pointer button was released
  832.   onmousemove a pointer was moved onto the element
  833.   onmouseout  a pointer was moved away from the element
  834.   onkeypress  a key was pressed and released
  835.   onkeydown   a key was pressed down
  836.   onkeyup     a key was released
  837. -->
  838. <!ENTITY % events "onclick     %Script;       #IMPLIED
  839.   ondblclick  %Script;       #IMPLIED
  840.   onmousedown %Script;       #IMPLIED
  841.   onmouseup   %Script;       #IMPLIED
  842.   onmouseover %Script;       #IMPLIED
  843.   onmousemove %Script;       #IMPLIED
  844.   onmouseout  %Script;       #IMPLIED
  845.   onkeypress  %Script;       #IMPLIED
  846.   onkeydown   %Script;       #IMPLIED
  847.   onkeyup     %Script;       #IMPLIED">
  848. <!-- attributes for elements that can get the focus
  849.   accesskey   accessibility key character
  850.   tabindex    position in tabbing order
  851.   onfocus     the element got the focus
  852.   onblur      the element lost the focus
  853. -->
  854. <!ENTITY % focus "accesskey   %Character;    #IMPLIED
  855.   tabindex    %Number;       #IMPLIED
  856.   onfocus     %Script;       #IMPLIED
  857.   onblur      %Script;       #IMPLIED">
  858. <!ENTITY % attrs "%coreattrs; %i18n; %events;">
  859. <!-- text alignment for p, div, h1-h6. The default is
  860.      align="left" for ltr headings, "right" for rtl -->
  861. <!ENTITY % TextAlign "align (left|center|right) #IMPLIED">
  862. <!--=================== Text Elements ====================================-->
  863. <!ENTITY % special "br | span | bdo | object | applet | img | map | iframe">
  864. <!ENTITY % fontstyle "tt | i | b | big | small | u
  865.                       | s | strike |font | basefont">
  866. <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
  867.                    samp | kbd | var | cite | abbr | acronym">
  868. <!ENTITY % inline.forms "input | select | textarea | label | button">
  869. <!-- these can occur at block or inline level -->
  870. <!ENTITY % misc "ins | del | script | noscript">
  871. <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
  872. <!-- %Inline; covers inline or "text-level" elements -->
  873. <!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
  874. <!--================== Block level elements ==============================-->
  875. <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
  876. <!ENTITY % lists "ul | ol | dl | menu | dir">
  877. <!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
  878. <!ENTITY % block "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
  879. <!ENTITY % Block "(%block; | form | %misc;)*">
  880. <!-- %Flow; mixes Block and Inline and is used for list items etc. -->
  881. <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
  882. <!--================== Content models for exclusions =====================-->
  883. <!-- a elements use %Inline; excluding a -->
  884. <!ENTITY % a.content "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
  885. <!-- pre uses %Inline excluding img, object, applet, big, small,
  886.      sub, sup, font, or basefont -->
  887. <!ENTITY % pre.content "(#PCDATA | a | br | span | bdo | map | tt | i | b | u | s |
  888.       %phrase; | %inline.forms;)*">
  889. <!-- form uses %Flow; excluding form -->
  890. <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
  891. <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
  892. <!ENTITY % button.content "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
  893.       table | br | span | bdo | object | applet | img | map |
  894.       %fontstyle; | %phrase; | %misc;)*">
  895. <!--================ Document Structure ==================================-->
  896. <!-- the namespace URI designates the document profile -->
  897. <!ELEMENT html ANY>
  898. <!ATTLIST html
  899.     %i18n; 
  900.     xmlns %URI; #FIXED "http://www.w3.org/1999/xhtml"
  901. >
  902. <!--================ Document Head =======================================-->
  903. <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
  904. <!-- content model is %head.misc; combined with a single
  905.      title and an optional base element in any order -->
  906. <!ELEMENT head ANY>
  907. <!ATTLIST head
  908.     %i18n; 
  909.     profile %URI; #IMPLIED
  910. >
  911. <!-- The title element is not considered part of the flow of text.
  912.        It should be displayed, for example as the page header or
  913.        window title. Exactly one title is required per document.
  914.     -->
  915. <!ELEMENT title ANY>
  916. <!ATTLIST title
  917.     %i18n; 
  918. >
  919. <!-- document base URI -->
  920. <!ELEMENT base EMPTY>
  921. <!ATTLIST base
  922.     href %URI; #IMPLIED
  923.     target %FrameTarget; #IMPLIED
  924. >
  925. <!-- generic metainformation -->
  926. <!ELEMENT meta EMPTY>
  927. <!ATTLIST meta
  928.     %i18n; 
  929.     http-equiv CDATA #IMPLIED
  930.     name CDATA #IMPLIED
  931.     content CDATA #REQUIRED
  932.     scheme CDATA #IMPLIED
  933. >
  934. <!--
  935.   Relationship values can be used in principle:
  936.  
  937.    a) for document specific toolbars/menus when used
  938.       with the link element in document head e.g.
  939.         start, contents, previous, next, index, end, help
  940.    b) to link to a separate style sheet (rel="stylesheet")
  941.    c) to make a link to a script (rel="script")
  942.    d) by stylesheets to control how collections of
  943.       html nodes are rendered into printed documents
  944.    e) to make a link to a printable version of this document
  945.       e.g. a PostScript or PDF version (rel="alternate" media="print")
  946. -->
  947. <!ELEMENT link EMPTY>
  948. <!ATTLIST link
  949.     %attrs; 
  950.     charset %Charset; #IMPLIED
  951.     href %URI; #IMPLIED
  952.     hreflang %LanguageCode; #IMPLIED
  953.     type %ContentType; #IMPLIED
  954.     rel %LinkTypes; #IMPLIED
  955.     rev %LinkTypes; #IMPLIED
  956.     media %MediaDesc; #IMPLIED
  957.     target %FrameTarget; #IMPLIED
  958. >
  959. <!-- style info, which may include CDATA sections -->
  960. <!ELEMENT style ANY>
  961. <!ATTLIST style
  962.     %i18n; 
  963.     type %ContentType; #REQUIRED
  964.     media %MediaDesc; #IMPLIED
  965.     title %Text; #IMPLIED
  966.     xml:space (preserve) #FIXED "preserve"
  967. >
  968. <!-- script statements, which may include CDATA sections -->
  969. <!ELEMENT script ANY>
  970. <!ATTLIST script
  971.     charset %Charset; #IMPLIED
  972.     type %ContentType; #REQUIRED
  973.     language CDATA #IMPLIED
  974.     src %URI; #IMPLIED
  975.     defer (defer) #IMPLIED
  976.     xml:space (preserve) #FIXED "preserve"
  977. >
  978. <!-- alternate content container for non script-based rendering -->
  979. <!ELEMENT noscript ANY>
  980. <!ATTLIST noscript
  981.     %attrs; 
  982. >
  983. <!--======================= Frames =======================================-->
  984. <!-- inline subwindow -->
  985. <!ELEMENT iframe ANY>
  986. <!ATTLIST iframe
  987.     %coreattrs; 
  988.     longdesc %URI; #IMPLIED
  989.     name NMTOKEN #IMPLIED
  990.     src %URI; #IMPLIED
  991.     frameborder (1 | 0) "1"
  992.     marginwidth %Pixels; #IMPLIED
  993.     marginheight %Pixels; #IMPLIED
  994.     scrolling (yes | no | auto) "auto"
  995.     align %ImgAlign; #IMPLIED
  996.     height %Length; #IMPLIED
  997.     width %Length; #IMPLIED
  998. >
  999. <!-- alternate content container for non frame-based rendering -->
  1000. <!ELEMENT noframes ANY>
  1001. <!ATTLIST noframes
  1002.     %attrs; 
  1003. >
  1004. <!--=================== Document Body ====================================-->
  1005. <!ELEMENT body ANY>
  1006. <!ATTLIST body
  1007.     %attrs; 
  1008.     onload %Script; #IMPLIED
  1009.     onunload %Script; #IMPLIED
  1010.     background %URI; #IMPLIED
  1011.     bgcolor %Color; #IMPLIED
  1012.     text %Color; #IMPLIED
  1013.     link %Color; #IMPLIED
  1014.     vlink %Color; #IMPLIED
  1015.     alink %Color; #IMPLIED
  1016. >
  1017. <!ELEMENT div ANY>
  1018. <!-- generic language/style container -->
  1019. <!ATTLIST div
  1020.     %attrs; 
  1021.     %TextAlign; 
  1022. >
  1023. <!--=================== Paragraphs =======================================-->
  1024. <!ELEMENT p ANY>
  1025. <!ATTLIST p
  1026.     %attrs; 
  1027.     %TextAlign; 
  1028. >
  1029. <!--=================== Headings =========================================-->
  1030. <!--
  1031.   There are six levels of headings from h1 (the most important)
  1032.   to h6 (the least important).
  1033. -->
  1034. <!ELEMENT h1 ANY>
  1035. <!ATTLIST h1
  1036.     %attrs; 
  1037.     %TextAlign; 
  1038. >
  1039. <!ELEMENT h2 ANY>
  1040. <!ATTLIST h2
  1041.     %attrs; 
  1042.     %TextAlign; 
  1043. >
  1044. <!ELEMENT h3 ANY>
  1045. <!ATTLIST h3
  1046.     %attrs; 
  1047.     %TextAlign; 
  1048. >
  1049. <!ELEMENT h4 ANY>
  1050. <!ATTLIST h4
  1051.     %attrs; 
  1052.     %TextAlign; 
  1053. >
  1054. <!ELEMENT h5 ANY>
  1055. <!ATTLIST h5
  1056.     %attrs; 
  1057.     %TextAlign; 
  1058. >
  1059. <!ELEMENT h6 ANY>
  1060. <!ATTLIST h6
  1061.     %attrs; 
  1062.     %TextAlign; 
  1063. >
  1064. <!--=================== Lists ============================================-->
  1065. <!-- Unordered list bullet styles -->
  1066. <!ENTITY % ULStyle "(disc|square|circle)">
  1067. <!-- Unordered list -->
  1068. <!ELEMENT ul ANY>
  1069. <!ATTLIST ul
  1070.     %attrs; 
  1071.     type %ULStyle; #IMPLIED
  1072.     compact (compact) #IMPLIED
  1073. >
  1074. <!-- Ordered list numbering style
  1075.  
  1076.     1   arabic numbers      1, 2, 3, ...
  1077.     a   lower alpha         a, b, c, ...
  1078.     A   upper alpha         A, B, C, ...
  1079.     i   lower roman         i, ii, iii, ...
  1080.     I   upper roman         I, II, III, ...
  1081.  
  1082.     The style is applied to the sequence number which by default
  1083.     is reset to 1 for the first list item in an ordered list.
  1084. -->
  1085. <!ENTITY % OLStyle "CDATA">
  1086. <!-- Ordered (numbered) list -->
  1087. <!ELEMENT ol ANY>
  1088. <!ATTLIST ol
  1089.     %attrs; 
  1090.     type %OLStyle; #IMPLIED
  1091.     compact (compact) #IMPLIED
  1092.     start %Number; #IMPLIED
  1093. >
  1094. <!-- single column list (DEPRECATED) -->
  1095. <!ELEMENT menu ANY>
  1096. <!ATTLIST menu
  1097.     %attrs; 
  1098.     compact (compact) #IMPLIED
  1099. >
  1100. <!-- multiple column list (DEPRECATED) -->
  1101. <!ELEMENT dir ANY>
  1102. <!ATTLIST dir
  1103.     %attrs; 
  1104.     compact (compact) #IMPLIED
  1105. >
  1106. <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
  1107. <!ENTITY % LIStyle "CDATA">
  1108. <!-- list item -->
  1109. <!ELEMENT li ANY>
  1110. <!ATTLIST li
  1111.     %attrs; 
  1112.     type %LIStyle; #IMPLIED
  1113.     value %Number; #IMPLIED
  1114. >
  1115. <!-- definition lists - dt for term, dd for its definition -->
  1116. <!ELEMENT dl ANY>
  1117. <!ATTLIST dl
  1118.     %attrs; 
  1119.     compact (compact) #IMPLIED
  1120. >
  1121. <!ELEMENT dt ANY>
  1122. <!ATTLIST dt
  1123.     %attrs; 
  1124. >
  1125. <!ELEMENT dd ANY>
  1126. <!ATTLIST dd
  1127.     %attrs; 
  1128. >
  1129. <!--=================== Address ==========================================-->
  1130. <!-- information on author -->
  1131. <!ELEMENT address ANY>
  1132. <!ATTLIST address
  1133.     %attrs; 
  1134. >
  1135. <!--=================== Horizontal Rule ==================================-->
  1136. <!ELEMENT hr ANY>
  1137. <!ATTLIST hr
  1138.     %attrs; 
  1139.     align (left | center | right) #IMPLIED
  1140.     noshade (noshade) #IMPLIED
  1141.     size %Pixels; #IMPLIED
  1142.     width %Length; #IMPLIED
  1143. >
  1144. <!--=================== Preformatted Text ================================-->
  1145. <!-- content is %Inline; excluding 
  1146.         "img|object|applet|big|small|sub|sup|font|basefont" -->
  1147. <!ELEMENT pre ANY>
  1148. <!ATTLIST pre
  1149.     %attrs; 
  1150.     width %Number; #IMPLIED
  1151.     xml:space (preserve) #FIXED "preserve"
  1152. >
  1153. <!--=================== Block-like Quotes ================================-->
  1154. <!ELEMENT blockquote ANY>
  1155. <!ATTLIST blockquote
  1156.     %attrs; 
  1157.     cite %URI; #IMPLIED
  1158. >
  1159. <!--=================== Text alignment ===================================-->
  1160. <!-- center content -->
  1161. <!ELEMENT center ANY>
  1162. <!ATTLIST center
  1163.     %attrs; 
  1164. >
  1165. <!--=================== Inserted/Deleted Text ============================-->
  1166. <!--
  1167.   ins/del are allowed in block and inline content, but its
  1168.   inappropriate to include block content within an ins element
  1169.   occurring in inline content.
  1170. -->
  1171. <!ELEMENT ins ANY>
  1172. <!ATTLIST ins
  1173.     %attrs; 
  1174.     cite %URI; #IMPLIED
  1175.     datetime %Datetime; #IMPLIED
  1176. >
  1177. <!ELEMENT del ANY>
  1178. <!ATTLIST del
  1179.     %attrs; 
  1180.     cite %URI; #IMPLIED
  1181.     datetime %Datetime; #IMPLIED
  1182. >
  1183. <!--================== The Anchor Element ================================-->
  1184. <!-- content is %Inline; except that anchors shouldn't be nested -->
  1185. <!ELEMENT a ANY>
  1186. <!ATTLIST a
  1187.     %attrs; 
  1188.     charset %Charset; #IMPLIED
  1189.     type %ContentType; #IMPLIED
  1190.     name NMTOKEN #IMPLIED
  1191.     href %URI; #IMPLIED
  1192.     hreflang %LanguageCode; #IMPLIED
  1193.     rel %LinkTypes; #IMPLIED
  1194.     rev %LinkTypes; #IMPLIED
  1195.     accesskey %Character; #IMPLIED
  1196.     shape %Shape; "rect"
  1197.     coords %Coords; #IMPLIED
  1198.     tabindex %Number; #IMPLIED
  1199.     onfocus %Script; #IMPLIED
  1200.     onblur %Script; #IMPLIED
  1201.     target %FrameTarget; #IMPLIED
  1202. >
  1203. <!--===================== Inline Elements ================================-->
  1204. <!ELEMENT span ANY>
  1205. <!-- generic language/style container -->
  1206. <!ATTLIST span
  1207.     %attrs; 
  1208. >
  1209. <!ELEMENT bdo ANY>
  1210. <!-- I18N BiDi over-ride -->
  1211. <!ATTLIST bdo
  1212.     %coreattrs; 
  1213.     %events; 
  1214.     lang %LanguageCode; #IMPLIED
  1215.     xml:lang %LanguageCode; #IMPLIED
  1216.     dir (ltr | rtl) #REQUIRED
  1217. >
  1218. <!ELEMENT br ANY>
  1219. <!-- forced line break -->
  1220. <!ATTLIST br
  1221.     %coreattrs; 
  1222.     clear (left | all | right | none) "none"
  1223. >
  1224. <!ELEMENT em ANY>
  1225. <!-- emphasis -->
  1226. <!ATTLIST em
  1227.     %attrs; 
  1228. >
  1229. <!ELEMENT strong ANY>
  1230. <!-- strong emphasis -->
  1231. <!ATTLIST strong
  1232.     %attrs; 
  1233. >
  1234. <!ELEMENT dfn ANY>
  1235. <!-- definitional -->
  1236. <!ATTLIST dfn
  1237.     %attrs; 
  1238. >
  1239. <!ELEMENT code ANY>
  1240. <!-- program code -->
  1241. <!ATTLIST code
  1242.     %attrs; 
  1243. >
  1244. <!ELEMENT samp ANY>
  1245. <!-- sample -->
  1246. <!ATTLIST samp
  1247.     %attrs; 
  1248. >
  1249. <!ELEMENT kbd ANY>
  1250. <!-- something user would type -->
  1251. <!ATTLIST kbd
  1252.     %attrs; 
  1253. >
  1254. <!ELEMENT var ANY>
  1255. <!-- variable -->
  1256. <!ATTLIST var
  1257.     %attrs; 
  1258. >
  1259. <!ELEMENT cite ANY>
  1260. <!-- citation -->
  1261. <!ATTLIST cite
  1262.     %attrs; 
  1263. >
  1264. <!ELEMENT abbr ANY>
  1265. <!-- abbreviation -->
  1266. <!ATTLIST abbr
  1267.     %attrs; 
  1268. >
  1269. <!ELEMENT acronym ANY>
  1270. <!-- acronym -->
  1271. <!ATTLIST acronym
  1272.     %attrs; 
  1273. >
  1274. <!ELEMENT q ANY>
  1275. <!-- inlined quote -->
  1276. <!ATTLIST q
  1277.     %attrs; 
  1278.     cite %URI; #IMPLIED
  1279. >
  1280. <!ELEMENT sub ANY>
  1281. <!-- subscript -->
  1282. <!ATTLIST sub
  1283.     %attrs; 
  1284. >
  1285. <!ELEMENT sup ANY>
  1286. <!-- superscript -->
  1287. <!ATTLIST sup
  1288.     %attrs; 
  1289. >
  1290. <!ELEMENT tt ANY>
  1291. <!-- fixed pitch font -->
  1292. <!ATTLIST tt
  1293.     %attrs; 
  1294. >
  1295. <!ELEMENT i ANY>
  1296. <!-- italic font -->
  1297. <!ATTLIST i
  1298.     %attrs; 
  1299. >
  1300. <!ELEMENT b ANY>
  1301. <!-- bold font -->
  1302. <!ATTLIST b
  1303.     %attrs; 
  1304. >
  1305. <!ELEMENT big ANY>
  1306. <!-- bigger font -->
  1307. <!ATTLIST big
  1308.     %attrs; 
  1309. >
  1310. <!ELEMENT small ANY>
  1311. <!-- smaller font -->
  1312. <!ATTLIST small
  1313.     %attrs; 
  1314. >
  1315. <!ELEMENT u ANY>
  1316. <!-- underline -->
  1317. <!ATTLIST u
  1318.     %attrs; 
  1319. >
  1320. <!ELEMENT s ANY>
  1321. <!-- strike-through -->
  1322. <!ATTLIST s
  1323.     %attrs; 
  1324. >
  1325. <!ELEMENT strike ANY>
  1326. <!-- strike-through -->
  1327. <!ATTLIST strike
  1328.     %attrs; 
  1329. >
  1330. <!ELEMENT basefont EMPTY>
  1331. <!-- base font size -->
  1332. <!ATTLIST basefont
  1333.     id ID #IMPLIED
  1334.     size CDATA #REQUIRED
  1335.     color %Color; #IMPLIED
  1336.     face CDATA #IMPLIED
  1337. >
  1338. <!ELEMENT font ANY>
  1339. <!-- local change to font -->
  1340. <!ATTLIST font
  1341.     %coreattrs; 
  1342.     %i18n; 
  1343.     size CDATA #IMPLIED
  1344.     color %Color; #IMPLIED
  1345.     face CDATA #IMPLIED
  1346. >
  1347. <!--==================== Object ======================================-->
  1348. <!--
  1349.   object is used to embed objects as part of HTML pages.
  1350.   param elements should precede other content. Parameters
  1351.   can also be expressed as attribute/value pairs on the
  1352.   object element itself when brevity is desired.
  1353. -->
  1354. <!ELEMENT object ANY>
  1355. <!ATTLIST object
  1356.     %attrs; 
  1357.     declare (declare) #IMPLIED
  1358.     classid %URI; #IMPLIED
  1359.     codebase %URI; #IMPLIED
  1360.     data %URI; #IMPLIED
  1361.     type %ContentType; #IMPLIED
  1362.     codetype %ContentType; #IMPLIED
  1363.     archive %UriList; #IMPLIED
  1364.     standby %Text; #IMPLIED
  1365.     height %Length; #IMPLIED
  1366.     width %Length; #IMPLIED
  1367.     usemap %URI; #IMPLIED
  1368.     name NMTOKEN #IMPLIED
  1369.     tabindex %Number; #IMPLIED
  1370.     align %ImgAlign; #IMPLIED
  1371.     border %Pixels; #IMPLIED
  1372.     hspace %Pixels; #IMPLIED
  1373.     vspace %Pixels; #IMPLIED
  1374. >
  1375. <!--
  1376.   param is used to supply a named property value.
  1377.   In XML it would seem natural to follow RDF and support an
  1378.   abbreviated syntax where the param elements are replaced
  1379.   by attribute value pairs on the object start tag.
  1380. -->
  1381. <!ELEMENT param EMPTY>
  1382. <!ATTLIST param
  1383.     id ID #IMPLIED
  1384.     name CDATA #REQUIRED
  1385.     value CDATA #IMPLIED
  1386.     valuetype (data | ref | object) "data"
  1387.     type %ContentType; #IMPLIED
  1388. >
  1389. <!--=================== Java applet ==================================-->
  1390. <!--
  1391.   One of code or object attributes must be present.
  1392.   Place param elements before other content.
  1393. -->
  1394. <!ELEMENT applet ANY>
  1395. <!ATTLIST applet
  1396.     %coreattrs; 
  1397.     codebase %URI; #IMPLIED
  1398.     archive CDATA #IMPLIED
  1399.     code CDATA #IMPLIED
  1400.     object CDATA #IMPLIED
  1401.     alt %Text; #IMPLIED
  1402.     name NMTOKEN #IMPLIED
  1403.     width %Length; #REQUIRED
  1404.     height %Length; #REQUIRED
  1405.     align %ImgAlign; #IMPLIED
  1406.     hspace %Pixels; #IMPLIED
  1407.     vspace %Pixels; #IMPLIED
  1408. >
  1409. <!--=================== Images ===========================================-->
  1410. <!--
  1411.    To avoid accessibility problems for people who aren't
  1412.    able to see the image, you should provide a text
  1413.    description using the alt and longdesc attributes.
  1414.    In addition, avoid the use of server-side image maps.
  1415. -->
  1416. <!ELEMENT img EMPTY>
  1417. <!ATTLIST img
  1418.     %attrs; 
  1419.     src %URI; #REQUIRED
  1420.     alt %Text; #REQUIRED
  1421.     name NMTOKEN #IMPLIED
  1422.     longdesc %URI; #IMPLIED
  1423.     height %Length; #IMPLIED
  1424.     width %Length; #IMPLIED
  1425.     usemap %URI; #IMPLIED
  1426.     ismap (ismap) #IMPLIED
  1427.     align %ImgAlign; #IMPLIED
  1428.     border %Length; #IMPLIED
  1429.     hspace %Pixels; #IMPLIED
  1430.     vspace %Pixels; #IMPLIED
  1431. >
  1432. <!-- usemap points to a map element which may be in this document
  1433.   or an external document, although the latter is not widely supported -->
  1434. <!--================== Client-side image maps ============================-->
  1435. <!-- These can be placed in the same document or grouped in a
  1436.      separate document although this isn't yet widely supported -->
  1437. <!ELEMENT map ANY>
  1438. <!ATTLIST map
  1439.     %i18n; 
  1440.     %events; 
  1441.     id ID #REQUIRED
  1442.     class CDATA #IMPLIED
  1443.     style %StyleSheet; #IMPLIED
  1444.     title %Text; #IMPLIED
  1445.     name CDATA #IMPLIED
  1446. >
  1447. <!ELEMENT area EMPTY>
  1448. <!ATTLIST area
  1449.     %attrs; 
  1450.     shape %Shape; "rect"
  1451.     coords %Coords; #IMPLIED
  1452.     href %URI; #IMPLIED
  1453.     nohref (nohref) #IMPLIED
  1454.     alt %Text; #REQUIRED
  1455.     tabindex %Number; #IMPLIED
  1456.     accesskey %Character; #IMPLIED
  1457.     onfocus %Script; #IMPLIED
  1458.     onblur %Script; #IMPLIED
  1459.     target %FrameTarget; #IMPLIED
  1460. >
  1461. <!--================ Forms ===============================================-->
  1462. <!ELEMENT form ANY>
  1463. <!-- forms shouldn't be nested -->
  1464. <!ATTLIST form
  1465.     %attrs; 
  1466.     action %URI; #REQUIRED
  1467.     method (get | post) "get"
  1468.     name NMTOKEN #IMPLIED
  1469.     enctype %ContentType; "application/x-www-form-urlencoded"
  1470.     onsubmit %Script; #IMPLIED
  1471.     onreset %Script; #IMPLIED
  1472.     accept %ContentTypes; #IMPLIED
  1473.     accept-charset %Charsets; #IMPLIED
  1474.     target %FrameTarget; #IMPLIED
  1475. >
  1476. <!--
  1477.   Each label must not contain more than ONE field
  1478.   Label elements shouldn't be nested.
  1479. -->
  1480. <!ELEMENT label ANY>
  1481. <!ATTLIST label
  1482.     %attrs; 
  1483.     for IDREF #IMPLIED
  1484.     accesskey %Character; #IMPLIED
  1485.     onfocus %Script; #IMPLIED
  1486.     onblur %Script; #IMPLIED
  1487. >
  1488. <!ENTITY % InputType "(text | password | checkbox |
  1489.     radio | submit | reset |
  1490.     file | hidden | image | button)">
  1491. <!-- the name attribute is required for all but submit & reset -->
  1492. <!ELEMENT input EMPTY>
  1493. <!-- form control -->
  1494. <!ATTLIST input
  1495.     %attrs; 
  1496.     type %InputType; "text"
  1497.     name CDATA #IMPLIED
  1498.     value CDATA #IMPLIED
  1499.     checked (checked) #IMPLIED
  1500.     disabled (disabled) #IMPLIED
  1501.     readonly (readonly) #IMPLIED
  1502.     size CDATA #IMPLIED
  1503.     maxlength %Number; #IMPLIED
  1504.     src %URI; #IMPLIED
  1505.     alt CDATA #IMPLIED
  1506.     usemap %URI; #IMPLIED
  1507.     tabindex %Number; #IMPLIED
  1508.     accesskey %Character; #IMPLIED
  1509.     onfocus %Script; #IMPLIED
  1510.     onblur %Script; #IMPLIED
  1511.     onselect %Script; #IMPLIED
  1512.     onchange %Script; #IMPLIED
  1513.     accept %ContentTypes; #IMPLIED
  1514.     align %ImgAlign; #IMPLIED
  1515. >
  1516. <!ELEMENT select ANY>
  1517. <!-- option selector -->
  1518. <!ATTLIST select
  1519.     %attrs; 
  1520.     name CDATA #IMPLIED
  1521.     size %Number; #IMPLIED
  1522.     multiple (multiple) #IMPLIED
  1523.     disabled (disabled) #IMPLIED
  1524.     tabindex %Number; #IMPLIED
  1525.     onfocus %Script; #IMPLIED
  1526.     onblur %Script; #IMPLIED
  1527.     onchange %Script; #IMPLIED
  1528. >
  1529. <!ELEMENT optgroup ANY>
  1530. <!-- option group -->
  1531. <!ATTLIST optgroup
  1532.     %attrs; 
  1533.     disabled (disabled) #IMPLIED
  1534.     label %Text; #REQUIRED
  1535. >
  1536. <!ELEMENT option ANY>
  1537. <!-- selectable choice -->
  1538. <!ATTLIST option
  1539.     %attrs; 
  1540.     selected (selected) #IMPLIED
  1541.     disabled (disabled) #IMPLIED
  1542.     label %Text; #IMPLIED
  1543.     value CDATA #IMPLIED
  1544. >
  1545. <!ELEMENT textarea ANY>
  1546. <!-- multi-line text field -->
  1547. <!ATTLIST textarea
  1548.     %attrs; 
  1549.     name CDATA #IMPLIED
  1550.     rows %Number; #REQUIRED
  1551.     cols %Number; #REQUIRED
  1552.     disabled (disabled) #IMPLIED
  1553.     readonly (readonly) #IMPLIED
  1554.     tabindex %Number; #IMPLIED
  1555.     accesskey %Character; #IMPLIED
  1556.     onfocus %Script; #IMPLIED
  1557.     onblur %Script; #IMPLIED
  1558.     onselect %Script; #IMPLIED
  1559.     onchange %Script; #IMPLIED
  1560. >
  1561. <!--
  1562.   The fieldset element is used to group form fields.
  1563.   Only one legend element should occur in the content
  1564.   and if present should only be preceded by whitespace.
  1565. -->
  1566. <!ELEMENT fieldset ANY>
  1567. <!ATTLIST fieldset
  1568.     %attrs; 
  1569. >
  1570. <!ENTITY % LAlign "(top|bottom|left|right)">
  1571. <!ELEMENT legend ANY>
  1572. <!-- fieldset label -->
  1573. <!ATTLIST legend
  1574.     %attrs; 
  1575.     accesskey %Character; #IMPLIED
  1576.     align %LAlign; #IMPLIED
  1577. >
  1578. <!--
  1579.  Content is %Flow; excluding a, form, form controls, iframe
  1580. -->
  1581. <!ELEMENT button ANY>
  1582. <!-- push button -->
  1583. <!ATTLIST button
  1584.     %attrs; 
  1585.     name CDATA #IMPLIED
  1586.     value CDATA #IMPLIED
  1587.     type (button | submit | reset) "submit"
  1588.     disabled (disabled) #IMPLIED
  1589.     tabindex %Number; #IMPLIED
  1590.     accesskey %Character; #IMPLIED
  1591.     onfocus %Script; #IMPLIED
  1592.     onblur %Script; #IMPLIED
  1593. >
  1594. <!-- single-line text input control (DEPRECATED) -->
  1595. <!ELEMENT isindex EMPTY>
  1596. <!ATTLIST isindex
  1597.     %coreattrs; 
  1598.     %i18n; 
  1599.     prompt %Text; #IMPLIED
  1600. >
  1601. <!--======================= Tables =======================================-->
  1602. <!-- Derived from IETF HTML table standard, see [RFC1942] -->
  1603. <!--
  1604.  The border attribute sets the thickness of the frame around the
  1605.  table. The default units are screen pixels.
  1606.  
  1607.  The frame attribute specifies which parts of the frame around
  1608.  the table should be rendered. The values are not the same as
  1609.  CALS to avoid a name clash with the valign attribute.
  1610. -->
  1611. <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
  1612. <!--
  1613.  The rules attribute defines which rules to draw between cells:
  1614.  
  1615.  If rules is absent then assume:
  1616.      "none" if border is absent or border="0" otherwise "all"
  1617. -->
  1618. <!ENTITY % TRules "(none | groups | rows | cols | all)">
  1619. <!-- horizontal placement of table relative to document -->
  1620. <!ENTITY % TAlign "(left|center|right)">
  1621. <!-- horizontal alignment attributes for cell contents
  1622.  
  1623.   char        alignment char, e.g. char=':'
  1624.   charoff     offset for alignment char
  1625. -->
  1626. <!ENTITY % cellhalign "align      (left|center|right|justify|char) #IMPLIED
  1627.    char       %Character;    #IMPLIED
  1628.    charoff    %Length;       #IMPLIED">
  1629. <!-- vertical alignment attributes for cell contents -->
  1630. <!ENTITY % cellvalign "valign     (top|middle|bottom|baseline) #IMPLIED">
  1631. <!ELEMENT table ANY>
  1632. <!ELEMENT caption ANY>
  1633. <!ELEMENT thead ANY>
  1634. <!ELEMENT tfoot ANY>
  1635. <!ELEMENT tbody ANY>
  1636. <!ELEMENT colgroup ANY>
  1637. <!ELEMENT col EMPTY>
  1638. <!ELEMENT tr ANY>
  1639. <!ELEMENT th ANY>
  1640. <!ELEMENT td ANY>
  1641. <!ATTLIST table
  1642.     %attrs; 
  1643.     summary %Text; #IMPLIED
  1644.     width %Length; #IMPLIED
  1645.     border %Pixels; #IMPLIED
  1646.     frame %TFrame; #IMPLIED
  1647.     rules %TRules; #IMPLIED
  1648.     cellspacing %Length; #IMPLIED
  1649.     cellpadding %Length; #IMPLIED
  1650.     align %TAlign; #IMPLIED
  1651.     bgcolor %Color; #IMPLIED
  1652. >
  1653. <!ENTITY % CAlign "(top|bottom|left|right)">
  1654. <!ATTLIST caption
  1655.     %attrs; 
  1656.     align %CAlign; #IMPLIED
  1657. >
  1658. <!--
  1659. colgroup groups a set of col elements. It allows you to group
  1660. several semantically related columns together.
  1661. -->
  1662. <!ATTLIST colgroup
  1663.     %attrs; 
  1664.     span %Number; "1"
  1665.     width %MultiLength; #IMPLIED
  1666.     %cellhalign; 
  1667.     %cellvalign; 
  1668. >
  1669. <!--
  1670.  col elements define the alignment properties for cells in
  1671.  one or more columns.
  1672.  
  1673.  The width attribute specifies the width of the columns, e.g.
  1674.  
  1675.      width=64        width in screen pixels
  1676.      width=0.5*      relative width of 0.5
  1677.  
  1678.  The span attribute causes the attributes of one
  1679.  col element to apply to more than one column.
  1680. -->
  1681. <!ATTLIST col
  1682.     %attrs; 
  1683.     span %Number; "1"
  1684.     width %MultiLength; #IMPLIED
  1685.     %cellhalign; 
  1686.     %cellvalign; 
  1687. >
  1688. <!--
  1689.     Use thead to duplicate headers when breaking table
  1690.     across page boundaries, or for static headers when
  1691.     tbody sections are rendered in scrolling panel.
  1692.  
  1693.     Use tfoot to duplicate footers when breaking table
  1694.     across page boundaries, or for static footers when
  1695.     tbody sections are rendered in scrolling panel.
  1696.  
  1697.     Use multiple tbody sections when rules are needed
  1698.     between groups of table rows.
  1699. -->
  1700. <!ATTLIST thead
  1701.     %attrs; 
  1702.     %cellhalign; 
  1703.     %cellvalign; 
  1704. >
  1705. <!ATTLIST tfoot
  1706.     %attrs; 
  1707.     %cellhalign; 
  1708.     %cellvalign; 
  1709. >
  1710. <!ATTLIST tbody
  1711.     %attrs; 
  1712.     %cellhalign; 
  1713.     %cellvalign; 
  1714. >
  1715. <!ATTLIST tr
  1716.     %attrs; 
  1717.     %cellhalign; 
  1718.     %cellvalign; 
  1719.     bgcolor %Color; #IMPLIED
  1720. >
  1721. <!-- Scope is simpler than headers attribute for common tables -->
  1722. <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
  1723. <!-- th is for headers, td for data and for cells acting as both -->
  1724. <!ATTLIST th
  1725.     %attrs; 
  1726.     abbr %Text; #IMPLIED
  1727.     axis CDATA #IMPLIED
  1728.     headers IDREFS #IMPLIED
  1729.     scope %Scope; #IMPLIED
  1730.     rowspan %Number; "1"
  1731.     colspan %Number; "1"
  1732.     %cellhalign; 
  1733.     %cellvalign; 
  1734.     nowrap (nowrap) #IMPLIED
  1735.     bgcolor %Color; #IMPLIED
  1736.     width %Pixels; #IMPLIED
  1737.     height %Pixels; #IMPLIED
  1738. >
  1739. <!ATTLIST td
  1740.     %attrs; 
  1741.     abbr %Text; #IMPLIED
  1742.     axis CDATA #IMPLIED
  1743.     headers IDREFS #IMPLIED
  1744.     scope %Scope; #IMPLIED
  1745.     rowspan %Number; "1"
  1746.     colspan %Number; "1"
  1747.     %cellhalign; 
  1748.     %cellvalign; 
  1749.     nowrap (nowrap) #IMPLIED
  1750.     bgcolor %Color; #IMPLIED
  1751.     width %Pixels; #IMPLIED
  1752.     height %Pixels; #IMPLIED
  1753. >
  1754. <!--XSL Begins here-->
  1755. <!ENTITY % result-elements "a|abbr|acronym|address|applet|area|b|base|basefont|bdo|big|blockquote|body|br|button|caption|center|cite|code|col|colgroup|dd|del|dfn|dir|div|dl|dt|em|fieldset|font|form|h1|h2|h3|h4|h5|h6|head|hr|html|i|iframe|img|input|ins|isindex|kbd|label|legend|li|link|map|menu|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var">
  1756. <!ENTITY % char-instructions "xsl:apply-templates
  1757.   | xsl:call-template
  1758.   | xsl:apply-imports
  1759.   | xsl:for-each
  1760.   | xsl:value-of
  1761.   | xsl:copy-of
  1762.   | xsl:number
  1763.   | xsl:choose
  1764.   | xsl:if
  1765.   | xsl:text
  1766.   | xsl:copy
  1767.   | xsl:variable
  1768.   | xsl:message
  1769.   | xsl:fallback">
  1770. <!ENTITY % instructions "%char-instructions;
  1771.   | xsl:processing-instruction
  1772.   | xsl:comment
  1773.   | xsl:element
  1774.   | xsl:attribute">
  1775. <!ENTITY % char-template "(#PCDATA |
  1776.   %char-instructions;)*">
  1777. <!ENTITY % template "(#PCDATA |
  1778.   %instructions; |
  1779.   %result-elements;)*">
  1780. <!-- Used for the type of an attribute value that is a URI reference.-->
  1781. <!ENTITY % URI "CDATA">
  1782. <!-- Used for the type of an attribute value that is a pattern.-->
  1783. <!ENTITY % pattern "CDATA">
  1784. <!-- Used for the type of an attribute value that is an
  1785.      attribute value template.-->
  1786. <!ENTITY % avt "CDATA">
  1787. <!-- Used for the type of an attribute value that is a QName; the prefix
  1788.      gets expanded by the XSLT processor. -->
  1789. <!ENTITY % qname "NMTOKEN">
  1790. <!-- Like qname but a whitespace-separated list of QNames. -->
  1791. <!ENTITY % qnames "NMTOKENS">
  1792. <!-- Used for the type of an attribute value that is an expression.-->
  1793. <!ENTITY % expr "CDATA">
  1794. <!-- Used for the type of an attribute value that consists
  1795.      of a single character.-->
  1796. <!ENTITY % char "CDATA">
  1797. <!-- Used for the type of an attribute value that is a priority. -->
  1798. <!ENTITY % priority "NMTOKEN">
  1799. <!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">
  1800. <!-- This may be overridden to customize the set of elements allowed
  1801. at the top-level. -->
  1802. <!ENTITY % top-level "(xsl:import*,
  1803.   (xsl:include
  1804.   | xsl:strip-space
  1805.   | xsl:preserve-space
  1806.   | xsl:output
  1807.   | xsl:key
  1808.   | xsl:decimal-format
  1809.   | xsl:attribute-set
  1810.   | xsl:variable
  1811.   | xsl:param
  1812.   | xsl:template
  1813.   | xsl:namespace-alias
  1814.   | %result-elements;)*)">
  1815. <!ENTITY % top-level-atts 'extension-element-prefixes CDATA #IMPLIED
  1816.   exclude-result-prefixes CDATA #IMPLIED
  1817.   id ID #IMPLIED
  1818.   version NMTOKEN #REQUIRED
  1819.   xmlns:xsl CDATA #FIXED "http://www.w3.org/1999/XSL/Transform"
  1820.   %space-att;'>
  1821. <!-- This entity is defined for use in the ATTLIST declaration
  1822. for result elements. -->
  1823. <!ENTITY % result-element-atts 'xsl:extension-element-prefixes CDATA #IMPLIED
  1824.   xsl:exclude-result-prefixes CDATA #IMPLIED
  1825.   xsl:use-attribute-sets %qnames; #IMPLIED
  1826.   xsl:version NMTOKEN #IMPLIED'>
  1827. <!ELEMENT xsl:stylesheet %top-level;>
  1828. <!ATTLIST xsl:stylesheet
  1829.     %top-level-atts; 
  1830. >
  1831. <!ELEMENT xsl:transform %top-level;>
  1832. <!ATTLIST xsl:transform
  1833.     %top-level-atts; 
  1834. >
  1835. <!ELEMENT xsl:import EMPTY>
  1836. <!ATTLIST xsl:import
  1837.     href %URI; #REQUIRED
  1838. >
  1839. <!ELEMENT xsl:include EMPTY>
  1840. <!ATTLIST xsl:include
  1841.     href %URI; #REQUIRED
  1842. >
  1843. <!ELEMENT xsl:strip-space EMPTY>
  1844. <!ATTLIST xsl:strip-space
  1845.     elements CDATA #REQUIRED
  1846. >
  1847. <!ELEMENT xsl:preserve-space EMPTY>
  1848. <!ATTLIST xsl:preserve-space
  1849.     elements CDATA #REQUIRED
  1850. >
  1851. <!ELEMENT xsl:output EMPTY>
  1852. <!ATTLIST xsl:output
  1853.     method %qname; #IMPLIED
  1854.     version NMTOKEN #IMPLIED
  1855.     encoding CDATA #IMPLIED
  1856.     omit-xml-declaration (yes | no) #IMPLIED
  1857.     standalone (yes | no) #IMPLIED
  1858.     doctype-public CDATA #IMPLIED
  1859.     doctype-system CDATA #IMPLIED
  1860.     cdata-section-elements %qnames; #IMPLIED
  1861.     indent (yes | no) #IMPLIED
  1862.     media-type CDATA #IMPLIED
  1863. >
  1864. <!ELEMENT xsl:key EMPTY>
  1865. <!ATTLIST xsl:key
  1866.     name %qname; #REQUIRED
  1867.     match %pattern; #REQUIRED
  1868.     use %expr; #REQUIRED
  1869. >
  1870. <!ELEMENT xsl:decimal-format EMPTY>
  1871. <!ATTLIST xsl:decimal-format
  1872.     name %qname; #IMPLIED
  1873.     decimal-separator %char; "."
  1874.     grouping-separator %char; ","
  1875.     infinity CDATA "Infinity"
  1876.     minus-sign %char; "-"
  1877.     NaN CDATA "NaN"
  1878.     percent %char; "%"
  1879.     per-mille %char; "‰"
  1880.     zero-digit %char; "0"
  1881.     digit %char; "#"
  1882.     pattern-separator %char; ";"
  1883. >
  1884. <!ELEMENT xsl:namespace-alias EMPTY>
  1885. <!ATTLIST xsl:namespace-alias
  1886.     stylesheet-prefix CDATA #REQUIRED
  1887.     result-prefix CDATA #REQUIRED
  1888. >
  1889. <!ELEMENT xsl:template (#PCDATA | %instructions; | %result-elements; | xsl:param)*>
  1890. <!ATTLIST xsl:template
  1891.     match %pattern; #IMPLIED
  1892.     name %qname; #IMPLIED
  1893.     priority %priority; #IMPLIED
  1894.     mode %qname; #IMPLIED
  1895.     %space-att; 
  1896. >
  1897. <!ELEMENT xsl:value-of EMPTY>
  1898. <!ATTLIST xsl:value-of
  1899.     select %expr; #REQUIRED
  1900.     disable-output-escaping (yes | no) "no"
  1901. >
  1902. <!ELEMENT xsl:copy-of EMPTY>
  1903. <!ATTLIST xsl:copy-of
  1904.     select %expr; #REQUIRED
  1905. >
  1906. <!ELEMENT xsl:number EMPTY>
  1907. <!ATTLIST xsl:number
  1908.     level (single | multiple | any) "single"
  1909.     count %pattern; #IMPLIED
  1910.     from %pattern; #IMPLIED
  1911.     value %expr; #IMPLIED
  1912.     format %avt; "1"
  1913.     lang %avt; #IMPLIED
  1914.     letter-value %avt; #IMPLIED
  1915.     grouping-separator %avt; #IMPLIED
  1916.     grouping-size %avt; #IMPLIED
  1917. >
  1918. <!ELEMENT xsl:apply-templates (xsl:sort | xsl:with-param)*>
  1919. <!ATTLIST xsl:apply-templates
  1920.     select %expr; "node()"
  1921.     mode %qname; #IMPLIED
  1922. >
  1923. <!ELEMENT xsl:apply-imports EMPTY>
  1924. <!-- xsl:sort cannot occur after any other elements or
  1925. any non-whitespace character -->
  1926. <!ELEMENT xsl:for-each (#PCDATA | %instructions; | %result-elements; | xsl:sort)*>
  1927. <!ATTLIST xsl:for-each
  1928.     select %expr; #REQUIRED
  1929.     %space-att; 
  1930. >
  1931. <!ELEMENT xsl:sort EMPTY>
  1932. <!ATTLIST xsl:sort
  1933.     select %expr; "."
  1934.     lang %avt; #IMPLIED
  1935.     data-type %avt; "text"
  1936.     order %avt; "ascending"
  1937.     case-order %avt; #IMPLIED
  1938. >
  1939. <!ELEMENT xsl:if %template;>
  1940. <!ATTLIST xsl:if
  1941.     test %expr; #REQUIRED
  1942.     %space-att; 
  1943. >
  1944. <!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>
  1945. <!ATTLIST xsl:choose
  1946.     %space-att; 
  1947. >
  1948. <!ELEMENT xsl:when %template;>
  1949. <!ATTLIST xsl:when
  1950.     test %expr; #REQUIRED
  1951.     %space-att; 
  1952. >
  1953. <!ELEMENT xsl:otherwise %template;>
  1954. <!ATTLIST xsl:otherwise
  1955.     %space-att; 
  1956. >
  1957. <!ELEMENT xsl:attribute-set (xsl:attribute)*>
  1958. <!ATTLIST xsl:attribute-set
  1959.     name %qname; #REQUIRED
  1960.     use-attribute-sets %qnames; #IMPLIED
  1961. >
  1962. <!ELEMENT xsl:call-template (xsl:with-param)*>
  1963. <!ATTLIST xsl:call-template
  1964.     name %qname; #REQUIRED
  1965. >
  1966. <!ELEMENT xsl:with-param %template;>
  1967. <!ATTLIST xsl:with-param
  1968.     name %qname; #REQUIRED
  1969.     select %expr; #IMPLIED
  1970. >
  1971. <!ELEMENT xsl:variable %template;>
  1972. <!ATTLIST xsl:variable
  1973.     name %qname; #REQUIRED
  1974.     select %expr; #IMPLIED
  1975. >
  1976. <!ELEMENT xsl:param %template;>
  1977. <!ATTLIST xsl:param
  1978.     name %qname; #REQUIRED
  1979.     select %expr; #IMPLIED
  1980. >
  1981. <!ELEMENT xsl:text (#PCDATA)>
  1982. <!ATTLIST xsl:text
  1983.     disable-output-escaping (yes | no) "no"
  1984. >
  1985. <!ELEMENT xsl:processing-instruction %char-template;>
  1986. <!ATTLIST xsl:processing-instruction
  1987.     name %avt; #REQUIRED
  1988.     %space-att; 
  1989. >
  1990. <!ELEMENT xsl:element %template;>
  1991. <!ATTLIST xsl:element
  1992.     name %avt; #REQUIRED
  1993.     namespace %avt; #IMPLIED
  1994.     use-attribute-sets %qnames; #IMPLIED
  1995.     %space-att; 
  1996. >
  1997. <!ELEMENT xsl:attribute %char-template;>
  1998. <!ATTLIST xsl:attribute
  1999.     name %avt; #REQUIRED
  2000.     namespace %avt; #IMPLIED
  2001.     %space-att; 
  2002. >
  2003. <!ELEMENT xsl:comment %char-template;>
  2004. <!ATTLIST xsl:comment
  2005.     %space-att; 
  2006. >
  2007. <!ELEMENT xsl:copy %template;>
  2008. <!ATTLIST xsl:copy
  2009.     %space-att; 
  2010.     use-attribute-sets %qnames; #IMPLIED
  2011. >
  2012. <!ELEMENT xsl:message %template;>
  2013. <!ATTLIST xsl:message
  2014.     %space-att; 
  2015.     terminate (yes | no) "no"
  2016. >
  2017. <!ELEMENT xsl:fallback %template;>
  2018. <!ATTLIST xsl:fallback
  2019.     %space-att; 
  2020. >
  2021.