Ticket #3546: 3546_2.patch

File 3546_2.patch, 70.6 KB (added by Wiktor Walc, 10 years ago)
  • _dev/_thirdparty/dtd/xhtml-lat1.ent

     
     1<!-- Portions (C) International Organization for Standardization 1986
     2     Permission to copy in any form is granted for use with
     3     conforming SGML systems and applications as defined in
     4     ISO 8879, provided this notice is included in all copies.
     5-->
     6<!-- Character entity set. Typical invocation:
     7    <!ENTITY % HTMLlat1 PUBLIC
     8       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
     9       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
     10    %HTMLlat1;
     11-->
     12
     13<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
     14                                  U+00A0 ISOnum -->
     15<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
     16<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
     17<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
     18<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
     19<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
     20<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
     21                                  U+00A6 ISOnum -->
     22<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
     23<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
     24                                  U+00A8 ISOdia -->
     25<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
     26<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
     27<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
     28                                  = left pointing guillemet, U+00AB ISOnum -->
     29<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
     30                                  U+00AC ISOnum -->
     31<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
     32                                  U+00AD ISOnum -->
     33<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
     34                                  U+00AE ISOnum -->
     35<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
     36                                  = APL overbar, U+00AF ISOdia -->
     37<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
     38<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
     39                                  U+00B1 ISOnum -->
     40<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
     41                                  = squared, U+00B2 ISOnum -->
     42<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
     43                                  = cubed, U+00B3 ISOnum -->
     44<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
     45                                  U+00B4 ISOdia -->
     46<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
     47<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
     48                                  U+00B6 ISOnum -->
     49<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
     50                                  = Greek middle dot, U+00B7 ISOnum -->
     51<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
     52<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
     53                                  U+00B9 ISOnum -->
     54<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
     55                                  U+00BA ISOnum -->
     56<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
     57                                  = right pointing guillemet, U+00BB ISOnum -->
     58<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
     59                                  = fraction one quarter, U+00BC ISOnum -->
     60<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
     61                                  = fraction one half, U+00BD ISOnum -->
     62<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
     63                                  = fraction three quarters, U+00BE ISOnum -->
     64<!ENTITY iquest "&#191;"> <!-- inverted question mark
     65                                  = turned question mark, U+00BF ISOnum -->
     66<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
     67                                  = latin capital letter A grave,
     68                                  U+00C0 ISOlat1 -->
     69<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
     70                                  U+00C1 ISOlat1 -->
     71<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
     72                                  U+00C2 ISOlat1 -->
     73<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
     74                                  U+00C3 ISOlat1 -->
     75<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
     76                                  U+00C4 ISOlat1 -->
     77<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
     78                                  = latin capital letter A ring,
     79                                  U+00C5 ISOlat1 -->
     80<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
     81                                  = latin capital ligature AE,
     82                                  U+00C6 ISOlat1 -->
     83<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
     84                                  U+00C7 ISOlat1 -->
     85<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
     86                                  U+00C8 ISOlat1 -->
     87<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
     88                                  U+00C9 ISOlat1 -->
     89<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
     90                                  U+00CA ISOlat1 -->
     91<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
     92                                  U+00CB ISOlat1 -->
     93<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
     94                                  U+00CC ISOlat1 -->
     95<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
     96                                  U+00CD ISOlat1 -->
     97<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
     98                                  U+00CE ISOlat1 -->
     99<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
     100                                  U+00CF ISOlat1 -->
     101<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
     102<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
     103                                  U+00D1 ISOlat1 -->
     104<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
     105                                  U+00D2 ISOlat1 -->
     106<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
     107                                  U+00D3 ISOlat1 -->
     108<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
     109                                  U+00D4 ISOlat1 -->
     110<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
     111                                  U+00D5 ISOlat1 -->
     112<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
     113                                  U+00D6 ISOlat1 -->
     114<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
     115<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
     116                                  = latin capital letter O slash,
     117                                  U+00D8 ISOlat1 -->
     118<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
     119                                  U+00D9 ISOlat1 -->
     120<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
     121                                  U+00DA ISOlat1 -->
     122<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
     123                                  U+00DB ISOlat1 -->
     124<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
     125                                  U+00DC ISOlat1 -->
     126<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
     127                                  U+00DD ISOlat1 -->
     128<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
     129                                  U+00DE ISOlat1 -->
     130<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
     131                                  U+00DF ISOlat1 -->
     132<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
     133                                  = latin small letter a grave,
     134                                  U+00E0 ISOlat1 -->
     135<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
     136                                  U+00E1 ISOlat1 -->
     137<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
     138                                  U+00E2 ISOlat1 -->
     139<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
     140                                  U+00E3 ISOlat1 -->
     141<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
     142                                  U+00E4 ISOlat1 -->
     143<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
     144                                  = latin small letter a ring,
     145                                  U+00E5 ISOlat1 -->
     146<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
     147                                  = latin small ligature ae, U+00E6 ISOlat1 -->
     148<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
     149                                  U+00E7 ISOlat1 -->
     150<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
     151                                  U+00E8 ISOlat1 -->
     152<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
     153                                  U+00E9 ISOlat1 -->
     154<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
     155                                  U+00EA ISOlat1 -->
     156<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
     157                                  U+00EB ISOlat1 -->
     158<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
     159                                  U+00EC ISOlat1 -->
     160<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
     161                                  U+00ED ISOlat1 -->
     162<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
     163                                  U+00EE ISOlat1 -->
     164<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
     165                                  U+00EF ISOlat1 -->
     166<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
     167<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
     168                                  U+00F1 ISOlat1 -->
     169<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
     170                                  U+00F2 ISOlat1 -->
     171<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
     172                                  U+00F3 ISOlat1 -->
     173<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
     174                                  U+00F4 ISOlat1 -->
     175<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
     176                                  U+00F5 ISOlat1 -->
     177<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
     178                                  U+00F6 ISOlat1 -->
     179<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
     180<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
     181                                  = latin small letter o slash,
     182                                  U+00F8 ISOlat1 -->
     183<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
     184                                  U+00F9 ISOlat1 -->
     185<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
     186                                  U+00FA ISOlat1 -->
     187<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
     188                                  U+00FB ISOlat1 -->
     189<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
     190                                  U+00FC ISOlat1 -->
     191<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
     192                                  U+00FD ISOlat1 -->
     193<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
     194                                  U+00FE ISOlat1 -->
     195<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
     196                                  U+00FF ISOlat1 -->
  • _dev/_thirdparty/dtd/xhtml-special.ent

     
     1<!-- Special characters for XHTML -->
     2
     3<!-- Character entity set. Typical invocation:
     4     <!ENTITY % HTMLspecial PUBLIC
     5        "-//W3C//ENTITIES Special for XHTML//EN"
     6        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
     7     %HTMLspecial;
     8-->
     9
     10<!-- Portions (C) International Organization for Standardization 1986:
     11     Permission to copy in any form is granted for use with
     12     conforming SGML systems and applications as defined in
     13     ISO 8879, provided this notice is included in all copies.
     14-->
     15
     16<!-- Relevant ISO entity set is given unless names are newly introduced.
     17     New names (i.e., not in ISO 8879 list) do not clash with any
     18     existing ISO 8879 entity names. ISO 10646 character numbers
     19     are given for each character, in hex. values are decimal
     20     conversions of the ISO 10646 values and refer to the document
     21     character set. Names are Unicode names.
     22-->
     23
     24<!-- C0 Controls and Basic Latin -->
     25<!ENTITY quot    "&#34;"> <!--  quotation mark, U+0022 ISOnum -->
     26<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
     27<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
     28<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
     29<!ENTITY apos    "&#39;"> <!--  apostrophe = APL quote, U+0027 ISOnum -->
     30
     31<!-- Latin Extended-A -->
     32<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
     33                                    U+0152 ISOlat2 -->
     34<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
     35<!-- ligature is a misnomer, this is a separate character in some languages -->
     36<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
     37                                    U+0160 ISOlat2 -->
     38<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
     39                                    U+0161 ISOlat2 -->
     40<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
     41                                    U+0178 ISOlat2 -->
     42
     43<!-- Spacing Modifier Letters -->
     44<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
     45                                    U+02C6 ISOpub -->
     46<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
     47
     48<!-- General Punctuation -->
     49<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
     50<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
     51<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
     52<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
     53                                    U+200C NEW RFC 2070 -->
     54<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
     55<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
     56<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
     57<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
     58<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
     59<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
     60                                    U+2018 ISOnum -->
     61<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
     62                                    U+2019 ISOnum -->
     63<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
     64<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
     65                                    U+201C ISOnum -->
     66<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
     67                                    U+201D ISOnum -->
     68<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
     69<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
     70<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
     71<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
     72<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
     73                                    U+2039 ISO proposed -->
     74<!-- lsaquo is proposed but not yet ISO standardized -->
     75<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
     76                                    U+203A ISO proposed -->
     77<!-- rsaquo is proposed but not yet ISO standardized -->
     78
     79<!-- Currency Symbols -->
     80<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->
  • _dev/_thirdparty/dtd/xhtml-symbol.ent

     
     1<!-- Mathematical, Greek and Symbolic characters for XHTML -->
     2
     3<!-- Character entity set. Typical invocation:
     4     <!ENTITY % HTMLsymbol PUBLIC
     5        "-//W3C//ENTITIES Symbols for XHTML//EN"
     6        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
     7     %HTMLsymbol;
     8-->
     9
     10<!-- Portions (C) International Organization for Standardization 1986:
     11     Permission to copy in any form is granted for use with
     12     conforming SGML systems and applications as defined in
     13     ISO 8879, provided this notice is included in all copies.
     14-->
     15
     16<!-- Relevant ISO entity set is given unless names are newly introduced.
     17     New names (i.e., not in ISO 8879 list) do not clash with any
     18     existing ISO 8879 entity names. ISO 10646 character numbers
     19     are given for each character, in hex. values are decimal
     20     conversions of the ISO 10646 values and refer to the document
     21     character set. Names are Unicode names.
     22-->
     23
     24<!-- Latin Extended-B -->
     25<!ENTITY fnof     "&#402;"> <!-- latin small letter f with hook = function
     26                                    = florin, U+0192 ISOtech -->
     27
     28<!-- Greek -->
     29<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
     30<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
     31<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
     32                                    U+0393 ISOgrk3 -->
     33<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
     34                                    U+0394 ISOgrk3 -->
     35<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
     36<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
     37<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
     38<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
     39                                    U+0398 ISOgrk3 -->
     40<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
     41<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
     42<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lamda,
     43                                    U+039B ISOgrk3 -->
     44<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
     45<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
     46<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
     47<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
     48<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
     49<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
     50<!-- there is no Sigmaf, and no U+03A2 character either -->
     51<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
     52                                    U+03A3 ISOgrk3 -->
     53<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
     54<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
     55                                    U+03A5 ISOgrk3 -->
     56<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
     57                                    U+03A6 ISOgrk3 -->
     58<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
     59<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
     60                                    U+03A8 ISOgrk3 -->
     61<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
     62                                    U+03A9 ISOgrk3 -->
     63
     64<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
     65                                    U+03B1 ISOgrk3 -->
     66<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
     67<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
     68                                    U+03B3 ISOgrk3 -->
     69<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
     70                                    U+03B4 ISOgrk3 -->
     71<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
     72                                    U+03B5 ISOgrk3 -->
     73<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
     74<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
     75<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
     76                                    U+03B8 ISOgrk3 -->
     77<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
     78<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
     79                                    U+03BA ISOgrk3 -->
     80<!ENTITY lambda   "&#955;"> <!-- greek small letter lamda,
     81                                    U+03BB ISOgrk3 -->
     82<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
     83<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
     84<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
     85<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
     86<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
     87<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
     88<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
     89                                    U+03C2 ISOgrk3 -->
     90<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
     91                                    U+03C3 ISOgrk3 -->
     92<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
     93<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
     94                                    U+03C5 ISOgrk3 -->
     95<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
     96<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
     97<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
     98<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
     99                                    U+03C9 ISOgrk3 -->
     100<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
     101                                    U+03D1 NEW -->
     102<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
     103                                    U+03D2 NEW -->
     104<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
     105
     106<!-- General Punctuation -->
     107<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
     108                                     U+2022 ISOpub  -->
     109<!-- bullet is NOT the same as bullet operator, U+2219 -->
     110<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
     111                                     U+2026 ISOpub  -->
     112<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
     113<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
     114                                     U+2033 ISOtech -->
     115<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
     116                                     U+203E NEW -->
     117<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
     118
     119<!-- Letterlike Symbols -->
     120<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
     121                                     = Weierstrass p, U+2118 ISOamso -->
     122<!ENTITY image    "&#8465;"> <!-- black-letter capital I = imaginary part,
     123                                     U+2111 ISOamso -->
     124<!ENTITY real     "&#8476;"> <!-- black-letter capital R = real part symbol,
     125                                     U+211C ISOamso -->
     126<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
     127<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
     128                                     U+2135 NEW -->
     129<!-- alef symbol is NOT the same as hebrew letter alef,
     130     U+05D0 although the same glyph could be used to depict both characters -->
     131
     132<!-- Arrows -->
     133<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
     134<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
     135<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
     136<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
     137<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
     138<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
     139                                     = carriage return, U+21B5 NEW -->
     140<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
     141<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
     142    but also does not have any other character for that function. So lArr can
     143    be used for 'is implied by' as ISOtech suggests -->
     144<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
     145<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
     146                                     U+21D2 ISOtech -->
     147<!-- Unicode does not say this is the 'implies' character but does not have
     148     another character with this function so rArr can be used for 'implies'
     149     as ISOtech suggests -->
     150<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
     151<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
     152                                     U+21D4 ISOamsa -->
     153
     154<!-- Mathematical Operators -->
     155<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
     156<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
     157<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
     158<!ENTITY empty    "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
     159<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
     160                                     U+2207 ISOtech -->
     161<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
     162<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
     163<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
     164<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
     165                                     U+220F ISOamsb -->
     166<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
     167     the same glyph might be used for both -->
     168<!ENTITY sum      "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
     169<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
     170     though the same glyph might be used for both -->
     171<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
     172<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
     173<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
     174                                     U+221A ISOtech -->
     175<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
     176<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
     177<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
     178<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
     179<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
     180<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
     181<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
     182<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
     183<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
     184<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
     185                                     U+223C ISOtech -->
     186<!-- tilde operator is NOT the same character as the tilde, U+007E,
     187     although the same glyph might be used to represent both  -->
     188<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
     189<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
     190                                     U+2248 ISOamsr -->
     191<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
     192<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
     193<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
     194<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
     195                                     U+2265 ISOtech -->
     196<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
     197<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
     198<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
     199<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
     200<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
     201                                     U+2287 ISOtech -->
     202<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
     203                                     U+2295 ISOamsb -->
     204<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
     205                                     U+2297 ISOamsb -->
     206<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
     207                                     U+22A5 ISOtech -->
     208<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
     209<!-- dot operator is NOT the same character as U+00B7 middle dot -->
     210
     211<!-- Miscellaneous Technical -->
     212<!ENTITY lceil    "&#8968;"> <!-- left ceiling = APL upstile,
     213                                     U+2308 ISOamsc  -->
     214<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
     215<!ENTITY lfloor   "&#8970;"> <!-- left floor = APL downstile,
     216                                     U+230A ISOamsc  -->
     217<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
     218<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
     219                                     U+2329 ISOtech -->
     220<!-- lang is NOT the same character as U+003C 'less than sign'
     221     or U+2039 'single left-pointing angle quotation mark' -->
     222<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
     223                                     U+232A ISOtech -->
     224<!-- rang is NOT the same character as U+003E 'greater than sign'
     225     or U+203A 'single right-pointing angle quotation mark' -->
     226
     227<!-- Geometric Shapes -->
     228<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
     229
     230<!-- Miscellaneous Symbols -->
     231<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
     232<!-- black here seems to mean filled as opposed to hollow -->
     233<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
     234                                     U+2663 ISOpub -->
     235<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
     236                                     U+2665 ISOpub -->
     237<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
  • _dev/_thirdparty/dtd/xhtml1-transitional.dtd

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

     
    55        <property name="launch4j.dir" location="_dev/_thirdparty/launch4j" />
    66        <property name="ckpackager.dir" location="_source/ckpackager" />
    77        <property name="source.dir" location="_source" />
     8        <property name="dtd.dir" location="_dev/_thirdparty/dtd" />
    89        <property name="json.dir" location="_dev/_thirdparty/json" />
    910        <property name="rhino.jar" location="_dev/_thirdparty/rhino/js.jar" />
    1011        <property name="tar.jar" location="_dev/_thirdparty/javatar/tar.jar" />
     
    7879                <copy todir="${build.dir}/ckreleaser">
    7980                        <fileset dir="${source.dir}/includes/ckreleaser" />
    8081                </copy>
     82                <!-- dtd -->
     83                <copy file="${dtd.dir}/xhtml1-transitional.dtd" tofile="${build.dir}/dtd/xhtml1-transitional.dtd" overwrite="true" />
     84                <copy file="${dtd.dir}/xhtml-lat1.ent" tofile="${build.dir}/dtd/xhtml-lat1.ent" overwrite="true" />
     85                <copy file="${dtd.dir}/xhtml-special.ent" tofile="${build.dir}/dtd/xhtml-special.ent" overwrite="true" />
     86                <copy file="${dtd.dir}/xhtml-symbol.ent" tofile="${build.dir}/dtd/xhtml-symbol.ent" overwrite="true" />
    8187                <!-- json -->
    8288                <copy file="${json.dir}/tools/json/json2.class" tofile="${build.dir}/tools/json/json2.class" overwrite="true" />
    8389                <!-- ckpackager -->
  • _source/ckreleaser.js

     
    3737else
    3838{
    3939        var releaserPath = resource.replaceFirst( "^jar:", '' ).replaceFirst( "\/js\.jar\!\/org\/mozilla\/javascript$", '' )
    40                         .replaceAll( "_dev.{1}_thirdparty.{1}rhino", "" );
    41 
     40                        .replaceFirst( "^file:/", "" ).replaceAll( "_dev.{1}_thirdparty.{1}rhino", "" );
     41       
    4242        load( releaserPath + "_source/includes/ckreleaser.js" );
    4343}
    4444
  • _source/includes/ckreleaser.js

     
    1212        verbose : 0,
    1313        os : System.getProperty( "os.name" ).substring( 0, 3 ).toLowerCase(),
    1414        path : "",
     15        revisionNumber : 0,
    1516
    1617        timestamp : ( function()
    1718        {
  • _source/includes/releaser.js

     
    254254                }
    255255                if ( text.indexOf( "%REV%" ) != -1 )
    256256                {
    257                         var o =
     257                        if ( !CKRELEASER.revisionNumber )
    258258                        {
    259                                 output : ""
    260                         };
     259                                try
     260                                {
     261                                        var o =
     262                                        {
     263                                                        output : ""
     264                                        };
    261265
    262                         runCommand( "svn", "info", CKRELEASER.sourceDir, o );
     266                                        runCommand( "svn", "info", CKRELEASER.sourceDir, o );
    263267
    264                         if ( o.output.indexOf( "Revision:" ) != -1 )
    265                         {
    266                                 var rev = regexLib.packagerRev.matcher( o.output ).replaceAll( '$1' );
    267                                 text = text.replace( /%REV%/g, rev );
     268                                        if ( o.output.indexOf( "Revision:" ) != -1 )
     269                                        {
     270                                                CKRELEASER.revisionNumber = regexLib.packagerRev.matcher( o.output ).replaceAll( '$1' );
     271                                        }
     272                                        else
     273                                        {
     274                                                if ( o.output.indexOf( "not a working" ) != -1 )
     275                                                        print( "\nWARNING: Unable to fetch the revision number, source directory is not under version control: "
     276                                                                        + CKRELEASER.sourceDir );
     277                                                else
     278                                                        print( "\nWARNING: Unable to fetch the revision number, make sure that Subversion's bin directory is in your system path." );           
     279                                        }
     280                                }
     281                                catch( e )
     282                                {
     283                                        print( "\nWARNING: Unable to run \"svn\" command to get the revision number, make sure that Subversion is installed and that Subversion's bin directory is in your system path." );
     284                                }
     285                               
     286                                if ( !CKRELEASER.revisionNumber )
     287                                        CKRELEASER.revisionNumber = "UNKNOWN";
    268288                        }
    269                         else
    270                         {
    271                                 if ( o.output.indexOf( "not a working" ) != -1 )
    272                                         print( "WARNING: Unable to fetch the revision number, source directory is not under version control: "
    273                                                         + CKRELEASER.sourceDir );
    274                                 else
    275                                         print( "WARNING: Unable to fetch the revision number, make sure that Subversion’s bin directory is in your system path." );
    276                                 text = text.replace( /%REV%/g, "UNKNOWN" );
    277                         }
    278289
     290                        text = text.replace( /%REV%/g, CKRELEASER.revisionNumber );
     291
    279292                        replaced = true;
    280293                }
    281294                if ( text.indexOf( "%TIMESTAMP%" ) != -1 )
  • _source/includes/xml.js

     
    1212importClass( javax.xml.transform.stream.StreamResult );
    1313importClass( javax.xml.transform.TransformerFactory );
    1414
     15importClass( org.w3c.dom.Document );
     16importClass( org.xml.sax.EntityResolver );
     17importClass( org.xml.sax.InputSource );
     18importClass( org.xml.sax.SAXException );
     19
    1520( function()
    1621{
     22        var DTDResolver =
     23        {
     24                VARIANT_DTD : "/variant.dtd",
     25                XHTML_1_0_TRANSITIONAL_DTD : "/dtd/xhtml1-transitional.dtd",
     26                XHTML_1_0_LATIN_1_ENT : "/dtd/xhtml-lat1.ent",
     27                XHTML_1_0_SYMBOL_ENT : "/dtd/xhtml-symbol.ent",
     28                XHTML_1_0_SPECIAL_ENT : "/dtd/xhtml-special.ent",
     29
     30                resolveEntity : function( publicId, systemId )
     31                {
     32                        var dtd;
     33
     34                        if ( !CKRELEASER.isCompiled )
     35                        {
     36                                if ( systemId.equals( "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ) )
     37                                        dtd = new FileInputStream( new File( CKRELEASER.path + "_dev/_thirdparty/", this.XHTML_1_0_TRANSITIONAL_DTD ) );
     38                                else if ( systemId.endsWith( "xhtml-lat1.ent" ) )
     39                                        dtd = new File( CKRELEASER.path + "_dev/_thirdparty/", this.XHTML_1_0_LATIN_1_ENT );
     40                                else if ( systemId.endsWith( "xhtml-symbol.ent" ) )
     41                                        dtd = new File( CKRELEASER.path + "_dev/_thirdparty/", this.XHTML_1_0_SYMBOL_ENT );
     42                                else if ( systemId.endsWith( "xhtml-special.ent" ) )
     43                                        dtd = new File( CKRELEASER.path + "_dev/_thirdparty/", this.XHTML_1_0_SPECIAL_ENT );
     44                                else
     45                                        return null;
     46                        }
     47                        else
     48                        {
     49                                if ( systemId.equals( "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ) )
     50                                        dtd = this.getClass().getResourceAsStream( this.XHTML_1_0_TRANSITIONAL_DTD );
     51                                else if ( systemId.endsWith( "xhtml-lat1.ent" ) )
     52                                        dtd = this.getClass().getResourceAsStream( this.XHTML_1_0_LATIN_1_ENT );
     53                                else if ( systemId.endsWith( "xhtml-symbol.ent" ) )
     54                                        dtd = this.getClass().getResourceAsStream( this.XHTML_1_0_SYMBOL_ENT );
     55                                else if ( systemId.endsWith( "xhtml-special.ent" ) )
     56                                        dtd = this.getClass().getResourceAsStream( this.XHTML_1_0_SPECIAL_ENT );
     57                                else
     58                                        return null;
     59                        }
     60
     61                        return new InputSource( dtd );
     62                }
     63        };
     64
     65        var ddtdr = new org.xml.sax.EntityResolver( DTDResolver );
    1766        var docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
     67        docBuilder.setEntityResolver( ddtdr );
    1868
    19         CKRELEASER.xml = {
     69        CKRELEASER.xml =
     70        {
    2071
    2172                replaceNodeWithNodes : function( document, oldNode, nodeList )
    2273                {
     
    2677                                /**
    2778                                 * Skip empty text nodes (containing white space characters) at the beginning and at the end.
    2879                                 */
    29                                 if ( (i === 0 || i == length - 1) && nodeList.item( i ).getNodeType() == org.w3c.dom.Node.TEXT_NODE
     80                                if ( ( i === 0 || i == length - 1 ) && nodeList.item( i ).getNodeType() == org.w3c.dom.Node.TEXT_NODE
    3081                                                && nodeList.item( i ).getNodeValue().match( /^\s*$/ ) !== null )
    3182                                        continue;
    3283
     
    80131                        transformer.transform( source, result );
    81132                }
    82133        };
    83 })();
     134} )();
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy