diff options
Diffstat (limited to 'htdocs/sgml-lib')
52 files changed, 17411 insertions, 0 deletions
diff --git a/htdocs/sgml-lib/ISOlat1.ent b/htdocs/sgml-lib/ISOlat1.ent new file mode 100644 index 0000000..998805a --- /dev/null +++ b/htdocs/sgml-lib/ISOlat1.ent @@ -0,0 +1,110 @@ + +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + This has been extended for use with HTML to cover the full + set of codes in the range 160-255 decimal. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> + %ISOlat1; +--> + <!ENTITY nbsp CDATA " " -- no-break space --> + <!ENTITY iexcl CDATA "¡" -- inverted exclamation mark --> + <!ENTITY cent CDATA "¢" -- cent sign --> + <!ENTITY pound CDATA "£" -- pound sterling sign --> + <!ENTITY curren CDATA "¤" -- general currency sign --> + <!ENTITY yen CDATA "¥" -- yen sign --> + <!ENTITY brvbar CDATA "¦" -- broken (vertical) bar --> + <!ENTITY sect CDATA "§" -- section sign --> + <!ENTITY uml CDATA "¨" -- umlaut (dieresis) --> + <!ENTITY copy CDATA "©" -- copyright sign --> + <!ENTITY ordf CDATA "ª" -- ordinal indicator, feminine --> + <!ENTITY laquo CDATA "«" -- angle quotation mark, left --> + <!ENTITY not CDATA "¬" -- not sign --> + <!ENTITY shy CDATA "­" -- soft hyphen --> + <!ENTITY reg CDATA "®" -- registered sign --> + <!ENTITY macr CDATA "¯" -- macron --> + <!ENTITY deg CDATA "°" -- degree sign --> + <!ENTITY plusmn CDATA "±" -- plus-or-minus sign --> + <!ENTITY sup2 CDATA "²" -- superscript two --> + <!ENTITY sup3 CDATA "³" -- superscript three --> + <!ENTITY acute CDATA "´" -- acute accent --> + <!ENTITY micro CDATA "µ" -- micro sign --> + <!ENTITY para CDATA "¶" -- pilcrow (paragraph sign) --> + <!ENTITY middot CDATA "·" -- middle dot --> + <!ENTITY cedil CDATA "¸" -- cedilla --> + <!ENTITY sup1 CDATA "¹" -- superscript one --> + <!ENTITY ordm CDATA "º" -- ordinal indicator, masculine --> + <!ENTITY raquo CDATA "»" -- angle quotation mark, right --> + <!ENTITY frac14 CDATA "¼" -- fraction one-quarter --> + <!ENTITY frac12 CDATA "½" -- fraction one-half --> + <!ENTITY frac34 CDATA "¾" -- fraction three-quarters --> + <!ENTITY iquest CDATA "¿" -- inverted question mark --> + <!ENTITY Agrave CDATA "À" -- capital A, grave accent --> + <!ENTITY Aacute CDATA "Á" -- capital A, acute accent --> + <!ENTITY Acirc CDATA "Â" -- capital A, circumflex accent --> + <!ENTITY Atilde CDATA "Ã" -- capital A, tilde --> + <!ENTITY Auml CDATA "Ä" -- capital A, dieresis or umlaut mark --> + <!ENTITY Aring CDATA "Å" -- capital A, ring --> + <!ENTITY AElig CDATA "Æ" -- capital AE diphthong (ligature) --> + <!ENTITY Ccedil CDATA "Ç" -- capital C, cedilla --> + <!ENTITY Egrave CDATA "È" -- capital E, grave accent --> + <!ENTITY Eacute CDATA "É" -- capital E, acute accent --> + <!ENTITY Ecirc CDATA "Ê" -- capital E, circumflex accent --> + <!ENTITY Euml CDATA "Ë" -- capital E, dieresis or umlaut mark --> + <!ENTITY Igrave CDATA "Ì" -- capital I, grave accent --> + <!ENTITY Iacute CDATA "Í" -- capital I, acute accent --> + <!ENTITY Icirc CDATA "Î" -- capital I, circumflex accent --> + <!ENTITY Iuml CDATA "Ï" -- capital I, dieresis or umlaut mark --> + <!ENTITY ETH CDATA "Ð" -- capital Eth, Icelandic --> + <!ENTITY Ntilde CDATA "Ñ" -- capital N, tilde --> + <!ENTITY Ograve CDATA "Ò" -- capital O, grave accent --> + <!ENTITY Oacute CDATA "Ó" -- capital O, acute accent --> + <!ENTITY Ocirc CDATA "Ô" -- capital O, circumflex accent --> + <!ENTITY Otilde CDATA "Õ" -- capital O, tilde --> + <!ENTITY Ouml CDATA "Ö" -- capital O, dieresis or umlaut mark --> + <!ENTITY times CDATA "×" -- multiply sign --> + <!ENTITY Oslash CDATA "Ø" -- capital O, slash --> + <!ENTITY Ugrave CDATA "Ù" -- capital U, grave accent --> + <!ENTITY Uacute CDATA "Ú" -- capital U, acute accent --> + <!ENTITY Ucirc CDATA "Û" -- capital U, circumflex accent --> + <!ENTITY Uuml CDATA "Ü" -- capital U, dieresis or umlaut mark --> + <!ENTITY Yacute CDATA "Ý" -- capital Y, acute accent --> + <!ENTITY THORN CDATA "Þ" -- capital THORN, Icelandic --> + <!ENTITY szlig CDATA "ß" -- small sharp s, German (sz ligature) --> + <!ENTITY agrave CDATA "à" -- small a, grave accent --> + <!ENTITY aacute CDATA "á" -- small a, acute accent --> + <!ENTITY acirc CDATA "â" -- small a, circumflex accent --> + <!ENTITY atilde CDATA "ã" -- small a, tilde --> + <!ENTITY auml CDATA "ä" -- small a, dieresis or umlaut mark --> + <!ENTITY aring CDATA "å" -- small a, ring --> + <!ENTITY aelig CDATA "æ" -- small ae diphthong (ligature) --> + <!ENTITY ccedil CDATA "ç" -- small c, cedilla --> + <!ENTITY egrave CDATA "è" -- small e, grave accent --> + <!ENTITY eacute CDATA "é" -- small e, acute accent --> + <!ENTITY ecirc CDATA "ê" -- small e, circumflex accent --> + <!ENTITY euml CDATA "ë" -- small e, dieresis or umlaut mark --> + <!ENTITY igrave CDATA "ì" -- small i, grave accent --> + <!ENTITY iacute CDATA "í" -- small i, acute accent --> + <!ENTITY icirc CDATA "î" -- small i, circumflex accent --> + <!ENTITY iuml CDATA "ï" -- small i, dieresis or umlaut mark --> + <!ENTITY eth CDATA "ð" -- small eth, Icelandic --> + <!ENTITY ntilde CDATA "ñ" -- small n, tilde --> + <!ENTITY ograve CDATA "ò" -- small o, grave accent --> + <!ENTITY oacute CDATA "ó" -- small o, acute accent --> + <!ENTITY ocirc CDATA "ô" -- small o, circumflex accent --> + <!ENTITY otilde CDATA "õ" -- small o, tilde --> + <!ENTITY ouml CDATA "ö" -- small o, dieresis or umlaut mark --> + <!ENTITY divide CDATA "÷" -- divide sign --> + <!ENTITY oslash CDATA "ø" -- small o, slash --> + <!ENTITY ugrave CDATA "ù" -- small u, grave accent --> + <!ENTITY uacute CDATA "ú" -- small u, acute accent --> + <!ENTITY ucirc CDATA "û" -- small u, circumflex accent --> + <!ENTITY uuml CDATA "ü" -- small u, dieresis or umlaut mark --> + <!ENTITY yacute CDATA "ý" -- small y, acute accent --> + <!ENTITY thorn CDATA "þ" -- small thorn, Icelandic --> + <!ENTITY yuml CDATA "ÿ" -- small y, dieresis or umlaut mark --> + diff --git a/htdocs/sgml-lib/ISOlat1.sgml b/htdocs/sgml-lib/ISOlat1.sgml new file mode 100644 index 0000000..74710d8 --- /dev/null +++ b/htdocs/sgml-lib/ISOlat1.sgml @@ -0,0 +1,74 @@ +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> + %ISOlat1; +--> +<!-- Modified for use in HTML + $Id: ISOlat1.sgml,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ --> +<!ENTITY AElig CDATA "Æ" -- capital AE diphthong (ligature) --> +<!ENTITY Aacute CDATA "Á" -- capital A, acute accent --> +<!ENTITY Acirc CDATA "Â" -- capital A, circumflex accent --> +<!ENTITY Agrave CDATA "À" -- capital A, grave accent --> +<!ENTITY Aring CDATA "Å" -- capital A, ring --> +<!ENTITY Atilde CDATA "Ã" -- capital A, tilde --> +<!ENTITY Auml CDATA "Ä" -- capital A, dieresis or umlaut mark --> +<!ENTITY Ccedil CDATA "Ç" -- capital C, cedilla --> +<!ENTITY ETH CDATA "Ð" -- capital Eth, Icelandic --> +<!ENTITY Eacute CDATA "É" -- capital E, acute accent --> +<!ENTITY Ecirc CDATA "Ê" -- capital E, circumflex accent --> +<!ENTITY Egrave CDATA "È" -- capital E, grave accent --> +<!ENTITY Euml CDATA "Ë" -- capital E, dieresis or umlaut mark --> +<!ENTITY Iacute CDATA "Í" -- capital I, acute accent --> +<!ENTITY Icirc CDATA "Î" -- capital I, circumflex accent --> +<!ENTITY Igrave CDATA "Ì" -- capital I, grave accent --> +<!ENTITY Iuml CDATA "Ï" -- capital I, dieresis or umlaut mark --> +<!ENTITY Ntilde CDATA "Ñ" -- capital N, tilde --> +<!ENTITY Oacute CDATA "Ó" -- capital O, acute accent --> +<!ENTITY Ocirc CDATA "Ô" -- capital O, circumflex accent --> +<!ENTITY Ograve CDATA "Ò" -- capital O, grave accent --> +<!ENTITY Oslash CDATA "Ø" -- capital O, slash --> +<!ENTITY Otilde CDATA "Õ" -- capital O, tilde --> +<!ENTITY Ouml CDATA "Ö" -- capital O, dieresis or umlaut mark --> +<!ENTITY THORN CDATA "Þ" -- capital THORN, Icelandic --> +<!ENTITY Uacute CDATA "Ú" -- capital U, acute accent --> +<!ENTITY Ucirc CDATA "Û" -- capital U, circumflex accent --> +<!ENTITY Ugrave CDATA "Ù" -- capital U, grave accent --> +<!ENTITY Uuml CDATA "Ü" -- capital U, dieresis or umlaut mark --> +<!ENTITY Yacute CDATA "Ý" -- capital Y, acute accent --> +<!ENTITY aacute CDATA "á" -- small a, acute accent --> +<!ENTITY acirc CDATA "â" -- small a, circumflex accent --> +<!ENTITY aelig CDATA "æ" -- small ae diphthong (ligature) --> +<!ENTITY agrave CDATA "à" -- small a, grave accent --> +<!ENTITY aring CDATA "å" -- small a, ring --> +<!ENTITY atilde CDATA "ã" -- small a, tilde --> +<!ENTITY auml CDATA "ä" -- small a, dieresis or umlaut mark --> +<!ENTITY ccedil CDATA "ç" -- small c, cedilla --> +<!ENTITY eacute CDATA "é" -- small e, acute accent --> +<!ENTITY ecirc CDATA "ê" -- small e, circumflex accent --> +<!ENTITY egrave CDATA "è" -- small e, grave accent --> +<!ENTITY eth CDATA "ð" -- small eth, Icelandic --> +<!ENTITY euml CDATA "ë" -- small e, dieresis or umlaut mark --> +<!ENTITY iacute CDATA "í" -- small i, acute accent --> +<!ENTITY icirc CDATA "î" -- small i, circumflex accent --> +<!ENTITY igrave CDATA "ì" -- small i, grave accent --> +<!ENTITY iuml CDATA "ï" -- small i, dieresis or umlaut mark --> +<!ENTITY ntilde CDATA "ñ" -- small n, tilde --> +<!ENTITY oacute CDATA "ó" -- small o, acute accent --> +<!ENTITY ocirc CDATA "ô" -- small o, circumflex accent --> +<!ENTITY ograve CDATA "ò" -- small o, grave accent --> +<!ENTITY oslash CDATA "ø" -- small o, slash --> +<!ENTITY otilde CDATA "õ" -- small o, tilde --> +<!ENTITY ouml CDATA "ö" -- small o, dieresis or umlaut mark --> +<!ENTITY szlig CDATA "ß" -- small sharp s, German (sz ligature) --> +<!ENTITY thorn CDATA "þ" -- small thorn, Icelandic --> +<!ENTITY uacute CDATA "ú" -- small u, acute accent --> +<!ENTITY ucirc CDATA "û" -- small u, circumflex accent --> +<!ENTITY ugrave CDATA "ù" -- small u, grave accent --> +<!ENTITY uuml CDATA "ü" -- small u, dieresis or umlaut mark --> +<!ENTITY yacute CDATA "ý" -- small y, acute accent --> +<!ENTITY yuml CDATA "ÿ" -- small y, dieresis or umlaut mark --> diff --git a/htdocs/sgml-lib/REC-html40-971218/HTML4.cat b/htdocs/sgml-lib/REC-html40-971218/HTML4.cat new file mode 100644 index 0000000..e30e5b8 --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/HTML4.cat @@ -0,0 +1,8 @@ +OVERRIDE YES + +PUBLIC "-//W3C//DTD HTML 4.0//EN" strict.dtd +PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" loose.dtd +PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" frameset.dtd +PUBLIC "-//W3C//ENTITIES Latin1//EN//HTML" HTMLlat1.ent +PUBLIC "-//W3C//ENTITIES Special//EN//HTML" HTMLspecial.ent +PUBLIC "-//W3C//ENTITIES Symbols//EN//HTML" HTMLsymbol.ent diff --git a/htdocs/sgml-lib/REC-html40-971218/HTML4.decl b/htdocs/sgml-lib/REC-html40-971218/HTML4.decl new file mode 100644 index 0000000..77d3a91 --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/HTML4.decl @@ -0,0 +1,80 @@ +<!SGML "ISO 8879:1986" + -- + SGML Declaration for HyperText Markup Language version 4.0 + + With support for the first 17 planes of ISO 10646 and + increased limits for tag and literal lengths etc. + -- + + CHARSET + BASESET "ISO Registration Number 177//CHARSET + ISO/IEC 10646-1:1993 UCS-4 with + implementation level 3//ESC 2/5 2/15 4/6" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + 128 32 UNUSED + 160 55136 160 + 55296 2048 UNUSED -- SURROGATES -- + 57344 1056768 57344 + +CAPACITY SGMLREF + TOTALCAP 150000 + GRPCAP 150000 + ENTCAP 150000 + +SCOPE DOCUMENT +SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + BASESET "ISO 646IRV:1991//CHARSET + International Reference Version + (IRV)//ESC 2/8 4/2" + DESCSET 0 128 0 + + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + NAMING LCNMSTRT "" + UCNMSTRT "" + LCNMCHAR ".-_:" + UCNMCHAR ".-_:" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTCNT 60 -- increased -- + ATTSPLEN 65536 -- These are the largest values -- + LITLEN 65536 -- permitted in the declaration -- + NAMELEN 65536 -- Avoid fixed limits in actual -- + PILEN 65536 -- implementations of HTML UA's -- + TAGLVL 100 + TAGLEN 65536 + GRPGTCNT 150 + GRPCNT 64 + +FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO NONE +>
\ No newline at end of file diff --git a/htdocs/sgml-lib/REC-html40-971218/HTMLlat1.ent b/htdocs/sgml-lib/REC-html40-971218/HTMLlat1.ent new file mode 100644 index 0000000..7632023 --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/HTMLlat1.ent @@ -0,0 +1,195 @@ +<!-- Portions (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Full Latin 1//EN//HTML"> + %HTMLlat1; +--> + +<!ENTITY nbsp CDATA " " -- no-break space = non-breaking space, + U+00A0 ISOnum --> +<!ENTITY iexcl CDATA "¡" -- inverted exclamation mark, U+00A1 ISOnum --> +<!ENTITY cent CDATA "¢" -- cent sign, U+00A2 ISOnum --> +<!ENTITY pound CDATA "£" -- pound sign, U+00A3 ISOnum --> +<!ENTITY curren CDATA "¤" -- currency sign, U+00A4 ISOnum --> +<!ENTITY yen CDATA "¥" -- yen sign = yuan sign, U+00A5 ISOnum --> +<!ENTITY brvbar CDATA "¦" -- broken bar = broken vertical bar, + U+00A6 ISOnum --> +<!ENTITY sect CDATA "§" -- section sign, U+00A7 ISOnum --> +<!ENTITY uml CDATA "¨" -- diaeresis = spacing diaeresis, + U+00A8 ISOdia --> +<!ENTITY copy CDATA "©" -- copyright sign, U+00A9 ISOnum --> +<!ENTITY ordf CDATA "ª" -- feminine ordinal indicator, U+00AA ISOnum --> +<!ENTITY laquo CDATA "«" -- left-pointing double angle quotation mark + = left pointing guillemet, U+00AB ISOnum --> +<!ENTITY not CDATA "¬" -- not sign = discretionary hyphen, + U+00AC ISOnum --> +<!ENTITY shy CDATA "­" -- soft hyphen = discretionary hyphen, + U+00AD ISOnum --> +<!ENTITY reg CDATA "®" -- registered sign = registered trade mark sign, + U+00AE ISOnum --> +<!ENTITY macr CDATA "¯" -- macron = spacing macron = overline + = APL overbar, U+00AF ISOdia --> +<!ENTITY deg CDATA "°" -- degree sign, U+00B0 ISOnum --> +<!ENTITY plusmn CDATA "±" -- plus-minus sign = plus-or-minus sign, + U+00B1 ISOnum --> +<!ENTITY sup2 CDATA "²" -- superscript two = superscript digit two + = squared, U+00B2 ISOnum --> +<!ENTITY sup3 CDATA "³" -- superscript three = superscript digit three + = cubed, U+00B3 ISOnum --> +<!ENTITY acute CDATA "´" -- acute accent = spacing acute, + U+00B4 ISOdia --> +<!ENTITY micro CDATA "µ" -- micro sign, U+00B5 ISOnum --> +<!ENTITY para CDATA "¶" -- pilcrow sign = paragraph sign, + U+00B6 ISOnum --> +<!ENTITY middot CDATA "·" -- middle dot = Georgian comma + = Greek middle dot, U+00B7 ISOnum --> +<!ENTITY cedil CDATA "¸" -- cedilla = spacing cedilla, U+00B8 ISOdia --> +<!ENTITY sup1 CDATA "¹" -- superscript one = superscript digit one, + U+00B9 ISOnum --> +<!ENTITY ordm CDATA "º" -- masculine ordinal indicator, + U+00BA ISOnum --> +<!ENTITY raquo CDATA "»" -- right-pointing double angle quotation mark + = right pointing guillemet, U+00BB ISOnum --> +<!ENTITY frac14 CDATA "¼" -- vulgar fraction one quarter + = fraction one quarter, U+00BC ISOnum --> +<!ENTITY frac12 CDATA "½" -- vulgar fraction one half + = fraction one half, U+00BD ISOnum --> +<!ENTITY frac34 CDATA "¾" -- vulgar fraction three quarters + = fraction three quarters, U+00BE ISOnum --> +<!ENTITY iquest CDATA "¿" -- inverted question mark + = turned question mark, U+00BF ISOnum --> +<!ENTITY Agrave CDATA "À" -- latin capital letter A with grave + = latin capital letter A grave, + U+00C0 ISOlat1 --> +<!ENTITY Aacute CDATA "Á" -- latin capital letter A with acute, + U+00C1 ISOlat1 --> +<!ENTITY Acirc CDATA "Â" -- latin capital letter A with circumflex, + U+00C2 ISOlat1 --> +<!ENTITY Atilde CDATA "Ã" -- latin capital letter A with tilde, + U+00C3 ISOlat1 --> +<!ENTITY Auml CDATA "Ä" -- latin capital letter A with diaeresis, + U+00C4 ISOlat1 --> +<!ENTITY Aring CDATA "Å" -- latin capital letter A with ring above + = latin capital letter A ring, + U+00C5 ISOlat1 --> +<!ENTITY AElig CDATA "Æ" -- latin capital letter AE + = latin capital ligature AE, + U+00C6 ISOlat1 --> +<!ENTITY Ccedil CDATA "Ç" -- latin capital letter C with cedilla, + U+00C7 ISOlat1 --> +<!ENTITY Egrave CDATA "È" -- latin capital letter E with grave, + U+00C8 ISOlat1 --> +<!ENTITY Eacute CDATA "É" -- latin capital letter E with acute, + U+00C9 ISOlat1 --> +<!ENTITY Ecirc CDATA "Ê" -- latin capital letter E with circumflex, + U+00CA ISOlat1 --> +<!ENTITY Euml CDATA "Ë" -- latin capital letter E with diaeresis, + U+00CB ISOlat1 --> +<!ENTITY Igrave CDATA "Ì" -- latin capital letter I with grave, + U+00CC ISOlat1 --> +<!ENTITY Iacute CDATA "Í" -- latin capital letter I with acute, + U+00CD ISOlat1 --> +<!ENTITY Icirc CDATA "Î" -- latin capital letter I with circumflex, + U+00CE ISOlat1 --> +<!ENTITY Iuml CDATA "Ï" -- latin capital letter I with diaeresis, + U+00CF ISOlat1 --> +<!ENTITY ETH CDATA "Ð" -- latin capital letter ETH, U+00D0 ISOlat1 --> +<!ENTITY Ntilde CDATA "Ñ" -- latin capital letter N with tilde, + U+00D1 ISOlat1 --> +<!ENTITY Ograve CDATA "Ò" -- latin capital letter O with grave, + U+00D2 ISOlat1 --> +<!ENTITY Oacute CDATA "Ó" -- latin capital letter O with acute, + U+00D3 ISOlat1 --> +<!ENTITY Ocirc CDATA "Ô" -- latin capital letter O with circumflex, + U+00D4 ISOlat1 --> +<!ENTITY Otilde CDATA "Õ" -- latin capital letter O with tilde, + U+00D5 ISOlat1 --> +<!ENTITY Ouml CDATA "Ö" -- latin capital letter O with diaeresis, + U+00D6 ISOlat1 --> +<!ENTITY times CDATA "×" -- multiplication sign, U+00D7 ISOnum --> +<!ENTITY Oslash CDATA "Ø" -- latin capital letter O with stroke + = latin capital letter O slash, + U+00D8 ISOlat1 --> +<!ENTITY Ugrave CDATA "Ù" -- latin capital letter U with grave, + U+00D9 ISOlat1 --> +<!ENTITY Uacute CDATA "Ú" -- latin capital letter U with acute, + U+00DA ISOlat1 --> +<!ENTITY Ucirc CDATA "Û" -- latin capital letter U with circumflex, + U+00DB ISOlat1 --> +<!ENTITY Uuml CDATA "Ü" -- latin capital letter U with diaeresis, + U+00DC ISOlat1 --> +<!ENTITY Yacute CDATA "Ý" -- latin capital letter Y with acute, + U+00DD ISOlat1 --> +<!ENTITY THORN CDATA "Þ" -- latin capital letter THORN, + U+00DE ISOlat1 --> +<!ENTITY szlig CDATA "ß" -- latin small letter sharp s = ess-zed, + U+00DF ISOlat1 --> +<!ENTITY agrave CDATA "à" -- latin small letter a with grave + = latin small letter a grave, + U+00E0 ISOlat1 --> +<!ENTITY aacute CDATA "á" -- latin small letter a with acute, + U+00E1 ISOlat1 --> +<!ENTITY acirc CDATA "â" -- latin small letter a with circumflex, + U+00E2 ISOlat1 --> +<!ENTITY atilde CDATA "ã" -- latin small letter a with tilde, + U+00E3 ISOlat1 --> +<!ENTITY auml CDATA "ä" -- latin small letter a with diaeresis, + U+00E4 ISOlat1 --> +<!ENTITY aring CDATA "å" -- latin small letter a with ring above + = latin small letter a ring, + U+00E5 ISOlat1 --> +<!ENTITY aelig CDATA "æ" -- latin small letter ae + = latin small ligature ae, U+00E6 ISOlat1 --> +<!ENTITY ccedil CDATA "ç" -- latin small letter c with cedilla, + U+00E7 ISOlat1 --> +<!ENTITY egrave CDATA "è" -- latin small letter e with grave, + U+00E8 ISOlat1 --> +<!ENTITY eacute CDATA "é" -- latin small letter e with acute, + U+00E9 ISOlat1 --> +<!ENTITY ecirc CDATA "ê" -- latin small letter e with circumflex, + U+00EA ISOlat1 --> +<!ENTITY euml CDATA "ë" -- latin small letter e with diaeresis, + U+00EB ISOlat1 --> +<!ENTITY igrave CDATA "ì" -- latin small letter i with grave, + U+00EC ISOlat1 --> +<!ENTITY iacute CDATA "í" -- latin small letter i with acute, + U+00ED ISOlat1 --> +<!ENTITY icirc CDATA "î" -- latin small letter i with circumflex, + U+00EE ISOlat1 --> +<!ENTITY iuml CDATA "ï" -- latin small letter i with diaeresis, + U+00EF ISOlat1 --> +<!ENTITY eth CDATA "ð" -- latin small letter eth, U+00F0 ISOlat1 --> +<!ENTITY ntilde CDATA "ñ" -- latin small letter n with tilde, + U+00F1 ISOlat1 --> +<!ENTITY ograve CDATA "ò" -- latin small letter o with grave, + U+00F2 ISOlat1 --> +<!ENTITY oacute CDATA "ó" -- latin small letter o with acute, + U+00F3 ISOlat1 --> +<!ENTITY ocirc CDATA "ô" -- latin small letter o with circumflex, + U+00F4 ISOlat1 --> +<!ENTITY otilde CDATA "õ" -- latin small letter o with tilde, + U+00F5 ISOlat1 --> +<!ENTITY ouml CDATA "ö" -- latin small letter o with diaeresis, + U+00F6 ISOlat1 --> +<!ENTITY divide CDATA "÷" -- division sign, U+00F7 ISOnum --> +<!ENTITY oslash CDATA "ø" -- latin small letter o with stroke, + = latin small letter o slash, + U+00F8 ISOlat1 --> +<!ENTITY ugrave CDATA "ù" -- latin small letter u with grave, + U+00F9 ISOlat1 --> +<!ENTITY uacute CDATA "ú" -- latin small letter u with acute, + U+00FA ISOlat1 --> +<!ENTITY ucirc CDATA "û" -- latin small letter u with circumflex, + U+00FB ISOlat1 --> +<!ENTITY uuml CDATA "ü" -- latin small letter u with diaeresis, + U+00FC ISOlat1 --> +<!ENTITY yacute CDATA "ý" -- latin small letter y with acute, + U+00FD ISOlat1 --> +<!ENTITY thorn CDATA "þ" -- latin small letter thorn with, + U+00FE ISOlat1 --> +<!ENTITY yuml CDATA "ÿ" -- latin small letter y with diaeresis, + U+00FF ISOlat1 -->
\ No newline at end of file diff --git a/htdocs/sgml-lib/REC-html40-971218/HTMLspecial.ent b/htdocs/sgml-lib/REC-html40-971218/HTMLspecial.ent new file mode 100644 index 0000000..29011cc --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/HTMLspecial.ent @@ -0,0 +1,77 @@ +<!-- Special characters for HTML --> + +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special//EN//HTML"> + %HTMLspecial; --> + +<!-- Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- Relevant ISO entity set is given unless names are newly introduced. + New names (i.e., not in ISO 8879 list) do not clash with any + existing ISO 8879 entity names. ISO 10646 character numbers + are given for each character, in hex. CDATA values are decimal + conversions of the ISO 10646 values and refer to the document + character set. Names are Unicode 2.0 names. + +--> + +<!-- C0 Controls and Basic Latin --> +<!ENTITY quot CDATA """ -- quotation mark = APL quote, + U+0022 ISOnum --> +<!ENTITY amp CDATA "&" -- ampersand, U+0026 ISOnum --> +<!ENTITY lt CDATA "<" -- less-than sign, U+003C ISOnum --> +<!ENTITY gt CDATA ">" -- greater-than sign, U+003E ISOnum --> + +<!-- Latin Extended-A --> +<!ENTITY OElig CDATA "Œ" -- latin capital ligature OE, + U+0152 ISOlat2 --> +<!ENTITY oelig CDATA "œ" -- latin small ligature oe, U+0153 ISOlat2 --> +<!-- ligature is a misnomer, this is a separate character in some languages --> +<!ENTITY Scaron CDATA "Š" -- latin capital letter S with caron, + U+0160 ISOlat2 --> +<!ENTITY scaron CDATA "š" -- latin small letter s with caron, + U+0161 ISOlat2 --> +<!ENTITY Yuml CDATA "Ÿ" -- latin capital letter Y with diaeresis, + U+0178 ISOlat2 --> + +<!-- Spacing Modifier Letters --> +<!ENTITY circ CDATA "ˆ" -- modifier letter circumflex accent, + U+02C6 ISOpub --> +<!ENTITY tilde CDATA "˜" -- small tilde, U+02DC ISOdia --> + +<!-- General Punctuation --> +<!ENTITY ensp CDATA " " -- en space, U+2002 ISOpub --> +<!ENTITY emsp CDATA " " -- em space, U+2003 ISOpub --> +<!ENTITY thinsp CDATA " " -- thin space, U+2009 ISOpub --> +<!ENTITY zwnj CDATA "‌" -- zero width non-joiner, + U+200C NEW RFC 2070 --> +<!ENTITY zwj CDATA "‍" -- zero width joiner, U+200D NEW RFC 2070 --> +<!ENTITY lrm CDATA "‎" -- left-to-right mark, U+200E NEW RFC 2070 --> +<!ENTITY rlm CDATA "‏" -- right-to-left mark, U+200F NEW RFC 2070 --> +<!ENTITY ndash CDATA "–" -- en dash, U+2013 ISOpub --> +<!ENTITY mdash CDATA "—" -- em dash, U+2014 ISOpub --> +<!ENTITY lsquo CDATA "‘" -- left single quotation mark, + U+2018 ISOnum --> +<!ENTITY rsquo CDATA "’" -- right single quotation mark, + U+2019 ISOnum --> +<!ENTITY sbquo CDATA "‚" -- single low-9 quotation mark, U+201A NEW --> +<!ENTITY ldquo CDATA "“" -- left double quotation mark, + U+201C ISOnum --> +<!ENTITY rdquo CDATA "”" -- right double quotation mark, + U+201D ISOnum --> +<!ENTITY bdquo CDATA "„" -- double low-9 quotation mark, U+201E NEW --> +<!ENTITY dagger CDATA "†" -- dagger, U+2020 ISOpub --> +<!ENTITY Dagger CDATA "‡" -- double dagger, U+2021 ISOpub --> +<!ENTITY permil CDATA "‰" -- per mille sign, U+2030 ISOtech --> +<!ENTITY lsaquo CDATA "‹" -- single left-pointing angle quotation mark, + U+2039 ISO proposed --> +<!-- lsaquo is proposed but not yet ISO standardized --> +<!ENTITY rsaquo CDATA "›" -- single right-pointing angle quotation mark, + U+203A ISO proposed --> +<!-- rsaquo is proposed but not yet ISO standardized --> +<!ENTITY euro CDATA "€" -- euro sign, U+20AC NEW -->
\ No newline at end of file diff --git a/htdocs/sgml-lib/REC-html40-971218/HTMLsymbol.ent b/htdocs/sgml-lib/REC-html40-971218/HTMLsymbol.ent new file mode 100644 index 0000000..2a6250b --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/HTMLsymbol.ent @@ -0,0 +1,241 @@ +<!-- Mathematical, Greek and Symbolic characters for HTML --> + +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbolic//EN//HTML"> + %HTMLsymbol; --> + +<!-- Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- Relevant ISO entity set is given unless names are newly introduced. + New names (i.e., not in ISO 8879 list) do not clash with any + existing ISO 8879 entity names. ISO 10646 character numbers + are given for each character, in hex. CDATA values are decimal + conversions of the ISO 10646 values and refer to the document + character set. Names are Unicode 2.0 names. + +--> + +<!-- Latin Extended-B --> +<!ENTITY fnof CDATA "ƒ" -- latin small f with hook = function + = florin, U+0192 ISOtech --> + +<!-- Greek --> +<!ENTITY Alpha CDATA "Α" -- greek capital letter alpha, U+0391 --> +<!ENTITY Beta CDATA "Β" -- greek capital letter beta, U+0392 --> +<!ENTITY Gamma CDATA "Γ" -- greek capital letter gamma, + U+0393 ISOgrk3 --> +<!ENTITY Delta CDATA "Δ" -- greek capital letter delta, + U+0394 ISOgrk3 --> +<!ENTITY Epsilon CDATA "Ε" -- greek capital letter epsilon, U+0395 --> +<!ENTITY Zeta CDATA "Ζ" -- greek capital letter zeta, U+0396 --> +<!ENTITY Eta CDATA "Η" -- greek capital letter eta, U+0397 --> +<!ENTITY Theta CDATA "Θ" -- greek capital letter theta, + U+0398 ISOgrk3 --> +<!ENTITY Iota CDATA "Ι" -- greek capital letter iota, U+0399 --> +<!ENTITY Kappa CDATA "Κ" -- greek capital letter kappa, U+039A --> +<!ENTITY Lambda CDATA "Λ" -- greek capital letter lambda, + U+039B ISOgrk3 --> +<!ENTITY Mu CDATA "Μ" -- greek capital letter mu, U+039C --> +<!ENTITY Nu CDATA "Ν" -- greek capital letter nu, U+039D --> +<!ENTITY Xi CDATA "Ξ" -- greek capital letter xi, U+039E ISOgrk3 --> +<!ENTITY Omicron CDATA "Ο" -- greek capital letter omicron, U+039F --> +<!ENTITY Pi CDATA "Π" -- greek capital letter pi, U+03A0 ISOgrk3 --> +<!ENTITY Rho CDATA "Ρ" -- greek capital letter rho, U+03A1 --> +<!-- there is no Sigmaf, and no U+03A2 character either --> +<!ENTITY Sigma CDATA "Σ" -- greek capital letter sigma, + U+03A3 ISOgrk3 --> +<!ENTITY Tau CDATA "Τ" -- greek capital letter tau, U+03A4 --> +<!ENTITY Upsilon CDATA "Υ" -- greek capital letter upsilon, + U+03A5 ISOgrk3 --> +<!ENTITY Phi CDATA "Φ" -- greek capital letter phi, + U+03A6 ISOgrk3 --> +<!ENTITY Chi CDATA "Χ" -- greek capital letter chi, U+03A7 --> +<!ENTITY Psi CDATA "Ψ" -- greek capital letter psi, + U+03A8 ISOgrk3 --> +<!ENTITY Omega CDATA "Ω" -- greek capital letter omega, + U+03A9 ISOgrk3 --> + +<!ENTITY alpha CDATA "α" -- greek small letter alpha, + U+03B1 ISOgrk3 --> +<!ENTITY beta CDATA "β" -- greek small letter beta, U+03B2 ISOgrk3 --> +<!ENTITY gamma CDATA "γ" -- greek small letter gamma, + U+03B3 ISOgrk3 --> +<!ENTITY delta CDATA "δ" -- greek small letter delta, + U+03B4 ISOgrk3 --> +<!ENTITY epsilon CDATA "ε" -- greek small letter epsilon, + U+03B5 ISOgrk3 --> +<!ENTITY zeta CDATA "ζ" -- greek small letter zeta, U+03B6 ISOgrk3 --> +<!ENTITY eta CDATA "η" -- greek small letter eta, U+03B7 ISOgrk3 --> +<!ENTITY theta CDATA "θ" -- greek small letter theta, + U+03B8 ISOgrk3 --> +<!ENTITY iota CDATA "ι" -- greek small letter iota, U+03B9 ISOgrk3 --> +<!ENTITY kappa CDATA "κ" -- greek small letter kappa, + U+03BA ISOgrk3 --> +<!ENTITY lambda CDATA "λ" -- greek small letter lambda, + U+03BB ISOgrk3 --> +<!ENTITY mu CDATA "μ" -- greek small letter mu, U+03BC ISOgrk3 --> +<!ENTITY nu CDATA "ν" -- greek small letter nu, U+03BD ISOgrk3 --> +<!ENTITY xi CDATA "ξ" -- greek small letter xi, U+03BE ISOgrk3 --> +<!ENTITY omicron CDATA "ο" -- greek small letter omicron, U+03BF NEW --> +<!ENTITY pi CDATA "π" -- greek small letter pi, U+03C0 ISOgrk3 --> +<!ENTITY rho CDATA "ρ" -- greek small letter rho, U+03C1 ISOgrk3 --> +<!ENTITY sigmaf CDATA "ς" -- greek small letter final sigma, + U+03C2 ISOgrk3 --> +<!ENTITY sigma CDATA "σ" -- greek small letter sigma, + U+03C3 ISOgrk3 --> +<!ENTITY tau CDATA "τ" -- greek small letter tau, U+03C4 ISOgrk3 --> +<!ENTITY upsilon CDATA "υ" -- greek small letter upsilon, + U+03C5 ISOgrk3 --> +<!ENTITY phi CDATA "φ" -- greek small letter phi, U+03C6 ISOgrk3 --> +<!ENTITY chi CDATA "χ" -- greek small letter chi, U+03C7 ISOgrk3 --> +<!ENTITY psi CDATA "ψ" -- greek small letter psi, U+03C8 ISOgrk3 --> +<!ENTITY omega CDATA "ω" -- greek small letter omega, + U+03C9 ISOgrk3 --> +<!ENTITY thetasym CDATA "ϑ" -- greek small letter theta symbol, + U+03D1 NEW --> +<!ENTITY upsih CDATA "ϒ" -- greek upsilon with hook symbol, + U+03D2 NEW --> +<!ENTITY piv CDATA "ϖ" -- greek pi symbol, U+03D6 ISOgrk3 --> + +<!-- General Punctuation --> +<!ENTITY bull CDATA "•" -- bullet = black small circle, + U+2022 ISOpub --> +<!-- bullet is NOT the same as bullet operator, U+2219 --> +<!ENTITY hellip CDATA "…" -- horizontal ellipsis = three dot leader, + U+2026 ISOpub --> +<!ENTITY prime CDATA "′" -- prime = minutes = feet, U+2032 ISOtech --> +<!ENTITY Prime CDATA "″" -- double prime = seconds = inches, + U+2033 ISOtech --> +<!ENTITY oline CDATA "‾" -- overline = spacing overscore, + U+203E NEW --> +<!ENTITY frasl CDATA "⁄" -- fraction slash, U+2044 NEW --> + +<!-- Letterlike Symbols --> +<!ENTITY weierp CDATA "℘" -- script capital P = power set + = Weierstrass p, U+2118 ISOamso --> +<!ENTITY image CDATA "ℑ" -- blackletter capital I = imaginary part, + U+2111 ISOamso --> +<!ENTITY real CDATA "ℜ" -- blackletter capital R = real part symbol, + U+211C ISOamso --> +<!ENTITY trade CDATA "™" -- trade mark sign, U+2122 ISOnum --> +<!ENTITY alefsym CDATA "ℵ" -- alef symbol = first transfinite cardinal, + U+2135 NEW --> +<!-- alef symbol is NOT the same as hebrew letter alef, + U+05D0 although the same glyph could be used to depict both characters --> + +<!-- Arrows --> +<!ENTITY larr CDATA "←" -- leftwards arrow, U+2190 ISOnum --> +<!ENTITY uarr CDATA "↑" -- upwards arrow, U+2191 ISOnum--> +<!ENTITY rarr CDATA "→" -- rightwards arrow, U+2192 ISOnum --> +<!ENTITY darr CDATA "↓" -- downwards arrow, U+2193 ISOnum --> +<!ENTITY harr CDATA "↔" -- left right arrow, U+2194 ISOamsa --> +<!ENTITY crarr CDATA "↵" -- downwards arrow with corner leftwards + = carriage return, U+21B5 NEW --> +<!ENTITY lArr CDATA "⇐" -- leftwards double arrow, U+21D0 ISOtech --> +<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow + but also does not have any other character for that function. So ? lArr can + be used for 'is implied by' as ISOtech suggests --> +<!ENTITY uArr CDATA "⇑" -- upwards double arrow, U+21D1 ISOamsa --> +<!ENTITY rArr CDATA "⇒" -- rightwards double arrow, + U+21D2 ISOtech --> +<!-- Unicode does not say this is the 'implies' character but does not have + another character with this function so ? + rArr can be used for 'implies' as ISOtech suggests --> +<!ENTITY dArr CDATA "⇓" -- downwards double arrow, U+21D3 ISOamsa --> +<!ENTITY hArr CDATA "⇔" -- left right double arrow, + U+21D4 ISOamsa --> + +<!-- Mathematical Operators --> +<!ENTITY forall CDATA "∀" -- for all, U+2200 ISOtech --> +<!ENTITY part CDATA "∂" -- partial differential, U+2202 ISOtech --> +<!ENTITY exist CDATA "∃" -- there exists, U+2203 ISOtech --> +<!ENTITY empty CDATA "∅" -- empty set = null set = diameter, + U+2205 ISOamso --> +<!ENTITY nabla CDATA "∇" -- nabla = backward difference, + U+2207 ISOtech --> +<!ENTITY isin CDATA "∈" -- element of, U+2208 ISOtech --> +<!ENTITY notin CDATA "∉" -- not an element of, U+2209 ISOtech --> +<!ENTITY ni CDATA "∋" -- contains as member, U+220B ISOtech --> +<!-- should there be a more memorable name than 'ni'? --> +<!ENTITY prod CDATA "∏" -- n-ary product = product sign, + U+220F ISOamsb --> +<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though + the same glyph might be used for both --> +<!ENTITY sum CDATA "∑" -- n-ary sumation, U+2211 ISOamsb --> +<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma' + though the same glyph might be used for both --> +<!ENTITY minus CDATA "−" -- minus sign, U+2212 ISOtech --> +<!ENTITY lowast CDATA "∗" -- asterisk operator, U+2217 ISOtech --> +<!ENTITY radic CDATA "√" -- square root = radical sign, + U+221A ISOtech --> +<!ENTITY prop CDATA "∝" -- proportional to, U+221D ISOtech --> +<!ENTITY infin CDATA "∞" -- infinity, U+221E ISOtech --> +<!ENTITY ang CDATA "∠" -- angle, U+2220 ISOamso --> +<!ENTITY and CDATA "∧" -- logical and = wedge, U+2227 ISOtech --> +<!ENTITY or CDATA "∨" -- logical or = vee, U+2228 ISOtech --> +<!ENTITY cap CDATA "∩" -- intersection = cap, U+2229 ISOtech --> +<!ENTITY cup CDATA "∪" -- union = cup, U+222A ISOtech --> +<!ENTITY int CDATA "∫" -- integral, U+222B ISOtech --> +<!ENTITY there4 CDATA "∴" -- therefore, U+2234 ISOtech --> +<!ENTITY sim CDATA "∼" -- tilde operator = varies with = similar to, + U+223C ISOtech --> +<!-- tilde operator is NOT the same character as the tilde, U+007E, + although the same glyph might be used to represent both --> +<!ENTITY cong CDATA "≅" -- approximately equal to, U+2245 ISOtech --> +<!ENTITY asymp CDATA "≈" -- almost equal to = asymptotic to, + U+2248 ISOamsr --> +<!ENTITY ne CDATA "≠" -- not equal to, U+2260 ISOtech --> +<!ENTITY equiv CDATA "≡" -- identical to, U+2261 ISOtech --> +<!ENTITY le CDATA "≤" -- less-than or equal to, U+2264 ISOtech --> +<!ENTITY ge CDATA "≥" -- greater-than or equal to, + U+2265 ISOtech --> +<!ENTITY sub CDATA "⊂" -- subset of, U+2282 ISOtech --> +<!ENTITY sup CDATA "⊃" -- superset of, U+2283 ISOtech --> +<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol + font encoding and is not included. Should it be, for symmetry? + It is in ISOamsn --> +<!ENTITY nsub CDATA "⊄" -- not a subset of, U+2284 ISOamsn --> +<!ENTITY sube CDATA "⊆" -- subset of or equal to, U+2286 ISOtech --> +<!ENTITY supe CDATA "⊇" -- superset of or equal to, + U+2287 ISOtech --> +<!ENTITY oplus CDATA "⊕" -- circled plus = direct sum, + U+2295 ISOamsb --> +<!ENTITY otimes CDATA "⊗" -- circled times = vector product, + U+2297 ISOamsb --> +<!ENTITY perp CDATA "⊥" -- up tack = orthogonal to = perpendicular, + U+22A5 ISOtech --> +<!ENTITY sdot CDATA "⋅" -- dot operator, U+22C5 ISOamsb --> +<!-- dot operator is NOT the same character as U+00B7 middle dot --> + +<!-- Miscellaneous Technical --> +<!ENTITY lceil CDATA "⌈" -- left ceiling = apl upstile, + U+2308 ISOamsc --> +<!ENTITY rceil CDATA "⌉" -- right ceiling, U+2309 ISOamsc --> +<!ENTITY lfloor CDATA "⌊" -- left floor = apl downstile, + U+230A ISOamsc --> +<!ENTITY rfloor CDATA "⌋" -- right floor, U+230B ISOamsc --> +<!ENTITY lang CDATA "〈" -- left-pointing angle bracket = bra, + U+2329 ISOtech --> +<!-- lang is NOT the same character as U+003C 'less than' + or U+2039 'single left-pointing angle quotation mark' --> +<!ENTITY rang CDATA "〉" -- right-pointing angle bracket = ket, + U+232A ISOtech --> +<!-- rang is NOT the same character as U+003E 'greater than' + or U+203A 'single right-pointing angle quotation mark' --> + +<!-- Geometric Shapes --> +<!ENTITY loz CDATA "◊" -- lozenge, U+25CA ISOpub --> + +<!-- Miscellaneous Symbols --> +<!ENTITY spades CDATA "♠" -- black spade suit, U+2660 ISOpub --> +<!-- black here seems to mean filled as opposed to hollow --> +<!ENTITY clubs CDATA "♣" -- black club suit = shamrock, + U+2663 ISOpub --> +<!ENTITY hearts CDATA "♥" -- black heart suit = valentine, + U+2665 ISOpub --> +<!ENTITY diams CDATA "♦" -- black diamond suit, U+2666 ISOpub -->
\ No newline at end of file diff --git a/htdocs/sgml-lib/REC-html40-971218/frameset.dtd b/htdocs/sgml-lib/REC-html40-971218/frameset.dtd new file mode 100644 index 0000000..5187ac9 --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/frameset.dtd @@ -0,0 +1,37 @@ +<!-- + This is the HTML 4.0 Frameset DTD, which should be + used for documents with frames. This DTD is identical + to the HTML 4.0 Transitional DTD except for the + content model of the "HTML" element: in frameset + documents, the "FRAMESET" element replaces the "BODY" + element. + + Draft: $Date: 1998-07-25 00:00:22 $ + + Authors: + Dave Raggett <dsr@w3.org> + Arnaud Le Hors <lehors@w3.org> + Ian Jacobs <ij@w3.org> + + Further information about HTML 4.0 is available at: + + http://www.w3.org/TR/REC-html40. +--> +<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.0 Frameset//EN" + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" + "http://www.w3.org/TR/REC-html40/frameset.dtd"> + <html> + <head> + ... + </head> + <frameset> + ... + </frameset> + </html> +--> + +<!ENTITY % HTML.Frameset "INCLUDE"> +<!ENTITY % HTML4.dtd PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +%HTML4.dtd;
\ No newline at end of file diff --git a/htdocs/sgml-lib/REC-html40-971218/html40.tgz b/htdocs/sgml-lib/REC-html40-971218/html40.tgz Binary files differnew file mode 100644 index 0000000..99755ed --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/html40.tgz diff --git a/htdocs/sgml-lib/REC-html40-971218/loose.dtd b/htdocs/sgml-lib/REC-html40-971218/loose.dtd new file mode 100644 index 0000000..d9f7347 --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/loose.dtd @@ -0,0 +1,1092 @@ +<!-- + This is the HTML 4.0 Transitional DTD, which includes + presentation attributes and elements that W3C expects to phase out + as support for style sheets matures. Authors should use the Strict + DTD when possible, but may use the Transitional DTD when support + for presentation attribute and elements is required. + + HTML 4.0 includes mechanisms for style sheets, scripting, + embedding objects, improved support for right to left and mixed + direction text, and enhancements to forms for improved + accessibility for people with disabilities. + + Draft: $Date: 1998-07-25 00:00:22 $ + + Authors: + Dave Raggett <dsr@w3.org> + Arnaud Le Hors <lehors@w3.org> + Ian Jacobs <ij@w3.org> + + Further information about HTML 4.0 is available at: + + http://www.w3.org/TR/REC-html40 +--> +<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.0 Transitional//EN" + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" + "http://www.w3.org/TR/REC-html40/loose.dtd"> + <html> + <head> + ... + </head> + <body> + ... + </body> + </html> + + The URI used as a system identifier with the public identifier allows + the user agent to download the DTD and entity sets as needed. + + The FPI for the Strict HTML 4.0 DTD is: + + "-//W3C//DTD HTML 4.0//EN" + + and its URI is: + + http://www.w3.org/TR/REC-html40/strict.dtd + + Authors should use the Strict DTD unless they need the + presentation control for user agents that don't (adequately) + support style sheets. + + If you are writing a document that includes frames, use + the following FPI: + + "-//W3C//DTD HTML 4.0 Frameset//EN" + + with the URI: + + http://www.w3.org/TR/REC-html40/frameset.dtd + + The following URIs are supported in relation to HTML 4.0 + + "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD) + "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD) + "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD) + "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities) + "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities) + "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities) + + These URIs point to the latest version of each file. To reference + this specific revision use the following URIs: + + "http://www.w3.org/TR/REC-html40-971218/strict.dtd" + "http://www.w3.org/TR/REC-html40-971218/loose.dtd" + "http://www.w3.org/TR/REC-html40-971218/frameset.dtd" + "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent" + "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent" + "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent" + +--> + +<!--================== Imported Names ====================================--> + +<!ENTITY % ContentType "CDATA" + -- media type, as per [RFC2045] + --> + +<!ENTITY % ContentTypes "CDATA" + -- comma-separated list of media types, as per [RFC2045] + --> + +<!ENTITY % Charset "CDATA" + -- a character encoding, as per [RFC2045] + --> + +<!ENTITY % Charsets "CDATA" + -- a space separated list of character encodings, as per [RFC2045] + --> + +<!ENTITY % LanguageCode "NAME" + -- a language code, as per [RFC1766] + --> + +<!ENTITY % Character "CDATA" + -- a single character from [ISO10646] + --> + +<!ENTITY % LinkTypes "CDATA" + -- space-separated list of link types + --> + +<!ENTITY % MediaDesc "CDATA" + -- single or comma-separated list of media descriptors + --> + +<!ENTITY % URI "CDATA" + -- a Uniform Resource Identifier, + see [URI] + --> + +<!ENTITY % Datetime "CDATA" -- date and time information. ISO date format --> + + +<!ENTITY % Script "CDATA" -- script expression --> + +<!ENTITY % StyleSheet "CDATA" -- style sheet data --> + +<!ENTITY % FrameTarget "CDATA" -- render in this frame --> + + +<!ENTITY % Text "CDATA"> + + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<!ENTITY % preformatted "PRE"> + +<!ENTITY % Color "CDATA" -- a color using sRGB: #RRGGBB as Hex values --> + +<!-- There are also 16 widely known color names with their sRGB values: + + Black = #000000 Green = #008000 + Silver = #C0C0C0 Lime = #00FF00 + Gray = #808080 Olive = #808000 + White = #FFFFFF Yellow = #FFFF00 + Maroon = #800000 Navy = #000080 + Red = #FF0000 Blue = #0000FF + Purple = #800080 Teal = #008080 + Fuchsia= #FF00FF Aqua = #00FFFF + --> + +<!ENTITY % bodycolors " + bgcolor %Color; #IMPLIED -- document background color -- + text %Color; #IMPLIED -- document text color -- + link %Color; #IMPLIED -- color of links -- + vlink %Color; #IMPLIED -- color of visited links -- + alink %Color; #IMPLIED -- color of selected links -- + "> + +<!--================ Character mnemonic entities =========================--> + +<!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin1//EN//HTML" + "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"> +%HTMLlat1; + +<!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols//EN//HTML" + "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"> +%HTMLsymbol; + +<!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special//EN//HTML" + "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"> +%HTMLspecial; +<!--=================== Generic Attributes ===============================--> + +<!ENTITY % coreattrs + "id ID #IMPLIED -- document-wide unique id -- + class CDATA #IMPLIED -- space separated list of classes -- + style %StyleSheet; #IMPLIED -- associated style info -- + title %Text; #IMPLIED -- advisory title/amplification --" + > + +<!ENTITY % i18n + "lang %LanguageCode; #IMPLIED -- language code -- + dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --" + > + +<!ENTITY % events + "onclick %Script; #IMPLIED -- a pointer button was clicked -- + ondblclick %Script; #IMPLIED -- a pointer button was double clicked-- + onmousedown %Script; #IMPLIED -- a pointer button was pressed down -- + onmouseup %Script; #IMPLIED -- a pointer button was released -- + onmouseover %Script; #IMPLIED -- a pointer was moved onto -- + onmousemove %Script; #IMPLIED -- a pointer was moved within -- + onmouseout %Script; #IMPLIED -- a pointer was moved away -- + onkeypress %Script; #IMPLIED -- a key was pressed and released -- + onkeydown %Script; #IMPLIED -- a key was pressed down -- + onkeyup %Script; #IMPLIED -- a key was released --" + > + +<!-- Reserved Feature Switch --> +<!ENTITY % HTML.Reserved "IGNORE"> + +<!-- The following attributes are reserved for possible future use --> +<![ %HTML.Reserved; [ +<!ENTITY % reserved + "datasrc %URI; #IMPLIED -- a single or tabular Data Source -- + datafld CDATA #IMPLIED -- the property or column name -- + dataformatas (plaintext|html) plaintext -- text or html --" + > +]]> + +<!ENTITY % reserved ""> + +<!ENTITY % attrs "%coreattrs; %i18n; %events;"> + +<!ENTITY % align "align (left|center|right|justify) #IMPLIED" + -- default is left for ltr paragraphs, right for rtl -- + > + +<!--=================== Text Markup ======================================--> + +<!ENTITY % fontstyle + "TT | I | B | U | S | STRIKE | BIG | SMALL"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | + SAMP | KBD | VAR | CITE | ABBR | ACRONYM" > + +<!ENTITY % special + "A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT | + MAP | Q | SUB | SUP | SPAN | BDO | IFRAME"> + +<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON"> + +<!-- %inline; covers inline or "text-level" elements --> +<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;"> + +<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*> +<!ATTLIST (%fontstyle;|%phrase;) + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript --> +<!ATTLIST (SUB|SUP) + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT SPAN - - (%inline;)* -- generic language/style container --> +<!ATTLIST SPAN + %attrs; -- %coreattrs, %i18n, %events -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride --> +<!ATTLIST BDO + %coreattrs; -- id, class, style, title -- + lang %LanguageCode; #IMPLIED -- language code -- + dir (ltr|rtl) #REQUIRED -- directionality -- + > + +<!ELEMENT BASEFONT - O EMPTY -- base font size --> +<!ATTLIST BASEFONT + id ID #IMPLIED -- document-wide unique id -- + size CDATA #REQUIRED -- base font size for FONT elements -- + color %Color; #IMPLIED -- text color -- + face CDATA #IMPLIED -- comma separated list of font names -- + > + +<!ELEMENT FONT - - (%inline;)* -- local change to font --> +<!ATTLIST FONT + %coreattrs; -- id, class, style, title -- + %i18n; -- lang, dir -- + size CDATA #IMPLIED -- [+|-]nn e.g. size="+1", size="4" -- + color %Color; #IMPLIED -- text color -- + face CDATA #IMPLIED -- comma separated list of font names -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + %coreattrs; -- id, class, style, title -- + clear (left|all|right|none) none -- control of text flow -- + > + +<!--================== HTML content models ===============================--> + +<!-- + HTML has two basic content models: + + %inline; character level elements and text strings + %block; block-like elements e.g. paragraphs and lists +--> + +<!ENTITY % block + "P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | + NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | + TABLE | FIELDSET | ADDRESS"> + +<!ENTITY % flow "%block; | %inline;"> + +<!--=================== Document Body ====================================--> + +<!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- document body --> +<!ATTLIST BODY + %attrs; -- %coreattrs, %i18n, %events -- + onload %Script; #IMPLIED -- the document has been loaded -- + onunload %Script; #IMPLIED -- the document has been removed -- + background %URI; #IMPLIED -- texture tile for document + background -- + %bodycolors; -- bgcolor, text, link, vlink, alink -- + > + +<!ELEMENT ADDRESS - - ((%inline;)|P)* -- information on author --> +<!ATTLIST ADDRESS + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT DIV - - (%flow;)* -- generic language/style container --> +<!ATTLIST DIV + %attrs; -- %coreattrs, %i18n, %events -- + %align; -- align, text alignment -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT CENTER - - (%flow;)* -- shorthand for DIV align=center --> +<!ATTLIST CENTER + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--================== The Anchor Element ================================--> + +<!ENTITY % Shape "(rect|circle|poly|default)"> +<!ENTITY % Coords "CDATA" -- comma separated list of lengths --> + +<!ELEMENT A - - (%inline;)* -(A) -- anchor --> +<!ATTLIST A + %attrs; -- %coreattrs, %i18n, %events -- + charset %Charset; #IMPLIED -- char encoding of linked resource -- + type %ContentType; #IMPLIED -- advisory content type -- + name CDATA #IMPLIED -- named link end -- + href %URI; #IMPLIED -- URI for linked resource -- + hreflang %LanguageCode; #IMPLIED -- language code -- + target %FrameTarget; #IMPLIED -- render in this frame -- + rel %LinkTypes; #IMPLIED -- forward link types -- + rev %LinkTypes; #IMPLIED -- reverse link types -- + accesskey %Character; #IMPLIED -- accessibility key character -- + shape %Shape; rect -- for use with client-side image maps -- + coords %Coords; #IMPLIED -- for use with client-side image maps -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map --> +<!ATTLIST MAP + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #REQUIRED -- for reference by usemap -- + > + +<!ELEMENT AREA - O EMPTY -- client-side image map area --> +<!ATTLIST AREA + %attrs; -- %coreattrs, %i18n, %events -- + shape %Shape; rect -- controls interpretation of coords -- + coords %Coords; #IMPLIED -- comma separated list of lengths -- + href %URI; #IMPLIED -- URI for linked resource -- + target %FrameTarget; #IMPLIED -- render in this frame -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt %Text; #REQUIRED -- short description -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + > + +<!--================== The LINK Element ==================================--> + +<!-- + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head e.g. + start, contents, previous, next, index, end, help + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version (rel=alternate media=print) +--> + +<!ELEMENT LINK - O EMPTY -- a media-independent link --> +<!ATTLIST LINK + %attrs; -- %coreattrs, %i18n, %events -- + charset %Charset; #IMPLIED -- char encoding of linked resource -- + href %URI; #IMPLIED -- URI for linked resource -- + hreflang %LanguageCode; #IMPLIED -- language code -- + type %ContentType; #IMPLIED -- advisory content type -- + rel %LinkTypes; #IMPLIED -- forward link types -- + rev %LinkTypes; #IMPLIED -- reverse link types -- + media %MediaDesc; #IMPLIED -- for rendering on these media -- + target %FrameTarget; #IMPLIED -- render in this frame -- + > + +<!--=================== Images ===========================================--> + +<!-- Length defined in strict DTD for cellpadding/cellspacing --> +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative --> + +<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength --> + +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)" -- center? --> + +<!-- To avoid problems with text-only UAs as well as + to make image content understandable and navigable + to users of non-visual UAs, you need to provide + a description with ALT, and avoid server-side image maps --> +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %attrs; -- %coreattrs, %i18n, %events -- + src %URI; #REQUIRED -- URI of image to embed -- + alt %Text; #REQUIRED -- short description -- + longdesc %URI; #IMPLIED -- link to long description + (complements alt) -- + height %Length; #IMPLIED -- override height -- + width %Length; #IMPLIED -- override width -- + usemap %URI; #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server-side image map -- + align %IAlign; #IMPLIED -- vertical or horizontal alignment -- + border %Length; #IMPLIED -- link border width -- + hspace %Pixels; #IMPLIED -- horizontal gutter -- + vspace %Pixels; #IMPLIED -- vertical gutter -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--==================== OBJECT ======================================--> +<!-- + OBJECT is used to embed objects as part of HTML pages + PARAM elements should precede other content. SGML mixed content + model technicality precludes specifying this formally ... +--> + +<!ELEMENT OBJECT - - (PARAM | %flow;)* + -- generic embedded object --> +<!ATTLIST OBJECT + %attrs; -- %coreattrs, %i18n, %events -- + declare (declare) #IMPLIED -- declare but don't instantiate flag -- + classid %URI; #IMPLIED -- identifies an implementation -- + codebase %URI; #IMPLIED -- base URI for classid, data, archive-- + data %URI; #IMPLIED -- reference to object's data -- + type %ContentType; #IMPLIED -- content type for data -- + codetype %ContentType; #IMPLIED -- content type for code -- + archive %URI; #IMPLIED -- space separated archive list -- + standby %Text; #IMPLIED -- message to show while loading -- + height %Length; #IMPLIED -- override height -- + width %Length; #IMPLIED -- override width -- + usemap %URI; #IMPLIED -- use client-side image map -- + name CDATA #IMPLIED -- submit as part of form -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + align %IAlign; #IMPLIED -- vertical or horizontal alignment -- + border %Length; #IMPLIED -- link border width -- + hspace %Pixels; #IMPLIED -- horizontal gutter -- + vspace %Pixels; #IMPLIED -- vertical gutter -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT PARAM - O EMPTY -- named property value --> +<!ATTLIST PARAM + id ID #IMPLIED -- document-wide unique id -- + name CDATA #REQUIRED -- property name -- + value CDATA #IMPLIED -- property value -- + valuetype (DATA|REF|OBJECT) DATA -- How to interpret value -- + type %ContentType; #IMPLIED -- content type for value + when valuetype=ref -- + > + +<!--=================== Java APPLET ==================================--> +<!-- + One of code or object attributes must be present. + Place PARAM elements before other content. +--> +<!ELEMENT APPLET - - (PARAM | %flow;)* -- Java applet --> +<!ATTLIST APPLET + %coreattrs; -- id, class, style, title -- + codebase %URI; #IMPLIED -- optional base URI for applet -- + archive CDATA #IMPLIED -- comma separated archive list -- + code CDATA #IMPLIED -- applet class file -- + object CDATA #IMPLIED -- serialized applet file -- + alt %Text; #IMPLIED -- short description -- + name CDATA #IMPLIED -- allows applets to find each other -- + width %Length; #REQUIRED -- initial width -- + height %Length; #REQUIRED -- initial height -- + align %IAlign; #IMPLIED -- vertical or horizontal alignment -- + hspace %Pixels; #IMPLIED -- horizontal gutter -- + vspace %Pixels; #IMPLIED -- vertical gutter -- + > + +<!--=================== Horizontal Rule ==================================--> + +<!ELEMENT HR - O EMPTY -- horizontal rule --> +<!ATTLIST HR + %coreattrs; -- id, class, style, title -- + %events; + align (left|center|right) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels; #IMPLIED + width %Length; #IMPLIED + > + +<!--=================== Paragraphs =======================================--> + +<!ELEMENT P - O (%inline;)* -- paragraph --> +<!ATTLIST P + %attrs; -- %coreattrs, %i18n, %events -- + %align; -- align, text alignment -- + > + +<!--=================== Headings =========================================--> + +<!-- + There are six levels of headings from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT (%heading;) - - (%inline;)* -- heading --> +<!ATTLIST (%heading;) + %attrs; -- %coreattrs, %i18n, %events -- + %align; -- align, text alignment -- + > + +<!--=================== Preformatted Text ================================--> + +<!-- excludes markup for images and changes in font size --> +<!ENTITY % pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT"> + +<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text --> +<!ATTLIST PRE + %attrs; -- %coreattrs, %i18n, %events -- + width NUMBER #IMPLIED + > + +<!--===================== Inline Quotes ==================================--> + +<!ELEMENT Q - - (%inline;)* -- short inline quotation --> +<!ATTLIST Q + %attrs; -- %coreattrs, %i18n, %events -- + cite %URI; #IMPLIED -- URI for source document or msg -- + > + +<!--=================== Block-like Quotes ================================--> + +<!ELEMENT BLOCKQUOTE - - (%flow;)* -- long quotation --> +<!ATTLIST BLOCKQUOTE + %attrs; -- %coreattrs, %i18n, %events -- + cite %URI; #IMPLIED -- URI for source document or msg -- + > + +<!--=================== Inserted/Deleted Text ============================--> + + +<!-- INS/DEL are handled by inclusion on BODY --> +<!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text --> +<!ATTLIST (INS|DEL) + %attrs; -- %coreattrs, %i18n, %events -- + cite %URI; #IMPLIED -- info on reason for change -- + datetime %Datetime; #IMPLIED -- date and time of change -- + > + +<!--=================== Lists ============================================--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)+ -- definition list --> +<!ATTLIST DL + %attrs; -- %coreattrs, %i18n, %events -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT DT - O (%inline;)* -- definition term --> +<!ELEMENT DD - O (%flow;)* -- definition description --> +<!ATTLIST (DT|DD) + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!-- Ordered lists (OL) Numbering style + + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: "(1|a|A|i|I)" --> + +<!ELEMENT OL - - (LI)+ -- ordered list --> +<!ATTLIST OL + %attrs; -- %coreattrs, %i18n, %events -- + type %OLStyle; #IMPLIED -- numbering style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + start NUMBER #IMPLIED -- starting sequence number -- + > + +<!-- Unordered Lists (UL) bullet styles --> +<!ENTITY % ULStyle "(disc|square|circle)"> + +<!ELEMENT UL - - (LI)+ -- unordered list --> +<!ATTLIST UL + %attrs; -- %coreattrs, %i18n, %events -- + type %ULStyle; #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- directory list, menu list --> +<!ATTLIST DIR + %attrs; -- %coreattrs, %i18n, %events -- + compact (compact) #IMPLIED + > +<!ATTLIST MENU + %attrs; -- %coreattrs, %i18n, %events -- + compact (compact) #IMPLIED + > + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle;|%OLStyle;)" --> + +<!ELEMENT LI - O (%flow;)* -- list item --> +<!ATTLIST LI + %attrs; -- %coreattrs, %i18n, %events -- + type %LIStyle; #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + > + +<!--================ Forms ===============================================--> +<!ELEMENT FORM - - (%flow;)* -(FORM) -- interactive form --> +<!ATTLIST FORM + %attrs; -- %coreattrs, %i18n, %events -- + action %URI; #REQUIRED -- server-side form handler -- + method (GET|POST) GET -- HTTP method used to submit the form-- + enctype %ContentType; "application/x-www-form-urlencoded" + onsubmit %Script; #IMPLIED -- the form was submitted -- + onreset %Script; #IMPLIED -- the form was reset -- + target %FrameTarget; #IMPLIED -- render in this frame -- + accept-charset %Charsets; #IMPLIED -- list of supported charsets -- + > + +<!-- Each label must not contain more than ONE field --> +<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text --> +<!ATTLIST LABEL + %attrs; -- %coreattrs, %i18n, %events -- + for IDREF #IMPLIED -- matches field ID value -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + > + +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + FILE | HIDDEN | IMAGE | BUTTON)" + > + +<!-- attribute name required for all but submit & reset --> +<!ELEMENT INPUT - O EMPTY -- form control --> +<!ATTLIST INPUT + %attrs; -- %coreattrs, %i18n, %events -- + type %InputType; TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- submit as part of form -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + readonly (readonly) #IMPLIED -- for text and passwd -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED -- max chars for text fields -- + src %URI; #IMPLIED -- for fields with images -- + alt CDATA #IMPLIED -- short description -- + usemap %URI; #IMPLIED -- use client-side image map -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + onselect %Script; #IMPLIED -- some text was selected -- + onchange %Script; #IMPLIED -- the element value was changed -- + accept %ContentTypes; #IMPLIED -- list of MIME types for file upload -- + align %IAlign; #IMPLIED -- vertical or horizontal alignment -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector --> +<!ATTLIST SELECT + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #IMPLIED -- field name -- + size NUMBER #IMPLIED -- rows visible -- + multiple (multiple) #IMPLIED -- default is single selection -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + onchange %Script; #IMPLIED -- the element value was changed -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT OPTGROUP - - (OPTION)+ -- option group --> +<!ATTLIST OPTGROUP + %attrs; -- %coreattrs, %i18n, %events -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + label %Text; #REQUIRED -- for use in hierarchical menus -- + > + +<!ELEMENT OPTION - O (#PCDATA) -- selectable choice --> +<!ATTLIST OPTION + %attrs; -- %coreattrs, %i18n, %events -- + selected (selected) #IMPLIED + disabled (disabled) #IMPLIED -- unavailable in this context -- + label %Text; #IMPLIED -- for use in hierarchical menus -- + value CDATA #IMPLIED -- defaults to element content -- + > + +<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field --> +<!ATTLIST TEXTAREA + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #IMPLIED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + disabled (disabled) #IMPLIED -- unavailable in this context -- + readonly (readonly) #IMPLIED + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + onselect %Script; #IMPLIED -- some text was selected -- + onchange %Script; #IMPLIED -- the element value was changed -- + %reserved; -- reserved for possible future use -- + > + +<!-- + #PCDATA is to solve the mixed content problem, + per specification only whitespace is allowed there! + --> +<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group --> +<!ATTLIST FIELDSET + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend --> +<!ENTITY % LAlign "(top|bottom|left|right)"> + +<!ATTLIST LEGEND + %attrs; -- %coreattrs, %i18n, %events -- + accesskey %Character; #IMPLIED -- accessibility key character -- + align %LAlign; #IMPLIED -- relative to fieldset -- + > + +<!ELEMENT BUTTON - - + (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME) + -- push button --> +<!ATTLIST BUTTON + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #IMPLIED + value CDATA #IMPLIED -- sent to server when submitted -- + type (button|submit|reset) submit -- for use as form button -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + %reserved; -- reserved for possible future use -- + > + +<!--======================= Tables =======================================--> + +<!-- IETF HTML table standard, see [RFC1942] --> + +<!-- + The BORDER attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The FRAME attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the VALIGN attribute. + + The value "border" is included for backwards compatibility with + <TABLE BORDER> which yields frame=border and border=implied + For <TABLE BORDER=1> you get border=1 and frame=implied. In this + case, it is appropriate to treat this as frame=border for backwards + compatibility with deployed browsers. +--> +<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + +<!-- + The RULES attribute defines which rules to draw between cells: + + If RULES is absent then assume: + "none" if BORDER is absent or BORDER=0 otherwise "all" +--> + +<!ENTITY % TRules "(none | groups | rows | cols | all)"> + +<!-- horizontal placement of table relative to document --> +<!ENTITY % TAlign "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cellhalign + "align (left|center|right|justify|char) #IMPLIED + char %Character; #IMPLIED -- alignment char, e.g. char=':' -- + charoff %Length; #IMPLIED -- offset for alignment char --" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cellvalign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT TABLE - - + (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> +<!ELEMENT CAPTION - - (%inline;)* -- table caption --> +<!ELEMENT THEAD - O (TR)+ -- table header --> +<!ELEMENT TFOOT - O (TR)+ -- table footer --> +<!ELEMENT TBODY O O (TR)+ -- table body --> +<!ELEMENT COLGROUP - O (col)* -- table column group --> +<!ELEMENT COL - O EMPTY -- table column --> +<!ELEMENT TR - O (TH|TD)+ -- table row --> +<!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell--> + +<!ATTLIST TABLE -- table element -- + %attrs; -- %coreattrs, %i18n, %events -- + summary %Text; #IMPLIED -- purpose/structure for speech output-- + width %Length; #IMPLIED -- table width -- + border %Pixels; #IMPLIED -- controls frame width around table -- + frame %TFrame; #IMPLIED -- which parts of frame to render -- + rules %TRules; #IMPLIED -- rulings between rows and cols -- + cellspacing %Length; #IMPLIED -- spacing between cells -- + cellpadding %Length; #IMPLIED -- spacing within cells -- + align %TAlign; #IMPLIED -- table position relative to window -- + bgcolor %Color; #IMPLIED -- background color for cells -- + %reserved; -- reserved for possible future use -- + datapagesize CDATA #IMPLIED -- reserved for possible future use -- + > + +<!ENTITY % CAlign "(top|bottom|left|right)"> + +<!ATTLIST CAPTION + %attrs; -- %coreattrs, %i18n, %events -- + align %CAlign; #IMPLIED -- relative to table -- + > + +<!-- +COLGROUP groups a set of COL elements. It allows you to group +several semantically related columns together. +--> +<!ATTLIST COLGROUP + %attrs; -- %coreattrs, %i18n, %events -- + span NUMBER 1 -- default number of columns in group -- + width %MultiLength; #IMPLIED -- default width for enclosed COLs -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + +<!-- + COL elements define the alignment properties for cells in + one or more columns. + + The WIDTH attribute specifies the width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + + The SPAN attribute causes the attributes of one + COL element to apply to more than one column. +--> +<!ATTLIST COL -- column groups and properties -- + %attrs; -- %coreattrs, %i18n, %events -- + span NUMBER 1 -- COL attributes affect N columns -- + width %MultiLength; #IMPLIED -- column width specification -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + +<!-- + Use THEAD to duplicate headers when breaking table + across page boundaries, or for static headers when + TBODY sections are rendered in scrolling panel. + + Use TFOOT to duplicate footers when breaking table + across page boundaries, or for static footers when + TBODY sections are rendered in scrolling panel. + + Use multiple TBODY sections when rules are needed + between groups of table rows. +--> +<!ATTLIST (THEAD|TBODY|TFOOT) -- table section -- + %attrs; -- %coreattrs, %i18n, %events -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + +<!ATTLIST TR -- table row -- + %attrs; -- %coreattrs, %i18n, %events -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + bgcolor %Color; #IMPLIED -- background color for row -- + > + + +<!-- Scope is simpler than axes attribute for common tables --> +<!ENTITY % Scope "(row|col|rowgroup|colgroup)"> + +<!-- TH is for headers, TD for data, but for cells acting as both use TD --> +<!ATTLIST (TH|TD) -- header or data cell -- + %attrs; -- %coreattrs, %i18n, %events -- + abbr %Text; #IMPLIED -- abbreviation for header cell -- + axis CDATA #IMPLIED -- names groups of related headers-- + headers IDREFS #IMPLIED -- list of id's for header cells -- + scope %Scope; #IMPLIED -- scope covered by header cells -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + bgcolor %Color; #IMPLIED -- cell background color -- + width %Pixels; #IMPLIED -- width for cell -- + height %Pixels; #IMPLIED -- height for cell -- + > + +<!--================== Document Frames ===================================--> + +<!-- + The content model for HTML documents depends on whether the HEAD is + followed by a FRAMESET or BODY element. The widespread omission of + the BODY start tag makes it impractical to define the content model + without the use of a marked section. +--> + +<!-- Feature Switch for frameset documents --> +<!ENTITY % HTML.Frameset "IGNORE"> + +<![ %HTML.Frameset; [ +<!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- window subdivision--> +<!ATTLIST FRAMESET + %coreattrs; -- id, class, style, title -- + rows %MultiLengths; #IMPLIED -- list of lengths, + default: 100% (1 row) -- + cols %MultiLengths; #IMPLIED -- list of lengths, + default: 100% (1 col) -- + onload %Script; #IMPLIED -- all the frames have been loaded -- + onunload %Script; #IMPLIED -- all the frames have been removed -- + > +]]> + +<![ %HTML.Frameset; [ +<!-- reserved frame names start with "_" otherwise starts with letter --> +<!ELEMENT FRAME - O EMPTY -- subwindow --> +<!ATTLIST FRAME + %coreattrs; -- id, class, style, title -- + longdesc %URI; #IMPLIED -- link to long description + (complements title) -- + name CDATA #IMPLIED -- name of frame for targetting -- + src %URI; #IMPLIED -- source of frame content -- + frameborder (1|0) 1 -- request frame borders? -- + marginwidth %Pixels; #IMPLIED -- margin widths in pixels -- + marginheight %Pixels; #IMPLIED -- margin height in pixels -- + noresize (noresize) #IMPLIED -- allow users to resize frames? -- + scrolling (yes|no|auto) auto -- scrollbar or none -- + > +]]> + +<!ELEMENT IFRAME - - (%flow;)* -- inline subwindow --> +<!ATTLIST IFRAME + %coreattrs; -- id, class, style, title -- + longdesc %URI; #IMPLIED -- link to long description + (complements title) -- + name CDATA #IMPLIED -- name of frame for targetting -- + src %URI; #IMPLIED -- source of frame content -- + frameborder (1|0) 1 -- request frame borders? -- + marginwidth %Pixels; #IMPLIED -- margin widths in pixels -- + marginheight %Pixels; #IMPLIED -- margin height in pixels -- + scrolling (yes|no|auto) auto -- scrollbar or none -- + align %IAlign; #IMPLIED -- vertical or horizontal alignment -- + height %Length; #IMPLIED -- frame height -- + width %Length; #IMPLIED -- frame width -- + > + +<![ %HTML.Frameset; [ +<!ENTITY % noframes.content "(BODY) -(NOFRAMES)"> +]]> + +<!ENTITY % noframes.content "(%flow;)*"> + +<!ELEMENT NOFRAMES - - %noframes.content; + -- alternate content container for non frame-based rendering --> +<!ATTLIST NOFRAMES + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--================ Document Head =======================================--> +<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" --> +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head --> +<!ATTLIST HEAD + %i18n; -- lang, dir -- + profile %URI; #IMPLIED -- named dictionary of meta info -- + > + +<!-- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. Exactly one title is required per document. + --> +<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title --> +<!ATTLIST TITLE %i18n> + +<!ELEMENT ISINDEX - O EMPTY -- single line prompt --> +<!ATTLIST ISINDEX + %coreattrs; -- id, class, style, title -- + %i18n; -- lang, dir -- + prompt %Text; #IMPLIED -- prompt message --> + +<!ELEMENT BASE - O EMPTY -- document base URI --> +<!ATTLIST BASE + href %URI; #IMPLIED -- URI that acts as base URI -- + target %FrameTarget; #IMPLIED -- render in this frame -- + > + +<!ELEMENT META - O EMPTY -- generic metainformation --> +<!ATTLIST META + %i18n; -- lang, dir, for use with content -- + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + scheme CDATA #IMPLIED -- select form of content -- + > + +<!ELEMENT STYLE - - %StyleSheet -- style info --> +<!ATTLIST STYLE + %i18n; -- lang, dir, for use with title -- + type %ContentType; #REQUIRED -- content type of style language -- + media %MediaDesc; #IMPLIED -- designed for use with these media -- + title %Text; #IMPLIED -- advisory title -- + > + +<!ELEMENT SCRIPT - - %Script; -- script statements --> +<!ATTLIST SCRIPT + charset %Charset; #IMPLIED -- char encoding of linked resource -- + type %ContentType; #REQUIRED -- content type of script language -- + language CDATA #IMPLIED -- predefined script language name -- + src %URI; #IMPLIED -- URI for an external script -- + defer (defer) #IMPLIED -- UA may defer execution of script -- + event CDATA #IMPLIED -- reserved for possible future use -- + for %URI; #IMPLIED -- reserved for possible future use -- + > + +<!ELEMENT NOSCRIPT - - (%flow;)* + -- alternate content container for non script-based rendering --> +<!ATTLIST NOSCRIPT + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--================ Document Structure ==================================--> +<!ENTITY % version "version CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Frameset; [ +<!ENTITY % html.content "HEAD, FRAMESET"> +]]> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content;) -- document root element --> +<!ATTLIST HTML + %i18n; -- lang, dir -- + %version; + > diff --git a/htdocs/sgml-lib/REC-html40-971218/strict.dtd b/htdocs/sgml-lib/REC-html40-971218/strict.dtd new file mode 100644 index 0000000..715c35e --- /dev/null +++ b/htdocs/sgml-lib/REC-html40-971218/strict.dtd @@ -0,0 +1,873 @@ +<!-- + This is HTML 4.0 Strict DTD, which excludes the presentation + attributes and elements that W3C expects to phase out as + support for style sheets matures. Authors should use the Strict + DTD when possible, but may use the Transitional DTD when support + for presentation attribute and elements is required. + + HTML 4.0 includes mechanisms for style sheets, scripting, + embedding objects, improved support for right to left and mixed + direction text, and enhancements to forms for improved + accessibility for people with disabilities. + + Draft: $Date: 1998-07-25 00:00:22 $ + + Authors: + Dave Raggett <dsr@w3.org> + Arnaud Le Hors <lehors@w3.org> + Ian Jacobs <ij@w3.org> + + Further information about HTML 4.0 is available at: + + http://www.w3.org/TR/REC-html40 +--> +<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.0//EN" + -- + Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" + "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html> + <head> + ... + </head> + <body> + ... + </body> + </html> + + The URI used as a system identifier with the public identifier allows + the user agent to download the DTD and entity sets as needed. + + The FPI for the Transitional HTML 4.0 DTD is: + + "-//W3C//DTD HTML 4.0 Transitional//EN + + and its URI is: + + http://www.w3.org/TR/REC-html40/loose.dtd + + If you are writing a document that includes frames, use + the following FPI: + + "-//W3C//DTD HTML 4.0 Frameset//EN" + + with the URI: + + http://www.w3.org/TR/REC-html40/frameset.dtd + + The following URIs are supported in relation to HTML 4.0 + + "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD) + "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD) + "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD) + "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities) + "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities) + "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities) + + These URIs point to the latest version of each file. To reference + this specific revision use the following URIs: + + "http://www.w3.org/TR/REC-html40-971218/strict.dtd" + "http://www.w3.org/TR/REC-html40-971218/loose.dtd" + "http://www.w3.org/TR/REC-html40-971218/frameset.dtd" + "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent" + "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent" + "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent" + +--> + +<!--================== Imported Names ====================================--> + +<!ENTITY % ContentType "CDATA" + -- media type, as per [RFC2045] + --> + +<!ENTITY % ContentTypes "CDATA" + -- comma-separated list of media types, as per [RFC2045] + --> + +<!ENTITY % Charset "CDATA" + -- a character encoding, as per [RFC2045] + --> + +<!ENTITY % Charsets "CDATA" + -- a space separated list of character encodings, as per [RFC2045] + --> + +<!ENTITY % LanguageCode "NAME" + -- a language code, as per [RFC1766] + --> + +<!ENTITY % Character "CDATA" + -- a single character from [ISO10646] + --> + +<!ENTITY % LinkTypes "CDATA" + -- space-separated list of link types + --> + +<!ENTITY % MediaDesc "CDATA" + -- single or comma-separated list of media descriptors + --> + +<!ENTITY % URI "CDATA" + -- a Uniform Resource Identifier, + see [URI] + --> + +<!ENTITY % Datetime "CDATA" -- date and time information. ISO date format --> + + +<!ENTITY % Script "CDATA" -- script expression --> + +<!ENTITY % StyleSheet "CDATA" -- style sheet data --> + + + +<!ENTITY % Text "CDATA"> + + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL"> + +<!ENTITY % preformatted "PRE"> + + +<!--================ Character mnemonic entities =========================--> + +<!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin1//EN//HTML" + "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"> +%HTMLlat1; + +<!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols//EN//HTML" + "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"> +%HTMLsymbol; + +<!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special//EN//HTML" + "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"> +%HTMLspecial; +<!--=================== Generic Attributes ===============================--> + +<!ENTITY % coreattrs + "id ID #IMPLIED -- document-wide unique id -- + class CDATA #IMPLIED -- space separated list of classes -- + style %StyleSheet; #IMPLIED -- associated style info -- + title %Text; #IMPLIED -- advisory title/amplification --" + > + +<!ENTITY % i18n + "lang %LanguageCode; #IMPLIED -- language code -- + dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --" + > + +<!ENTITY % events + "onclick %Script; #IMPLIED -- a pointer button was clicked -- + ondblclick %Script; #IMPLIED -- a pointer button was double clicked-- + onmousedown %Script; #IMPLIED -- a pointer button was pressed down -- + onmouseup %Script; #IMPLIED -- a pointer button was released -- + onmouseover %Script; #IMPLIED -- a pointer was moved onto -- + onmousemove %Script; #IMPLIED -- a pointer was moved within -- + onmouseout %Script; #IMPLIED -- a pointer was moved away -- + onkeypress %Script; #IMPLIED -- a key was pressed and released -- + onkeydown %Script; #IMPLIED -- a key was pressed down -- + onkeyup %Script; #IMPLIED -- a key was released --" + > + +<!-- Reserved Feature Switch --> +<!ENTITY % HTML.Reserved "IGNORE"> + +<!-- The following attributes are reserved for possible future use --> +<![ %HTML.Reserved; [ +<!ENTITY % reserved + "datasrc %URI; #IMPLIED -- a single or tabular Data Source -- + datafld CDATA #IMPLIED -- the property or column name -- + dataformatas (plaintext|html) plaintext -- text or html --" + > +]]> + +<!ENTITY % reserved ""> + +<!ENTITY % attrs "%coreattrs; %i18n; %events;"> + + +<!--=================== Text Markup ======================================--> + +<!ENTITY % fontstyle + "TT | I | B | BIG | SMALL"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | + SAMP | KBD | VAR | CITE | ABBR | ACRONYM" > + +<!ENTITY % special + "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO"> + +<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON"> + +<!-- %inline; covers inline or "text-level" elements --> +<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;"> + +<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*> +<!ATTLIST (%fontstyle;|%phrase;) + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript --> +<!ATTLIST (SUB|SUP) + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT SPAN - - (%inline;)* -- generic language/style container --> +<!ATTLIST SPAN + %attrs; -- %coreattrs, %i18n, %events -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride --> +<!ATTLIST BDO + %coreattrs; -- id, class, style, title -- + lang %LanguageCode; #IMPLIED -- language code -- + dir (ltr|rtl) #REQUIRED -- directionality -- + > + + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + %coreattrs; -- id, class, style, title -- + > + +<!--================== HTML content models ===============================--> + +<!-- + HTML has two basic content models: + + %inline; character level elements and text strings + %block; block-like elements e.g. paragraphs and lists +--> + +<!ENTITY % block + "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT | + BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS"> + +<!ENTITY % flow "%block; | %inline;"> + +<!--=================== Document Body ====================================--> + +<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body --> +<!ATTLIST BODY + %attrs; -- %coreattrs, %i18n, %events -- + onload %Script; #IMPLIED -- the document has been loaded -- + onunload %Script; #IMPLIED -- the document has been removed -- + > + +<!ELEMENT ADDRESS - - (%inline;)* -- information on author --> +<!ATTLIST ADDRESS + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT DIV - - (%flow;)* -- generic language/style container --> +<!ATTLIST DIV + %attrs; -- %coreattrs, %i18n, %events -- + %reserved; -- reserved for possible future use -- + > + + +<!--================== The Anchor Element ================================--> + +<!ENTITY % Shape "(rect|circle|poly|default)"> +<!ENTITY % Coords "CDATA" -- comma separated list of lengths --> + +<!ELEMENT A - - (%inline;)* -(A) -- anchor --> +<!ATTLIST A + %attrs; -- %coreattrs, %i18n, %events -- + charset %Charset; #IMPLIED -- char encoding of linked resource -- + type %ContentType; #IMPLIED -- advisory content type -- + name CDATA #IMPLIED -- named link end -- + href %URI; #IMPLIED -- URI for linked resource -- + hreflang %LanguageCode; #IMPLIED -- language code -- + rel %LinkTypes; #IMPLIED -- forward link types -- + rev %LinkTypes; #IMPLIED -- reverse link types -- + accesskey %Character; #IMPLIED -- accessibility key character -- + shape %Shape; rect -- for use with client-side image maps -- + coords %Coords; #IMPLIED -- for use with client-side image maps -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map --> +<!ATTLIST MAP + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #REQUIRED -- for reference by usemap -- + > + +<!ELEMENT AREA - O EMPTY -- client-side image map area --> +<!ATTLIST AREA + %attrs; -- %coreattrs, %i18n, %events -- + shape %Shape; rect -- controls interpretation of coords -- + coords %Coords; #IMPLIED -- comma separated list of lengths -- + href %URI; #IMPLIED -- URI for linked resource -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt %Text; #REQUIRED -- short description -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + > + +<!--================== The LINK Element ==================================--> + +<!-- + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head e.g. + start, contents, previous, next, index, end, help + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version (rel=alternate media=print) +--> + +<!ELEMENT LINK - O EMPTY -- a media-independent link --> +<!ATTLIST LINK + %attrs; -- %coreattrs, %i18n, %events -- + charset %Charset; #IMPLIED -- char encoding of linked resource -- + href %URI; #IMPLIED -- URI for linked resource -- + hreflang %LanguageCode; #IMPLIED -- language code -- + type %ContentType; #IMPLIED -- advisory content type -- + rel %LinkTypes; #IMPLIED -- forward link types -- + rev %LinkTypes; #IMPLIED -- reverse link types -- + media %MediaDesc; #IMPLIED -- for rendering on these media -- + > + +<!--=================== Images ===========================================--> + +<!-- Length defined in strict DTD for cellpadding/cellspacing --> +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative --> + +<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength --> + +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + + +<!-- To avoid problems with text-only UAs as well as + to make image content understandable and navigable + to users of non-visual UAs, you need to provide + a description with ALT, and avoid server-side image maps --> +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %attrs; -- %coreattrs, %i18n, %events -- + src %URI; #REQUIRED -- URI of image to embed -- + alt %Text; #REQUIRED -- short description -- + longdesc %URI; #IMPLIED -- link to long description + (complements alt) -- + height %Length; #IMPLIED -- override height -- + width %Length; #IMPLIED -- override width -- + usemap %URI; #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server-side image map -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--==================== OBJECT ======================================--> +<!-- + OBJECT is used to embed objects as part of HTML pages + PARAM elements should precede other content. SGML mixed content + model technicality precludes specifying this formally ... +--> + +<!ELEMENT OBJECT - - (PARAM | %flow;)* + -- generic embedded object --> +<!ATTLIST OBJECT + %attrs; -- %coreattrs, %i18n, %events -- + declare (declare) #IMPLIED -- declare but don't instantiate flag -- + classid %URI; #IMPLIED -- identifies an implementation -- + codebase %URI; #IMPLIED -- base URI for classid, data, archive-- + data %URI; #IMPLIED -- reference to object's data -- + type %ContentType; #IMPLIED -- content type for data -- + codetype %ContentType; #IMPLIED -- content type for code -- + archive %URI; #IMPLIED -- space separated archive list -- + standby %Text; #IMPLIED -- message to show while loading -- + height %Length; #IMPLIED -- override height -- + width %Length; #IMPLIED -- override width -- + usemap %URI; #IMPLIED -- use client-side image map -- + name CDATA #IMPLIED -- submit as part of form -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT PARAM - O EMPTY -- named property value --> +<!ATTLIST PARAM + id ID #IMPLIED -- document-wide unique id -- + name CDATA #REQUIRED -- property name -- + value CDATA #IMPLIED -- property value -- + valuetype (DATA|REF|OBJECT) DATA -- How to interpret value -- + type %ContentType; #IMPLIED -- content type for value + when valuetype=ref -- + > + + +<!--=================== Horizontal Rule ==================================--> + +<!ELEMENT HR - O EMPTY -- horizontal rule --> +<!ATTLIST HR + %coreattrs; -- id, class, style, title -- + %events; + > + +<!--=================== Paragraphs =======================================--> + +<!ELEMENT P - O (%inline;)* -- paragraph --> +<!ATTLIST P + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--=================== Headings =========================================--> + +<!-- + There are six levels of headings from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT (%heading;) - - (%inline;)* -- heading --> +<!ATTLIST (%heading;) + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--=================== Preformatted Text ================================--> + +<!-- excludes markup for images and changes in font size --> +<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP"> + +<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text --> +<!ATTLIST PRE + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--===================== Inline Quotes ==================================--> + +<!ELEMENT Q - - (%inline;)* -- short inline quotation --> +<!ATTLIST Q + %attrs; -- %coreattrs, %i18n, %events -- + cite %URI; #IMPLIED -- URI for source document or msg -- + > + +<!--=================== Block-like Quotes ================================--> + +<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation --> +<!ATTLIST BLOCKQUOTE + %attrs; -- %coreattrs, %i18n, %events -- + cite %URI; #IMPLIED -- URI for source document or msg -- + > + +<!--=================== Inserted/Deleted Text ============================--> + + +<!-- INS/DEL are handled by inclusion on BODY --> +<!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text --> +<!ATTLIST (INS|DEL) + %attrs; -- %coreattrs, %i18n, %events -- + cite %URI; #IMPLIED -- info on reason for change -- + datetime %Datetime; #IMPLIED -- date and time of change -- + > + +<!--=================== Lists ============================================--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)+ -- definition list --> +<!ATTLIST DL + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT DT - O (%inline;)* -- definition term --> +<!ELEMENT DD - O (%flow;)* -- definition description --> +<!ATTLIST (DT|DD) + %attrs; -- %coreattrs, %i18n, %events -- + > + + +<!ELEMENT OL - - (LI)+ -- ordered list --> +<!ATTLIST OL + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!-- Unordered Lists (UL) bullet styles --> +<!ELEMENT UL - - (LI)+ -- unordered list --> +<!ATTLIST UL + %attrs; -- %coreattrs, %i18n, %events -- + > + + + +<!ELEMENT LI - O (%flow;)* -- list item --> +<!ATTLIST LI + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--================ Forms ===============================================--> +<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form --> +<!ATTLIST FORM + %attrs; -- %coreattrs, %i18n, %events -- + action %URI; #REQUIRED -- server-side form handler -- + method (GET|POST) GET -- HTTP method used to submit the form-- + enctype %ContentType; "application/x-www-form-urlencoded" + onsubmit %Script; #IMPLIED -- the form was submitted -- + onreset %Script; #IMPLIED -- the form was reset -- + accept-charset %Charsets; #IMPLIED -- list of supported charsets -- + > + +<!-- Each label must not contain more than ONE field --> +<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text --> +<!ATTLIST LABEL + %attrs; -- %coreattrs, %i18n, %events -- + for IDREF #IMPLIED -- matches field ID value -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + > + +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + FILE | HIDDEN | IMAGE | BUTTON)" + > + +<!-- attribute name required for all but submit & reset --> +<!ELEMENT INPUT - O EMPTY -- form control --> +<!ATTLIST INPUT + %attrs; -- %coreattrs, %i18n, %events -- + type %InputType; TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- submit as part of form -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + readonly (readonly) #IMPLIED -- for text and passwd -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED -- max chars for text fields -- + src %URI; #IMPLIED -- for fields with images -- + alt CDATA #IMPLIED -- short description -- + usemap %URI; #IMPLIED -- use client-side image map -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + onselect %Script; #IMPLIED -- some text was selected -- + onchange %Script; #IMPLIED -- the element value was changed -- + accept %ContentTypes; #IMPLIED -- list of MIME types for file upload -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector --> +<!ATTLIST SELECT + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #IMPLIED -- field name -- + size NUMBER #IMPLIED -- rows visible -- + multiple (multiple) #IMPLIED -- default is single selection -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + onchange %Script; #IMPLIED -- the element value was changed -- + %reserved; -- reserved for possible future use -- + > + +<!ELEMENT OPTGROUP - - (OPTION)+ -- option group --> +<!ATTLIST OPTGROUP + %attrs; -- %coreattrs, %i18n, %events -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + label %Text; #REQUIRED -- for use in hierarchical menus -- + > + +<!ELEMENT OPTION - O (#PCDATA) -- selectable choice --> +<!ATTLIST OPTION + %attrs; -- %coreattrs, %i18n, %events -- + selected (selected) #IMPLIED + disabled (disabled) #IMPLIED -- unavailable in this context -- + label %Text; #IMPLIED -- for use in hierarchical menus -- + value CDATA #IMPLIED -- defaults to element content -- + > + +<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field --> +<!ATTLIST TEXTAREA + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #IMPLIED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + disabled (disabled) #IMPLIED -- unavailable in this context -- + readonly (readonly) #IMPLIED + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + onselect %Script; #IMPLIED -- some text was selected -- + onchange %Script; #IMPLIED -- the element value was changed -- + %reserved; -- reserved for possible future use -- + > + +<!-- + #PCDATA is to solve the mixed content problem, + per specification only whitespace is allowed there! + --> +<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group --> +<!ATTLIST FIELDSET + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend --> +<!ENTITY % LAlign "(top|bottom|left|right)"> + +<!ATTLIST LEGEND + %attrs; -- %coreattrs, %i18n, %events -- + accesskey %Character; #IMPLIED -- accessibility key character -- + > + +<!ELEMENT BUTTON - - + (%flow;)* -(A|%formctrl;|FORM|FIELDSET) + -- push button --> +<!ATTLIST BUTTON + %attrs; -- %coreattrs, %i18n, %events -- + name CDATA #IMPLIED + value CDATA #IMPLIED -- sent to server when submitted -- + type (button|submit|reset) submit -- for use as form button -- + disabled (disabled) #IMPLIED -- unavailable in this context -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + accesskey %Character; #IMPLIED -- accessibility key character -- + onfocus %Script; #IMPLIED -- the element got the focus -- + onblur %Script; #IMPLIED -- the element lost the focus -- + %reserved; -- reserved for possible future use -- + > + +<!--======================= Tables =======================================--> + +<!-- IETF HTML table standard, see [RFC1942] --> + +<!-- + The BORDER attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The FRAME attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the VALIGN attribute. + + The value "border" is included for backwards compatibility with + <TABLE BORDER> which yields frame=border and border=implied + For <TABLE BORDER=1> you get border=1 and frame=implied. In this + case, it is appropriate to treat this as frame=border for backwards + compatibility with deployed browsers. +--> +<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + +<!-- + The RULES attribute defines which rules to draw between cells: + + If RULES is absent then assume: + "none" if BORDER is absent or BORDER=0 otherwise "all" +--> + +<!ENTITY % TRules "(none | groups | rows | cols | all)"> + +<!-- horizontal placement of table relative to document --> +<!ENTITY % TAlign "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cellhalign + "align (left|center|right|justify|char) #IMPLIED + char %Character; #IMPLIED -- alignment char, e.g. char=':' -- + charoff %Length; #IMPLIED -- offset for alignment char --" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cellvalign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT TABLE - - + (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> +<!ELEMENT CAPTION - - (%inline;)* -- table caption --> +<!ELEMENT THEAD - O (TR)+ -- table header --> +<!ELEMENT TFOOT - O (TR)+ -- table footer --> +<!ELEMENT TBODY O O (TR)+ -- table body --> +<!ELEMENT COLGROUP - O (col)* -- table column group --> +<!ELEMENT COL - O EMPTY -- table column --> +<!ELEMENT TR - O (TH|TD)+ -- table row --> +<!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell--> + +<!ATTLIST TABLE -- table element -- + %attrs; -- %coreattrs, %i18n, %events -- + summary %Text; #IMPLIED -- purpose/structure for speech output-- + width %Length; #IMPLIED -- table width -- + border %Pixels; #IMPLIED -- controls frame width around table -- + frame %TFrame; #IMPLIED -- which parts of frame to render -- + rules %TRules; #IMPLIED -- rulings between rows and cols -- + cellspacing %Length; #IMPLIED -- spacing between cells -- + cellpadding %Length; #IMPLIED -- spacing within cells -- + %reserved; -- reserved for possible future use -- + datapagesize CDATA #IMPLIED -- reserved for possible future use -- + > + +<!ENTITY % CAlign "(top|bottom|left|right)"> + +<!ATTLIST CAPTION + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!-- +COLGROUP groups a set of COL elements. It allows you to group +several semantically related columns together. +--> +<!ATTLIST COLGROUP + %attrs; -- %coreattrs, %i18n, %events -- + span NUMBER 1 -- default number of columns in group -- + width %MultiLength; #IMPLIED -- default width for enclosed COLs -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + +<!-- + COL elements define the alignment properties for cells in + one or more columns. + + The WIDTH attribute specifies the width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + + The SPAN attribute causes the attributes of one + COL element to apply to more than one column. +--> +<!ATTLIST COL -- column groups and properties -- + %attrs; -- %coreattrs, %i18n, %events -- + span NUMBER 1 -- COL attributes affect N columns -- + width %MultiLength; #IMPLIED -- column width specification -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + +<!-- + Use THEAD to duplicate headers when breaking table + across page boundaries, or for static headers when + TBODY sections are rendered in scrolling panel. + + Use TFOOT to duplicate footers when breaking table + across page boundaries, or for static footers when + TBODY sections are rendered in scrolling panel. + + Use multiple TBODY sections when rules are needed + between groups of table rows. +--> +<!ATTLIST (THEAD|TBODY|TFOOT) -- table section -- + %attrs; -- %coreattrs, %i18n, %events -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + +<!ATTLIST TR -- table row -- + %attrs; -- %coreattrs, %i18n, %events -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + + +<!-- Scope is simpler than axes attribute for common tables --> +<!ENTITY % Scope "(row|col|rowgroup|colgroup)"> + +<!-- TH is for headers, TD for data, but for cells acting as both use TD --> +<!ATTLIST (TH|TD) -- header or data cell -- + %attrs; -- %coreattrs, %i18n, %events -- + abbr %Text; #IMPLIED -- abbreviation for header cell -- + axis CDATA #IMPLIED -- names groups of related headers-- + headers IDREFS #IMPLIED -- list of id's for header cells -- + scope %Scope; #IMPLIED -- scope covered by header cells -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cellhalign; -- horizontal alignment in cells -- + %cellvalign; -- vertical alignment in cells -- + > + + +<!--================ Document Head =======================================--> +<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" --> +<!ENTITY % head.content "TITLE & BASE?"> + +<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head --> +<!ATTLIST HEAD + %i18n; -- lang, dir -- + profile %URI; #IMPLIED -- named dictionary of meta info -- + > + +<!-- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. Exactly one title is required per document. + --> +<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title --> +<!ATTLIST TITLE %i18n> + + +<!ELEMENT BASE - O EMPTY -- document base URI --> +<!ATTLIST BASE + href %URI; #REQUIRED -- URI that acts as base URI -- + > + +<!ELEMENT META - O EMPTY -- generic metainformation --> +<!ATTLIST META + %i18n; -- lang, dir, for use with content -- + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + scheme CDATA #IMPLIED -- select form of content -- + > + +<!ELEMENT STYLE - - %StyleSheet -- style info --> +<!ATTLIST STYLE + %i18n; -- lang, dir, for use with title -- + type %ContentType; #REQUIRED -- content type of style language -- + media %MediaDesc; #IMPLIED -- designed for use with these media -- + title %Text; #IMPLIED -- advisory title -- + > + +<!ELEMENT SCRIPT - - %Script; -- script statements --> +<!ATTLIST SCRIPT + charset %Charset; #IMPLIED -- char encoding of linked resource -- + type %ContentType; #REQUIRED -- content type of script language -- + language CDATA #IMPLIED -- predefined script language name -- + src %URI; #IMPLIED -- URI for an external script -- + defer (defer) #IMPLIED -- UA may defer execution of script -- + event CDATA #IMPLIED -- reserved for possible future use -- + for %URI; #IMPLIED -- reserved for possible future use -- + > + +<!ELEMENT NOSCRIPT - - (%block;)+ + -- alternate content container for non script-based rendering --> +<!ATTLIST NOSCRIPT + %attrs; -- %coreattrs, %i18n, %events -- + > + +<!--================ Document Structure ==================================--> +<!ENTITY % version "version CDATA #FIXED '%HTML.Version;'"> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content;) -- document root element --> +<!ATTLIST HTML + %i18n; -- lang, dir -- + %version; + > diff --git a/htdocs/sgml-lib/catalog b/htdocs/sgml-lib/catalog new file mode 100644 index 0000000..f542d37 --- /dev/null +++ b/htdocs/sgml-lib/catalog @@ -0,0 +1,158 @@ + -- catalog: SGML Open style entity catalog for HTML -- + + -- This is a combination of the catalog files from the -- + -- Webtechs validation service, the HTML 2.0 public text, and -- + -- other miscellaneous places such as recent IETF drafts. -- + + -- Created by Gerald Oskoboiny, 21 Dec 1995 -- + + -- modified 18 Dec 1997: updated HTML 4.0 DTD -- + -- modified 11 Dec 1997: changed some file paths -- + -- modified 22 Oct 1997: updated HTML 4.0 DTD -- + -- modified 9 Jul 1997: added HTML 4.0 DTD -- + -- modified 12 May 1997: updated Cougar DTD -- + -- modified 27 Apr 1997: added HTML 3.2 + style DTD -- + -- modified 21 Feb 1997: updated HTML Pro to v0r11 -- + -- modified 29 Jan 1997: added new HTML 3.2 DTD, "Final" FPI -- + -- modified 15 Nov 1996: added MSIE 3.0 stuff -- + -- modified 17 Oct 1996: added Spyglass HTML 2.0 Extended DTD -- + -- modified 6 Oct 1996: added "HTML Pro" stuff -- + -- modified 6 Oct 1996: removed "HTML 1996-01" stuff -- + -- modified 24 Sep 1996: added an alternate 'Draft' FPI for HTML 3.2 -- + -- modified 10 Jul 1996: added DTD for HTML x.x (a.k.a. Cougar) -- + -- modified 18 May 1996: added FPIs for WebTechs and SQ DTDs -- + -- modified 7 May 1996: added DTD for HTML 3.2 (a.k.a. Wilbur) -- + -- modified 15 Mar 1996: added DTDs for O'Reilly Extended HTML -- + -- modified 13 Mar 1996: added DTDs for MS Internet Explorer -- + -- modified 11 Feb 1996: added OVERRIDE YES, and modular DTDs -- + +OVERRIDE YES -- prefer public identifiers to system identifiers -- + + -- ISO latin 1 entity set for HTML -- +PUBLIC "-//IETF//ENTITIES Added Latin 1 for HTML//EN" html-latin.sgml +PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" ISOlat1.ent +PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN" ISOlat1.ent + + -- fake HTMLicons reference -- +PUBLIC "-//IETF//ENTITIES icons for HTML//EN" html-icons.sgml + + -- fake HTMLmath reference -- +PUBLIC "-//IETF//ENTITIES Math and Greek for HTML//EN" html-math.sgml + + -- Ways to refer to Level 3: most general to most specific -- +PUBLIC "-//IETF//DTD HTML//EN//3.0" html-3.dtd +PUBLIC "-//W3O//DTD W3 HTML 3.0//EN//" html-3.dtd +PUBLIC "-//W3O//DTD W3 HTML 3.0//EN" html-3.dtd +PUBLIC "-//W3C//DTD HTML 3 1995-03-24//EN" html-3.dtd +PUBLIC "-//IETF//DTD HTML 3.0//EN" html-3.dtd +PUBLIC "-//IETF//DTD HTML 3.0//EN//" html-3.dtd +PUBLIC "-//IETF//DTD HTML Level 3//EN" html-3.dtd +PUBLIC "-//IETF//DTD HTML Level 3//EN//3.0" html-3.dtd + + -- AdvaSoft's more up-to-date DTD for 3.0; see html-3-as.dtd for info -- +PUBLIC "-//AS//DTD HTML 3.0 asWedit + extensions//EN" html-3-as.dtd +PUBLIC "-//AdvaSoft Ltd//DTD HTML 3.0 asWedit + extensions//EN" html-3-as.dtd + + -- Ways to refer to strict Level 3: most general to most specific -- +PUBLIC "-//IETF//DTD HTML Strict//EN//3.0" html-3s.dtd +PUBLIC "-//W3O//DTD W3 HTML Strict 3.0//EN//" html-3s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 3//EN" html-3s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 3//EN//3.0" html-3s.dtd + + -- Ways to refer to Level 2: most general to most specific -- +PUBLIC "HTML" html.dtd +PUBLIC "-//IETF//DTD HTML//EN" html.dtd +PUBLIC "-//IETF//DTD HTML//EN//2.0" html.dtd +PUBLIC "-//IETF//DTD HTML 2.0//EN" html.dtd +PUBLIC "-//IETF//DTD HTML Level 2//EN" html.dtd +PUBLIC "-//IETF//DTD HTML Level 2//EN//2.0" html.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Level 2//EN" html.dtd + + -- Ways to refer to Level 1: most general to most specific -- +PUBLIC "-//IETF//DTD HTML Level 1//EN" html-1.dtd +PUBLIC "-//IETF//DTD HTML Level 1//EN//2.0" html-1.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Level 1//EN" html-1.dtd + + -- Ways to refer to Level 0: most general to most specific -- +PUBLIC "-//IETF//DTD HTML Level 0//EN" html-0.dtd +PUBLIC "-//IETF//DTD HTML Level 0//EN//2.0" html-0.dtd + + -- Ways to refer to Strict Level 2 -- +PUBLIC "-//IETF//DTD HTML Strict//EN" html-s.dtd +PUBLIC "-//IETF//DTD HTML Strict//EN//2.0" html-s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 2//EN" html-s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 2//EN//2.0" html-s.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Strict//EN" html-s.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Strict Level 2//EN" html-s.dtd + + -- Ways to refer to Strict Level 1 -- +PUBLIC "-//IETF//DTD HTML Strict Level 1//EN" html-1s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 1//EN//2.0" html-1s.dtd +PUBLIC "-//IETF//DTD HTML 2.0 Strict Level 1//EN" html-1s.dtd + + -- Ways to refer to Strict Level 0 -- +PUBLIC "-//IETF//DTD HTML Strict Level 0//EN" html-0s.dtd +PUBLIC "-//IETF//DTD HTML Strict Level 0//EN//2.0" html-0s.dtd + + -- Ways to refer to Netscape extensions HTML -- +PUBLIC "-//WebTechs//DTD Mozilla HTML//EN" html-mcom.dtd +PUBLIC "-//WebTechs//DTD Mozilla HTML 2.0//EN" html-mcom.dtd +PUBLIC "-//Netscape Comm. Corp.//DTD HTML//EN" html-mcom.dtd +PUBLIC "-//Netscape Comm. Corp.//DTD HTML//EN" html-mcom.dtd +PUBLIC "-//Netscape Comm. Corp.//DTD Strict HTML//EN" html-mcoms.dtd + + -- Ways to refer to Microsoft extensions HTML -- +PUBLIC "-//Microsoft//DTD Internet Explorer 2.0 HTML//EN" iehtml.dtd +PUBLIC "-//Microsoft//DTD Internet Explorer 2.0 HTML Strict//EN" iehtml-s.dtd +PUBLIC "-//Microsoft//DTD Internet Explorer 2.0 Tables//EN" ietables.dtd +PUBLIC "-//Microsoft//DTD Internet Explorer 3.0 HTML//EN" ie30.dtd +PUBLIC "-//Microsoft//DTD Internet Explorer 3.0 HTML Strict//EN" ie30-s.dtd +PUBLIC "-//Microsoft//DTD Internet Explorer 3.0 Tables//EN" ie30tables.dtd + + -- Ways to refer to Sun Microsystems HotJava extensions -- +PUBLIC "-//Sun Microsystems Corp.//DTD HotJava HTML//EN" html-hj.dtd +PUBLIC "-//Sun Microsystems Corp.//DTD HotJava Strict HTML//EN" html-hjs.dtd + + -- Ways to refer to HTML 2.1 variants -- +PUBLIC "-//IETF//DTD HTML 2.1E//EN" html-2.1e.dtd + + -- O'Reilly & Associates DTD; see http://www.ora.com/standards/html/ -- +PUBLIC "-//O'Reilly and Associates//DTD HTML Extended 1.0//EN" oreilly-html.dtd +PUBLIC "-//O'Reilly and Associates//DTD HTML Extended Relaxed 1.0//EN" oreilly-html-relaxed.dtd +PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN" oreilly-rfc1866.dtd +PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN" oreilly-draft-table.elements +PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN" oreilly-additional.entities + + -- Ways to Refer to SoftQuad HTML 2.0 + extensions -- +PUBLIC "-//SQ//DTD HTML 2.0 HoTMetaL + extensions//EN" html-sq.dtd + + -- Spyglass HTML 2.0 Extended DTD -- +PUBLIC "-//Spyglass//DTD HTML 2.0 Extended//EN" spyglass/html2x.dtd +PUBLIC "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN" spyglass/dsssl.not +PUBLIC "-//IETF//NOTATION W3C Style Language//EN" spyglass/w3csty.not +PUBLIC "-//IETF//NOTATION Cascading Style Sheet Language//EN" spyglass/css.not + + -- "HTML Pro" -- +PUBLIC "ISO 8879-1986//ENTITIES Added Latin 2//EN" pro/usr/local/lib/sgml/iso_8879-1986/entities/added_latin_2 +PUBLIC "ISO 8879-1986//ENTITIES Publishing//EN" pro/usr/local/lib/sgml/iso_8879-1986/entities/publishing +PUBLIC "ISO 8879-1986//ENTITIES General Technical//EN" pro/usr/local/lib/sgml/iso_8879-1986/entities/general_technical +PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN" pro/usr/local/lib/sgml/iso_8879-1986/entities/numeric_and_special_graphic +PUBLIC "+//Silmaril//DTD HTML Pro v0r11 19970101//EN" pro/html/dtds/htmlpro.dtd + + -- HTML 3.2 -- +PUBLIC "-//W3C//DTD HTML 3.2//EN" html-3.2.dtd +PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" html-3.2.dtd +PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN" html-3.2.dtd + + -- HTML 3.2 + Style -- +PUBLIC "-//W3C//DTD HTML Experimental 970421//EN" html-970421.dtd +PUBLIC "-//W3C//DTD HTML 3.2S Draft//EN" html-970421.dtd + + -- HTML 4.0 -- +PUBLIC "-//W3C//DTD HTML 4.0//EN" REC-html40-971218/strict.dtd +PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" REC-html40-971218/loose.dtd +PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" REC-html40-971218/frameset.dtd +PUBLIC "-//W3C//ENTITIES Latin1//EN//HTML" REC-html40-971218/HTMLlat1.ent +PUBLIC "-//W3C//ENTITIES Special//EN//HTML" REC-html40-971218/HTMLspecial.ent +PUBLIC "-//W3C//ENTITIES Symbols//EN//HTML" REC-html40-971218/HTMLsymbol.ent + diff --git a/htdocs/sgml-lib/html-0.dtd b/htdocs/sgml-lib/html-0.dtd new file mode 100644 index 0000000..1ad6b31 --- /dev/null +++ b/htdocs/sgml-lib/html-0.dtd @@ -0,0 +1,39 @@ +<!-- html-0.dtd + + Document Type Definition for the HyperText Markup Language + as used by minimally conforming World Wide Web applications + (HTML Level 0 DTD). + + $Id: html-0.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@hal.com> + See Also: http://www.hal.com/%7Econnolly/html-spec/index.html + http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML Level 0//EN//2.0" + -- public identifier for "minimal conformance" version -- + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Level 0//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> + +<!ENTITY % HTML.Highlighting "IGNORE"> +<!ENTITY % HTML.Forms "IGNORE"> + +<!ENTITY % head.link " " -- no link in head at level 0 --> +<!ENTITY % linkExtraAttributes " "> +<!ENTITY % img.alt.default "#REQUIRED"> +<!ENTITY % head.link " "> + +<!ENTITY % html PUBLIC "-//IETF//DTD HTML//EN//2.0"> +%html; diff --git a/htdocs/sgml-lib/html-0s.dtd b/htdocs/sgml-lib/html-0s.dtd new file mode 100644 index 0000000..fe7e3e6 --- /dev/null +++ b/htdocs/sgml-lib/html-0s.dtd @@ -0,0 +1,30 @@ +<!-- html-0P.dtd + + Document Type Definition for the HyperText Markup Language + Strict Level 0 + + $Id: html-0s.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@hal.com> + See Also: http://www.hal.com/%7Econnolly/html-spec/index.html + http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML Strict Level 0//EN//2.0" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Strict Level 0//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html-0 PUBLIC "-//IETF//DTD HTML Level 0//EN//2.0"> +%html-0; diff --git a/htdocs/sgml-lib/html-1.dtd b/htdocs/sgml-lib/html-1.dtd new file mode 100644 index 0000000..1899e61 --- /dev/null +++ b/htdocs/sgml-lib/html-1.dtd @@ -0,0 +1,29 @@ +<!-- html-1.dtd + + Document Type Definition for the HyperText Markup Language + with Level 1 Extensions (HTML Level 1 DTD). + + $Id: html-1.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0 Level 1//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Level 1//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Forms "IGNORE"> + +<!ENTITY % html PUBLIC "-//IETF//DTD HTML 2.0//EN"> +%html; diff --git a/htdocs/sgml-lib/html-1s.dtd b/htdocs/sgml-lib/html-1s.dtd new file mode 100644 index 0000000..7d0e25b --- /dev/null +++ b/htdocs/sgml-lib/html-1s.dtd @@ -0,0 +1,29 @@ +<!-- html-1s.dtd + + Document Type Definition for the HyperText Markup Language + Struct Level 1 + + $Id: html-1s.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0 Strict Level 1//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Strict Level 1//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html-1 PUBLIC "-//IETF//DTD HTML 2.0 Level 1//EN"> +%html-1; diff --git a/htdocs/sgml-lib/html-2.1e.dtd b/htdocs/sgml-lib/html-2.1e.dtd new file mode 100644 index 0000000..adad285 --- /dev/null +++ b/htdocs/sgml-lib/html-2.1e.dtd @@ -0,0 +1,344 @@ +<!-- html-2.1e.dtd + + Document Type Definition for the HyperText Markup Language, + version 2.1E (HTML DTD) + + Last revised: 95/09/25 + + Authors: Daniel W. Connolly <connolly@w3.org> + Francois Yergeau <yergeau@alis.com> +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.1E//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.1E//EN"> + <html> + ... + </html> + -- + > + + +<!--============ Feature Test Entities ========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for + compatibility with widespread usage, but they may + compromise the structural integrity of a document. + This feature test entity enables a more prescriptive + document type definition that eliminates + those features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for + compatibility with earlier versions of the specification, + but they tend to be used and implemented inconsistently, + and their use is deprecated. This feature test entity + enables a document type definition that eliminates + these features. + --> + +<!ENTITY % HTML.Highlighting "INCLUDE" + -- Use this feature test entity to validate that a + document uses no highlighting tags, which may be + ignored on minimal implementations. + --> + +<!ENTITY % HTML.Forms "INCLUDE" + -- Use this feature test entity to validate that a document + contains no forms, which may not be supported in minimal + implementations + --> + +<!--============== Imported Names ==============================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning an internet media type + (aka MIME content type, as per RFC1521) + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification, in progress + --> +<!ENTITY % URI "CDATA" -- uniform resource identifier --> + +<!--========= DTD "Macros" =====================--> + +<!ENTITY % Length "CDATA" -- number followed by optional units --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list " UL | OL | DIR | MENU " > + +<!ENTITY % attrs -- common attributes for elements -- + 'ID ID #IMPLIED -- element identifier -- + LANG NAME #IMPLIED -- RFC 1766 language tag -- + DIR (ltr|rtl) #IMPLIED -- text directionality --'> + +<!ENTITY % size + 'WIDTH %Length #IMPLIED -- desired width in units -- + HEIGHT %Length #IMPLIED -- desired height in units --'> + +<!ENTITY % align.simple + 'ALIGN (top|middle|bottom) #IMPLIED -- glyph alignment --'> + +<!ENTITY % align + 'ALIGN (top|middle|bottom|left|center|right) #IMPLIED -- float or glyph alignment -- + HSPACE %Length #IMPLIED -- text stays this far away horizontally -- + VSPACE %Length #IMPLIED -- text stays this far away vertically -- + FLOWTO NAME #IMPLIED -- flow text around float until this ID --'> + +<!ENTITY % just -- an attribute for text justification -- + 'ALIGN (left|right|center|justify) #IMPLIED'> + +<!--======= Character mnemonic entities =================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--Entities for markup significant characters --> +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> + +<!--Entities for language-dependent presentation (BIDI and contextual analysis) --> +<!ENTITY zwnj CDATA "‌"-- zero width non-joiner--> +<!ENTITY zwj CDATA "‍"-- zero width joiner--> +<!ENTITY lrm CDATA "‎"-- left-to-right mark--> +<!ENTITY rlm CDATA "‏"-- right-to-left mark--> + +<!--========= SGML Document Access (SDA) Parameter Entities =====--> + +<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes +in support of easy transformation to the International Committee +for Accessible Document Design (ICADD) DTD + "-//EC-USA-CDA/ICADD//DTD ICADD22//EN". +ICADD applications are designed to support usable access to +structured information by print-impaired individuals through +Braille, large print and voice synthesis. For more information on +SDA & ICADD: + - ISO 12083:1993, Annex A.8, Facilities for Braille, + large print and computer voice + - ICADD ListServ + <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu> + - Usenet news group bit.listserv.easi + - Recording for the Blind, +1 800 221 4792 +--> + +<!ENTITY % SDAFORM "SDAFORM CDATA #FIXED" + -- one to one mapping --> +<!ENTITY % SDARULE "SDARULE CDATA #FIXED" + -- context-sensitive mapping --> +<!ENTITY % SDAPREF "SDAPREF CDATA #FIXED" + -- generated text prefix --> +<!ENTITY % SDASUFF "SDASUFF CDATA #FIXED" + -- generated text suffix --> +<!ENTITY % SDASUSP "SDASUSP NAME #FIXED" + -- suspend transform process --> + +<!--========== Text Markup =====================--> + +<![ %HTML.Highlighting [ + +<!ENTITY % font " TT | B | I "> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % text "#PCDATA|A|EMBED|IMG|BR|%phrase|%font|SPAN|Q|BDO|SUP|SUB"> + +<!ELEMENT (%font;|%phrase) - - (%text)*> +<!ATTLIST ( TT | CODE | SAMP | KBD | VAR ) + %attrs; + %SDAFORM; "Lit" + > +<!ATTLIST ( B | STRONG ) + %attrs; + %SDAFORM; "B" + > +<!ATTLIST ( I | EM | CITE ) + %attrs; + %SDAFORM; "It" + > + +<!-- <TT> Typewriter text --> +<!-- <B> Bold text --> +<!-- <I> Italic text --> +<!-- <EM> Emphasized phrase --> +<!-- <STRONG> Strong emphasis --> +<!-- <CODE> Source code phrase --> +<!-- <SAMP> Sample text or characters --> +<!-- <KBD> Keyboard phrase, e.g. user input --> +<!-- <VAR> Variable phrase or substituable --> +<!-- <CITE> Name or title of cited work --> + +<!ENTITY % pre.content "#PCDATA|A|HR|BR|%font|%phrase|SPAN|BDO"> + +]]> + +<!ENTITY % text "#PCDATA|A|EMBED|IMG|BR|SPAN|Q|BDO|SUP|SUB"> + +<!-- Should the BDO element have an SDAFORM attr.? Which? --> +<!ELEMENT BDO - - (%text)+> +<!ATTLIST BDO + LANG NAME #IMPLIED + DIR (ltr|rtl) #REQUIRED + > + +<!-- <BDO> Control bidirectionnal text --> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + %SDAPREF; "&#RE;" + > + +<!-- <BR> Line break --> + +<!-- Should the SPAN element have an SDAFORM attr.? Which? --> +<!ELEMENT SPAN - - (%text)*> +<!ATTLIST SPAN + %attrs; +> + +<!-- <SPAN> Generic container --> + +<!ELEMENT Q - - (%text)*> +<!ATTLIST Q + %attrs; + %SDAFORM; "It" -- to be verified -- + > + +<!-- <Q> Short quotation --> + +<!ELEMENT (SUP|SUB) - - (#PCDATA)> +<!ATTLIST (SUP|SUB) + %attrs; + > + +<!-- <SUP> Superscript --> +<!-- <SUB> Subscript --> + +<!--========= Link Markup ======================--> + +<!ENTITY % linkType "NAME"> + +<!ENTITY % link.internal -- attributes for links with implicit presentation resource -- + 'SRC %URI; #REQUIRED -- resource to retrieve -- + PARAMS CDATA #IMPLIED -- presentation specializer --'> + +<!ENTITY % link.metainfo -- overall link metainfo -- + 'TITLE CDATA #IMPLIED -- overall title for resource -- + URN %URI #IMPLIED -- global entity name -- + REL %linkType #IMPLIED + REV %linkType #IMPLIED '> + +<!ENTITY % mime.constraints -- MIME typing constraints -- + 'ACCEPT CDATA "text/plain" -- applicable media type(s) -- + ACCEPT-CHARSET CDATA "ISO-8859-1" -- applicable character encoding(s) -- + ACCEPT-ENCODING CDATA "ISO-8859-1" -- applicable content transfer encoding(s) --'> + +<![ %HTML.Deprecated [ + <!ENTITY % case.metainfo -- link metainfo for specific variant -- + '%mime.constraints; -- type constraints -- + METHODS NAMES #IMPLIED -- deprecated --'> +]]> +<!ENTITY % case.metainfo -- link metainfo for specific variant -- + '%mime.constraints; -- type constraints --'> + +<![ %HTML.Recommended [ + <!ENTITY % key.value -- key/value pair with typed value -- + 'NAME NAME #IMPLIED -- keyword, usually required -- + VALUE CDATA #IMPLIED -- default value -- + %mime.constraints; -- type constraints for value --'> +]]> +<!ENTITY % key.value -- key/value pair with typed value -- + 'NAME CDATA #IMPLIED -- keyword, usually required -- + VALUE CDATA #IMPLIED -- default value -- + %mime.constraints; -- type constraints for value --'> + +<!ENTITY % linkExtraAttributes + '%link.metainfo; + %case.metainfo; + '> + +<![ %HTML.Recommended [ + <!ENTITY % A.content "(%text)*" + -- <H1><a name="xxx">Heading</a></H1> + is preferred to + <a name="xxx"><H1>Heading</H1></a> + --> +]]> + +<!ENTITY % A.content "(%heading|%text)*"> + +<!ELEMENT A - - %A.content -(A)> +<!ATTLIST A + %attrs; + HREF CDATA #IMPLIED + NAME CDATA #IMPLIED + %linkExtraAttributes; + %SDAPREF; "<Anchor: #AttList>" + > +<!-- <A> Anchor; source/destination of link --> +<!-- <A NAME="..."> Name of this anchor --> +<!-- <A HREF="..."> Address of link destination --> +<!-- <A URN="..."> Permanent address of destination --> +<!-- <A REL=...> Relationship to destination --> +<!-- <A REV=...> Relationship of destination to this --> +<!-- <A TITLE="..."> Title of destination (advisory) --> +<!-- <A METHODS="..."> Operations on destination (advisory) --> +<!-- <A CHARSET="..."> Charset of destination (advisory) --> + + +<!--========== Embedded Objects and Images ==========================--> + +<!ELEMENT EMBED - - (PARAM*, CAPTION?, EMBED.BODY, CREDIT?)> +<!ATTLIST EMBED + %attrs; + %link.internal; + %link.metainfo; + %case.metainfo; + %size; -- size of reserved area -- + %align; -- alignment or float -- + %SDAPREF; '<Fig><Xref IDRef="#AttVal(SRC)"><?SDATrans Embed: #AttList>' + %SDASUFF; '</Fig>' + > +<!ELEMENT CAPTION - - (%text;)+ -- caption for floating element --> +<!ATTLIST CAPTION + %attrs; + %align; -- side of rectangle where caption placed -- + %SDAPREF; "Caption: " + > +<!ELEMENT EMBED.BODY O O %A.content> +<!ATTLIST EMBED.BODY + %attrs; + > +<!ELEMENT CREDIT - - (%text;)* -- copyright/credit for embedded object --> +<!ATTLIST CREDIT + %attrs; + %SDAFORM; "Fn" + > + +<!ELEMENT PARAM - O EMPTY> +<!ATTLIST PARAM + %attrs; + %key.value; + %SDAPREF; "<?SDATrans Param: #AttList>" + > + +<!ELEMENT IMG - O EMPTY> +<!ATTLIST IMG + %attrs; + %link.internal; + %align.simple; + ALT CDATA #IMPLIED + ISMAP
\ No newline at end of file diff --git a/htdocs/sgml-lib/html-3-as.dtd b/htdocs/sgml-lib/html-3-as.dtd new file mode 100644 index 0000000..167881e --- /dev/null +++ b/htdocs/sgml-lib/html-3-as.dtd @@ -0,0 +1,1657 @@ +<!-- + + html3-as.dtd by AdvaSoft Ltd + + Document Type Definition for the HyperText Markup Language (HTML3-AS DTD) + HTML3 + extensions as used by asWedit 2.0 editor in the HTML 3 mode + + Date/Version: Tue 05-Dec-95 + + Author: Andrzej Stochniol <as@advasoft.com> + (modified slightly by Gerald Oskoboiny <gerald@pobox.com> + + It is proposed to use the following identifiers for documents conforming + to this DTD: + <!DOCTYPE HTML PUBLIC -//AS//DTD HTML 3.0 asWedit + extensions//EN> + - or - + <!DOCTYPE HTML PUBLIC -//AdvaSoft Ltd//DTD HTML 3.0 asWedit + extensions//EN> + + This DTD is available at the following address: + http://www.advasoft.com/lib/html3-as.dtd + http://www.advasoft.com/lib/html3-as.txt + + + In short the original HTML 3 DTD (Fri 24-Mar-95 09:46:33) by Dave Ragget + has been modified to support the following latest IETF drafts and some other + more stable proposals: + o new tables + o client-side image maps + o form-based file upload + o HotJava applets support + + For details see below. + + + The original HTML 3 DTD has been modified as follow: + + (0) some modificatins to avoid dummy elements ! + + ADDITIONALLY the following functionality was added in November '95 + to reflect tha developments in the HTML area: + + (1) Extra attribute in the IMG element to allow "Client-Side Image Maps" + (as in the <draft-seidman-clientsideimagemap-01.txt> as of + August 8, 1995 (but applied to HTML3): + the extra MAP & AREA elements were added as well; + + (2) Addition of the APPLET & PARAM tag for the HotJava support + (the temp DTD taken from: + http://java.sun.com/.people/avh/applet/html + AdvaSoft internal: dev/applet.html + ) + (3) Form based upload according to RFC1867 (November 1995) + (actually the HTML 3 supports the suggested DTD already) + The only new is probably the value of the enctype (just text): + i.e. "multipart/form-data" (*NOT* specified in the DTD in any way!) + + (4) Extra two attribute to the basic attributes (%attrs) + + Note: all modifications have been marked with the "AdvaSoft" name. +--> +<!-- + html3.dtd + + Document Type Definition for the HyperText Markup Language (HTML DTD) + + Draft: Fri 24-Mar-95 09:46:33 + + Author: Dave Raggett <dsr@hplb.hpl.hp.com> + + W3O is developing a testbed browser to provide practical + experience with HTML 3.0 before it becomes a standard. + See: http://www.w3.org/hypertext/WWW/Arena/ + + This is an open process and comments are welcomed on the + www-html mailing list. + + Please use the following MIME content type: + + Content-Type: text/html; version=3.0 + + This will allow clients to distinguish HTML 3.0 from current + HTML documents. This is most easily achieved by saving + files with the extension ".html3" or ".ht3" so that servers + can easily distinguish these files from HTML 2.0 files. + + The entity HTML.Recommended can be used to give a more rigorous + version of the DTD suitable for use with SGML authoring tools. + The default version of the DTD offers a laxer interpretation, + e.g. allowing authors to omit leading <P> elements. You can + switch on the more rigorous version of the DTD by including + the following at the start of your HTML document. + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN//" + [ <!ENTITY % HTML.Recommended "INCLUDE"> ] > + + + Design Objectives: + + o Backwards compatibility with 2.0 + + o Tightening up HTML.Recommended and + moving more things to HTML.Deprecated + + o Keep HTML - simple don't compete with CALS + + o Make it practical for people to edit HTML 3.0 + documents directly, i.e. avoid long names. + + o Tables, figures and math from HTML+ + with tweaks based on recent experience + + o Client-side event handling for figures + and graphical form selection menus + + o Add limited presentational controls with + a view to use of linked style sheets + (style overrides are supported) + + o Compatibility with ICADD as per Yuri's suggestions + + HTML 3.0 relies on linked style info to give authors + control over the appearence of documents. Such info is + placed in a linked style sheet, or as overrides in the + HTML document head, using the STYLE element. The generic + CLASS attribute can be used to subclass elements when + you want to use a different style from normal, e.g. you + might use <h2 class=bigcaps> for headers with enlarged + capital letters. Note that the class attribute has a + wider scope than just style changes, e.g. browsers could + provide the means for searching through documents, + restricting search according to element class values. + + The DTD contains a small number of attributes for direct + control of basic alignment parameters; column widths for + tables; support for custom bullets, sequence numbering for + lists and headers; and text flow. These attributes offer + control over appearence which would be inconvenient to + express exclusively via associated style sheets. + + The MD attribute for each hypertext or inline link specifies a + message digest such as MD5 for the linked object and is needed + to ensure someone hasn't tampered with a linked document. + + History: + + 24th March '95 + + Changed ROLE->CLASS for HTML element + Added dummy elements to fix problem with mixed + content models for BODY, BLOCKQUOTE/BQ and FIG + Dropped audio fields from FORMs + Reinstated MIN/MAX for range fields + Reinstated DISABLED and ERROR attributes for fields + + 22nd March '95 + + Changed from em to en units. The latter + is a typographical unit = half point size + Merged NEEDS into CLEAR for control of textflow + + 21st March '95 + + Added REL=Banner to LINK element + Added BANNER element in place of <DIV CLASS=BANNER> + Added RANGE and SPOT elements + Added FN in place of <NOTE ROLE=FOOTNOTE> + Changed ROLE->CLASS for NOTE element + + 17th March '95 + + Fixed bug in PRE content model + Changed external references to omit trailling // + Dropped <!DOCTYPE HTML [ ... ]> wrapper to avoid problems + with "real" sgml parsers + Added NOFLOW attribute to FIG and TABLE + Fixed typo in IMG ALIGN attribute + Made SELECT match IMG for graphic attributes + Added decimal alignment for tabs and table cells + Added ALIGN attribute to TEXTAREA for parity + with IMG and INPUT, including ALIGN=LEFT etc. + + 13th March '95 + + Dropped MARK tag on advice from SGML Open + Allowed spaces in table colspec attribute + Changed ARRAY element + Added CHOOSE tag to BOX element + Cleaned up PRE content model + Obsoleted tags incompatible with SGML + + 6th March '95 + + Added several tags to MATH: %mathface, %mathvec + and improved ROOT, with new SQRT convience tag + + 1st March '95 + + Dropped align attribute from BR element + Added indent attribute to TAB + Added optional CREDIT to end of BQ + Changed FIG to %body.content to allow headers + + 22nd February '95 + + Added align attribute, and dropped before, after, center and right + attributes to clean up TAB element + Added INS and DEL for legal documents + Added CREDIT to end of FIG element + Dropped FN in favor of <NOTE ROLE=FootNote> + + 9th Feburuary '95 + + Dropped base attribute mechanism for scoping relative URLs + Dropped nofold attribute for disabling whitespace folding + Dropped border width attributes for FIG (-> style sheet) + Dropped delims attribute from math BOX element + Dropped stylistic attributes from OL such as inherit (-> stylesheet) + Added baseline to list of valign attribute values for tables. + Added DIV element for generic container class and static banners + Added MARK element for marked range class + Added closed set of LINK REL values for toolbars + Added numbering attributes to headers + Added bullet attributes to headers + Added TERM element to math for style sheet control of term rendering + Changed to imagemap=URI for server-side event handling for FIG/OVERLAY + Changed delimiter attributes for math arrays + Changed ROOT element for maths to allow an arbitrary radix + Simplified numbering attributes for ordered lists + Simplified STYLE element to leave binding to style language +--> + +<!-- ORIGINAL Version definition... +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 3.0//EN" + + -- -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> + <html> + ... + </html> + -- -- + > +--> +<!-- AdvaSoft Version definition --> +<!ENTITY % HTML.Version + "-//AS//DTD HTML 3.0 asWedit + extensions//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//AS//DTD HTML 3.0 asWedit + extensions//EN"> + <html> + ... + </html> + -- + > + +<!--================== Flags for Marked Sections ==========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for compatibility + with widespread usage, but they may compromise the structural + integrity of a document. This feature test entity enables + a more prescriptive document type definition that eliminates + the above features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for compatibility + with earlier versions of the specification, but they tend + to be used an implemented inconsistently, and their use is + deprecated. This feature test entity enables a document type + definition that eliminates these features. + --> + +<!ENTITY % HTML.Obsoleted "IGNORE" + -- The XMP, LISTING and PLAINTEXT tags are incompatible with SGML + and derive from very early versions of HTML. They require non- + standard parsers and will cause problems for processing + documents with standard SGML tools. + --> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URI "CDATA" + -- The term URI means a CDATA attribute + whose value is a Uniform Resource Identifier, + as defined by + "Uniform Resource Identifiers" by Tim Berners-Lee + aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html + aka RFC 1630 + + Note that CDATA attributes are limited by the LITLEN + capacity (1024 in the current version of html.decl), + so that URIs in HTML have a bounded length. + + --> + +<!ENTITY % REAL "CDATA" -- real numbers (not in SGML) --> + +<!ENTITY % SHAPE "CDATA" + -- Shape of hotzone in image. + + All coordinates are assumed to be numbers in the range 0 to 1 + and interpreted as fractional width/height and measured from + the top left corner of the associated image. + + The attribute value is a string taking one of the following forms: + + "default" + + Used to define a default link for the figure background. + + "circle x, y, r" + + (x, y) define the center and r the radius. + + "rect x, y, w, h" + + (x, y) defines upper left, and w and h the width and height. + + "polygon x1, y1, x2, y2, ..." + + Given n pairs of x, y coordinates, the polygon is closed by a + line linking the n'th point to the first. Intersecting polygons + use the non-zero winding number rule to determine if a point lies + inside the polygon.I + -- +> + +<!-- 3.0 Parameter Entities --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<![ %HTML.Obsoleted [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + + +<![ %HTML.Deprecated [ + <!ENTITY % list "UL | OL | DIR | MENU"> + <!ENTITY % blockquote "BLOCKQUOTE | BQ"> +]]> + +<!ENTITY % list "UL | OL"> + +<!ENTITY % blockquote "BQ"> + +<!ENTITY % preformatted "PRE"> + + +<!-- The CLASS attribute is used to subclass HTML elements for + rendering purposes, when used with style sheets, e.g. DSSSL lite --> + +<!-- AdvaSoft Note: we use the attrs definition borrowed from the latest Table draft --> +<!ENTITY % attrs + "id ID #IMPLIED -- element identifier -- + class NAMES #IMPLIED -- for subclassing elements -- + style CDATA #IMPLIED -- rendering annotation -- + lang NAME #IMPLIED -- as per RFC 1766 -- + dir (ltr|rtl) #IMPLIED -- I18N text direction --"> + +<!-- ORIGINAL_HTML3 ENTITY % attrs ---- common attributes for elements ---- + 'id ID #IMPLIED ---- as target for hrefs (link ends) ---- + lang CDATA "en.us" ---- ISO language, country code ---- + class NAMES #IMPLIED ---- for subclassing elements ----' +--> + +<!-- +original HTML3 ENTITY % attrs ---- common attributes for elements ---- + 'id ID #IMPLIED ---- as target for hrefs (link ends) ---- + lang CDATA "en.us" ---- ISO language, country code ---- + class NAMES #IMPLIED ---- for subclassing elements ----' +--> + +<!-- SGML standard forces different NAMES for all attribute values + in the same element, regardless of the attribute name! As a result + CDATA is used for CLEAR attribute to avoid clash with ALIGN attribute.--> + +<!-- +When text flows around a figure or table in the margin, you sometimes want +to start an element like a header, paragraph or list below the figure rather +than alongside it. The CLEAR attribute allows you to move down unconditionally: + + clear=left move down until left margin is clear + clear=right move down until right margin is clear + clear=all move down until both margins are clear + +Alternatively, you can decide to place the element alongside the figure just +so long as there is enough room. The minimum width needed is specified as: + + clear="40 en" move down until there is at least 40 en units free + clear="100 pixels" move down until there is at least 100 pixels free + +The style sheet (or browser defaults) may provide default minimum widths for +each class of block-like elements. +--> + +<!ENTITY % needs -- Attributes for controlling text flow. Used in headers + and other elements to guarantee sufficient room -- + 'clear CDATA #IMPLIED'> + +<!-- + The following attribute may be included where ever a URL can be given: + + md message digest e.g. md="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ" + where the digest is base64 encoded and preceded by a prefix + denoting the algorithm (in this case MD5). +--> + +<!ENTITY % url.link -- Attributes associated with URL based links -- + "md CDATA #IMPLIED -- message digest for linked object --"> + +<!--================ Character mnemonic entities ==========================--> + +<!-- The HTML list of Latin-1 entities includes the full range + of characters in widely available Latin-1 fonts, and as such + is a mixture of ISOlat1 and other ISO publishing symbols --> + +<!ENTITY % HTMLlat1 PUBLIC + "-//IETF//ENTITIES Added Latin 1 for HTML//EN"> +%HTMLlat1; + +<!--================ Entities for special symbols =========================--> + +<!ENTITY emsp SDATA "[emsp ]" -- em space --> +<!ENTITY ensp SDATA "[ensp ]" -- en space (1/2-em) --> +<!ENTITY mdash SDATA "[ndash ]" -- em dash --> +<!ENTITY ndash SDATA "[ndash ]" -- en dash (1/2-em) --> +<!ENTITY nbsp SDATA "[nbsp ]" -- non breaking space --> +<!ENTITY shy SDATA "[shy ]" -- soft hyphen --> +<!ENTITY copy SDATA "[copy ]" -- copyright sign --> +<!ENTITY trade SDATA "[trade ]" -- trade mark sign --> +<!ENTITY reg SDATA "[reg ]" -- registered sign --> + +<!--================ Entities for standard icons ==========================--> + +<!-- a range of standard icons such as &folder; for use + in speeding up display of directory listings etc. --> + +<!ENTITY % HTMLicons PUBLIC + "-//IETF//ENTITIES icons for HTML//EN"> +%HTMLicons; + +<!--================ Entities for math symbols ============================--> + +<!-- ISO subset chosen for use with the widely available Adobe math font --> + +<!ENTITY % HTMLmath PUBLIC + "-//IETF//ENTITIES Math and Greek for HTML//EN"> +%HTMLmath; + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font " U | S | TT | I | BIG | SMALL"> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % misc "Q | LANG | AU | DFN | PERSON | ACRONYM | ABBREV | INS | DEL"> + +<!ENTITY % special "TAB | MATH | A | IMG | BR"> + +<!ENTITY % notmath "%font | %phrase | %special | %misc"> + +<!ENTITY % text "#PCDATA | SUB | SUP | B | %notmath"> + + +<!ENTITY % pre.exclusion "TAB|MATH|IMG|BIG|SMALL|SUB|SUP"> + +<!ELEMENT (%font|B|%phrase|%misc) - - (%text)+> +<!ATTLIST (%font|B|%phrase|%misc) %attrs;> + +<!-- Subscripts and superscripts. The ALIGN attribute is only used for math --> + +<!ELEMENT (SUB|SUP) - - (%text)+> +<!ATTLIST (SUB|SUP) + %attrs; + align (left|center|right) #IMPLIED + > + +<!-- Forced line break --> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + %attrs; + %needs; -- for control of text flow -- + > + +<!-- Named left, center and right tab stops (independent of '\t' char) --> + +<!ELEMENT TAB - O EMPTY> +<!ATTLIST TAB + id ID #IMPLIED -- defines named tab stop -- + indent NUMBER 0 -- en units before new tab stop -- + to IDREF #IMPLIED -- jump to named tab stop -- + align (left|center|right|decimal) left + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + > + +<!--================== Link Markup ========================================--> + +<!-- + With HTML 3.0 you can use ID attributes on most elements for named + link ends. The use of the NAME attribute on anchors is deprecated. + + Do we want to support arbitrary elements for link starts? This would + involve adding HREF and related attributes to most elements. +--> + +<![ %HTML.Deprecated [ + <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --"> +]]> + +<!ENTITY % linkName ""> + + +<!ENTITY % ToolBar "home|toc|index|glossary|copyright| + up|previous|next|help|bookmark" + + -- LINK RELationship values which are used to create toolbar + buttons or menu items for navigation, where toc stands + for table of contents and bookmark provides for an open + ended set of links, i.e. you can use multiple bookmarks + for key entry points. Use the optional TITLE attribute + to override default names. + --> + +<!ENTITY % linkType "NAME" + -- A definitive list will be specified at a later date. + + They are used + + a) by stylesheets to control how collections of + html nodes are rendered into printed documents + + b) for document specific toolbars/menus when used + with the LINK element in document head: + + "home|toc|index|glossary|copyright| + up|previous|next|help|bookmark" + + where toc stands for table of contents and + bookmark provides for an open ended set of links, + i.e. you can use several bookmarks for key entry + points. Use the optional TITLE attribute to + override default names. + + c) for hypertext paths or guided tours, + with REL=NODE and REL=PATH. + + d) to make a link to a style sheet, e.g. rel=stylesheet + (used only with the LINK element). + + e) to make a link to a separate banner, e.g. rel=banner + (used only with the LINK element). + --> + + +<!ENTITY % linkExtraAttributes -- URN moved to %url.link -- + "rel %linkType #IMPLIED -- forward relationship type -- + rev %linkType #IMPLIED -- reversed relationship type + to referent data -- + title CDATA #IMPLIED -- advisory only -- + methods NAMES #IMPLIED -- supported public methods of the object: + TEXTSEARCH, GET, HEAD, ... -- + "> + +<![ %HTML.Deprecated [ + <!ENTITY % A.content "(%heading|%text)+"> +]]> + +<!ENTITY % A.content "(%text)+"> + +<!ELEMENT A - - %A.content -(A)> + +<!ATTLIST A + %attrs; + href %URI; #IMPLIED + %url.link; -- standard link attributes -- + %linkName; -- name attribute is deprecated; use ID instead -- + shape %SHAPE; #IMPLIED -- for shaped hotzones in FIGs -- + %linkExtraAttributes; + > + +<!--=================== Images ============================================--> + +<!-- Desired widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %attrs; + src %URI; #REQUIRED -- URI of image to embed -- + %url.link; -- standard link attributes -- + alt CDATA #IMPLIED -- for display in place of image -- + align (top|middle|bottom|left|right) top -- relative to baseline + -- width NUMBER #IMPLIED -- desired width in en's or pixels -- + height NUMBER #IMPLIED -- desired height in en's or pixels -- + units (en|pixels) pixels -- units for width and height -- + ismap (ismap) #IMPLIED -- pass clicks to server -- + -- NEW AdvaSoft addition to allow client side imagemaps -- + -- NOTE: AdvaSoft I've added #IMPLIED to the end of the following declaration -- + usemap %URI; #IMPLIED -- client side imagemap -- + > +<!-- Add the following new definitions for client side imagemaps --> +<!ELEMENT MAP - - (AREA)+> +<!ATTLIST MAP + -- originally in the the draft it was %linkName; #REQUIRED but this clashes + with our linkName definition so define it manually -- + name CDATA #REQUIRED -- @@@ watch out for the case when Deprecated is ON -- + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + -- originally here we had the following but we (AdvaSoft) think + it is a bug + shape (rect|circle|polygon) rect #IMPLIED + so I've changed it to the following + (i.e. I've deleted the trailing #IMPLIED) -- + shape (rect|circle|polygon) rect + coords CDATA #REQUIRED + href %URI; #IMPLIED + nohref (nohref) #IMPLIED + alt CDATA #IMPLIED + > +<!-- End of client side imagemaps additions --> +<!--=================== Applets (AdvaSoft) =========================================--> + +<!ELEMENT APPLET - - (PARAM*, (%text;)*)> <!-- AdvaSoft WATCH OUT for sequence --> +<!ATTLIST APPLET + CODEBASE %URI; #IMPLIED -- code base (changed from CDATA to %URI; by AdvaSoft) -- + CODE %URI; #REQUIRED -- code file (changed from CDATA to %URI; by AdvaSoft) -- + NAME CDATA #IMPLIED -- applet name -- + WIDTH NUMBER #REQUIRED + HEIGHT NUMBER #REQUIRED + ALIGN (left|right|top|texttop|middle| + absmiddle|baseline|bottom|absbottom) baseline + VSPACE NUMBER #IMPLIED + HSPACE NUMBER #IMPLIED +> + +<!ELEMENT PARAM - O EMPTY> +<!ATTLIST PARAM + NAME NAME #REQUIRED -- The name of the parameter -- + VALUE CDATA #IMPLIED -- The value of the parameter -- +> + +<!--=================== Applets (AdvaSoft) ==End of ....============================--> + +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)+> +<!ATTLIST P + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--=================== Headings, Titles, Sections ========================--> + +<!ELEMENT HR - O EMPTY -- customizable horizontal rule --> +<!ATTLIST HR + %attrs; + src %URI; #IMPLIED -- URI of custom rule graphic -- + %url.link; -- standard link attributes -- + %needs; -- for control of text flow -- + > + +<!-- + Headers can be numbered, although this is a matter for style sheets. + The style sheet controls the numbering style: + + a) whether the parent numbering is inherited, e.g. 5.i.c + where 5 is the current sequence number for H1 headers, and + 1 is the number for H2 headers and 3 for H3 headers. + + b) what style is used for current sequence number + e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman + or a numbering scheme appropriate for the current language + + The skip attribute is used to skip over sequence numbers for items + which have been left out of the list, e.g. skip=3 advances the + sequence number past 3 omitted items. The seqnum sets the sequence + number to a specified value. Note that the style sheet may take + advantage of the sequence number for higher level headers. + + The dingbat or src attributes may be used to specify a bullet like + image to be placed adjacent to the header. Defining this in the + header element simplifies the document markup and avoids the need + to use the clear or needs attribute in the following element to + prevent it flowing around this image. +--> + +<!ELEMENT ( %heading ) - - (%text;)+> +<!ATTLIST ( %heading ) + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + skip NUMBER 0 -- skip seq nums for missing items -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src (%URI;) #IMPLIED -- bullet defined by graphic -- + %url.link; -- standard link attributes -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!ELEMENT TITLE - - (#PCDATA) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!--=================== Text Flows ========================================--> + +<!ENTITY % block + "P | %list | DL + | %preformatted + | %blockquote + | FORM | ISINDEX | FN + | MAP | APPLET + | TABLE | FIG | NOTE"> + <!-- the line above: (i.e. after: | MAP | APPLET) AdvaSoft MAP & APPLET added for client-side imagemap and HotJava support, respectively --> + +<!-- + ((%block)* | (%text)*) would be much nicer as it would avoid the need + for a <P> tag when all you want is a few words of text. The problem + is that it also prevents: "<LI> <P>some text" since it forbids PCDATA + and hence the white space between the <LI> and the <P>. +--> + +<![ %HTML.Recommended [ + <!ENTITY % flow "(%block)*"> +]]> + +<!ENTITY % flow "(%text | %block)*"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> + +<!ATTLIST PRE + %attrs; + width NUMBER #implied + %needs; -- for control of text flow -- + > + +<![ %HTML.Obsoleted [ + +<!ENTITY % literal "CDATA" + -- special non-conforming parsing mode where + the only markup signal is the end tag + in full. This will cause problems for + standard SGML tools! + --> + +<!ELEMENT XMP - - %literal> +<!ELEMENT LISTING - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Lists =============================================--> + +<!ELEMENT DL - - (LH?, (DT|DD)+) -- this is perhaps too lax? --> +<!ATTLIST DL + %attrs; + %needs; -- for control of text flow -- + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)+> +<!ELEMENT DD - O %flow;> +<!ATTLIST (DT|DD) + %attrs; + %needs; -- for control of text flow -- + > + + +<!ELEMENT (OL|UL) - - (LH?, LI+) -- should we allow a list header ? --> + +<!-- style sheet controls numbering style + a) whether the parent numbering is inherited, e.g. 5.1.c + b) what style is used for current sequence number + e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman + or a numbering scheme for the current language +--> +<!ATTLIST OL + %attrs; + %needs; -- for control of text flow -- + continue (continue) #IMPLIED -- don't restart sequence number -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- Unordered lists: + + o single or multicolumn with + horizontal or vertical wrapping + + o plain or bulletted list items + + o bullets can be customised via: + - entities (dingbats in HTMLicons) + - external graphic via URL + - individual attributes on LI tags +--> +<!ATTLIST UL + %attrs; + %needs; -- for control of text flow -- + wrap (vert|horiz|none) none -- multicolumn list style -- + plain (plain) #IMPLIED -- suppress bullets -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src (%URI;) #IMPLIED -- bullet defined by graphic -- + %url.link; -- standard link attributes -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT LH - O (%text;)+ -- list header --> +<!ATTLIST LH %attrs;> + +<!-- + For unordered lists, you can override the standard bullet with + a custom graphic specified via a URI e.g. src="splash.gif" or + a reference to one of the HTMLicons graphics e.g. dingbat=folder + + The skip attribute is used with ordered lists to skip over sequence + numbers for items which have been left out of the list, e.g. skip=3 + advances the sequence number past 3 omitted items. +--> + +<!ELEMENT LI - O %flow; -- list item --> +<!ATTLIST LI + %attrs; + %needs; -- for control of text flow -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src (%URI;) #IMPLIED -- custom bullet graphic -- + %url.link; -- standard link attributes -- + skip NUMBER 0 -- skip seq nums for missing items -- + > + +<!-- DIR and MENU are now subsumed by UL with type=plain. Use the + wrap attribute to control wrapping style for multicolumn lists --> + +<![ %HTML.Deprecated [ + <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> + <!ATTLIST (DIR|MENU) + compact (compact) #IMPLIED> +]]> + +<!--=================== Document Body =====================================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(DIV|%heading|%block|HR|ADDRESS)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(DIV | %heading | %text | %block | HR | ADDRESS)*"> + +<!-- ORIGINAL @@@ <!ELEMENT BODY O O (BANNER?, BODYTEXT) +(SPOT)> --> +<!ELEMENT BODY O O (BANNER?, %body.content) +(SPOT)> +<!ATTLIST BODY + %attrs; + background %URI; #IMPLIED -- texture tile for document background -- + > + +<!-- ORIGINAL (we do NOT use) dummy element + <!ELEMENT BODYTEXT O O %body.content> +--> + +<!-- + The BANNER element is used for a banner section which appears at + the top of the window and doesn't scroll with window contents. + This can be used for corporate logos, copyright statements and + disclaimers, as well as customized navigation/search controls. +--> +<!ELEMENT BANNER - - %body.content> +<!ATTLIST BANNER %attrs; > + +<!-- SPOT is used to insert IDs at arbitrary places + e.g. for end points of a marked range (see RANGE) --> +<!ELEMENT SPOT - O EMPTY> +<!ATTLIST SPOT id ID #REQUIRED> + +<!-- we do NOT use dummy elements + <!ELEMENT (%blockquote) - - (BODYTEXT, CREDIT?)> +--> +<!ELEMENT (%blockquote) - - (%body.content, CREDIT?)> +<!ATTLIST (%blockquote) + %attrs; + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!ENTITY % address.content "((%text;)* | P*)"> + +<!ELEMENT ADDRESS - - %address.content> +<!ATTLIST ADDRESS + %attrs; + %needs; -- for control of text flow -- + > + +<!-- + DIV can be used with the CLASS attribute to represent different + kinds of container, e.g. chapter, section, abstract, appendix. +--> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + %attrs; + %needs; -- for control of text flow -- + align (left|center|right) left -- alignment of following text -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--================ Forms ===============================================--> + +<!-- + As HTML 2.0 plus a few extensions: + + a) A RANGE control which varies between pair of values + specified with the size attribute, e.g. SIZE="1, 10" + + b) FILE widget for uploading one or more files to a server + + c) SCRIBBLE on image widget that sends the "ink" to the server + + d) SUBMIT/RESET buttons can now be customised with an image. + This subsumes the IMAGE type which is now deprecated. + + e) Graphical SELECTion menus are now supported, using + the new SHAPE attribute on OPTION elements. + + Further extensions are in the pipeline (e.g. table entry, + multiple data formats for textarea fields and client-side + scripts with custom widgets) but will have to wait until + the backlog of implementation work diminishes. +--> + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + action %URI #REQUIRED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + script %URI #IMPLIED -- link to client-side script -- + > + +<![ %HTML.Deprecated [ + <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | RANGE | FILE | SCRIBBLE | HIDDEN | IMAGE)"> +]]> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | RANGE | FILE | SCRIBBLE | HIDDEN)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + %attrs; + type %InputType TEXT + name NAME #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio buttons & checkboxes -- + disabled (disabled) #IMPLIED -- read-only fields -- + error CDATA #IMPLIED -- why field is in error -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size NUMBER #IMPLIED -- visible width of TEXT fields -- + maxlength NUMBER #IMPLIED -- max number of chars for TEXT fields -- + min %REAL #IMPLIED -- lower limit for RANGE fields -- + max %REAL #IMPLIED -- upper limit for RANGE fields -- + accept CDATA #IMPLIED -- list of MIME types for file fields -- + src %URI #IMPLIED -- for fields with background images -- + %url.link; -- standard link attributes -- + align (top|middle|bottom|left|right) top + > + +<!-- + SRC attribute added for graphical selection menus + The WIDTH, HEIGHT and UNITS attributes apply to the + image specified by the SRC attribute. + --> + +<!ELEMENT SELECT - - (OPTION+) -(INPUT|TEXTAREA|SELECT)> +<!ATTLIST SELECT + %attrs; + name CDATA #REQUIRED + multiple (multiple) #IMPLIED + disabled (disabled) #IMPLIED -- read-only menu -- + error CDATA #IMPLIED -- why selections are in error -- + src %URI #IMPLIED -- for graphical selection menus -- + %url.link; -- standard link attributes -- + width NUMBER #IMPLIED -- desired width of in en's or pixels -- + height NUMBER #IMPLIED -- desired height in en's or pixels -- + units (en|pixels) pixels -- units for width and height -- + align (top|middle|bottom|left|right) top + > + +<!ELEMENT OPTION - O (#PCDATA)> +<!ATTLIST OPTION + %attrs; + selected (selected) #IMPLIED + value CDATA #IMPLIED -- default to element content -- + shape %SHAPE; #IMPLIED -- for graphical selection menus -- + disabled (disabled) #IMPLIED -- unselectable option -- + error CDATA #IMPLIED -- why this choice is in error -- + > + +<!-- + Multi-line text input field. align=left or right + causes the field to float to margin and for + subsequent text to wrap around the field. +--> + +<!ELEMENT TEXTAREA - - (#PCDATA) -(INPUT|TEXTAREA|SELECT)> +<!ATTLIST TEXTAREA + %attrs; + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + disabled (disabled) #IMPLIED -- read-only field -- + error CDATA #IMPLIED -- why field is in error -- + align (top|middle|bottom|left|right) top + > + +<!--======================= Captions ======================================--> + +<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption --> + <!-- NOTE: the attribute definition below for "ATTLIST caption" is taken from + the table draft and replaces the original HTML 3 "ATTLIST CAPTION" + definition (it is **THE** same for all purposes!! + --> + <!-- ALIGN is used here for compatibility with deployed browsers --> + <!ENTITY % Caption "(top|bottom|left|right)"> + + <!ATTLIST caption -- table caption (or fig. caption, AdvaSoft) -- + %attrs; -- id, lang, style, dir and class -- + align %Caption; #IMPLIED -- relative to table -- + > + +<!-- original HTML 3 draft definition of the "ATTLIST CAPTION" follows: +<!ATTLIST CAPTION + %attrs; + align (top|bottom|left|right) #IMPLIED + > +--> +<!--========== from old Tables to define block.align for Fig =====================--> + +<!-- + Tables and figures can be aligned in several ways: + + bleedleft flush left with the left (window) border + left flush left with the left text margin + center centered (text flow is disabled for this mode) + right flush right with the right text margin + bleedright flush right with the right (window) border + justify when applicable the table/figure should stretch + to fill space between the text margins + + Note: text will flow around the table or figure if the browser + judges there is enough room and the alignment is not centered + or justified. The table or figure may itself be part of the + text flow around some earlier figure. You can in this case use + the clear or needs attributes to move the new table or figure + down the page beyond the obstructing earlier figure. Similarly, + you can use the clear or needs attributes with other elements + such as headers and lists to move them further down the page. +--> + +<!ENTITY % block.align + "align (bleedleft|left|center|right|bleedright|justify) center"> + +<!-- NEW TABLE model ========================== --> + +<!-- NOTE the following is imported verbatim from the draft/ietf/tables_3.dtd --> + + <!-- Content model entities imported from parent DTD: + + %body.content; allows table cells to contain headers, paras, + lists, form elements and even arbitrarily nested tables. + + %text; is text characters, including character entities and + character emphasis elements, IMG and anchors + --> + +<!-- AdvaSoft NOTE: the new attrs definitions has been moved up to replace the old HTML 3 def --> + + <!-- + The BORDER attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The FRAME attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the VALIGN attribute. + + The value "border" is included for backwards compatibility with + <TABLE BORDER> which yields frame=border and border=implied + For <TABLE BORDER=1> you get border=1 and frame=implied. In this + case, its appropriate to treat this as frame=border for backwards + compatibility with deployed browsers. + --> + + <!ENTITY % Frame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + + <!-- + The RULES attribute defines which rules to draw between cells: + + If RULES is absent then assume: + "none" if BORDER is absent or BORDER=0 otherwise "all" + --> + + <!ENTITY % Rules "(none | basic | rows | cols | all)"> + + <!-- horizontal placement of table relative to window --> + <!ENTITY % Where "(left|center|right)"> + + + <!-- horizontal alignment attributes for cell contents --> + <!ENTITY % cell.halign + "align (left|center|right|justify|char) #IMPLIED + char CDATA #IMPLIED -- alignment char, e.g. char=':' -- + charoff CDATA #IMPLIED -- offset for alignment char --" + > + + <!-- vertical alignment attributes for cell contents --> + <!ENTITY % cell.valign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + + <!ELEMENT table - - (caption?, (col|colgroup)*, thead?, tfoot?, tbody+)> + <!-- the following caption definition (from the tabel draft) is the same as the one + from the HTML3 original draft at the beginning of the file; comment it out + <!ELEMENT caption - - (%text;)+> + --> + <!ELEMENT thead - O (tr+)> + <!ELEMENT tfoot - O (tr+)> + <!ELEMENT tbody O O (tr+)> + <!ELEMENT col - O EMPTY> + <!ELEMENT tr - O (th|td)+> + <!ELEMENT (th|td) - O %body.content> + + <!ATTLIST table -- table element -- + %attrs; -- id, lang, style, dir and class -- + align %Where; #IMPLIED -- table position relative to window -- + width CDATA #IMPLIED -- table width relative to window -- + cols NUMBER #IMPLIED -- used for immediate display mode -- + border CDATA #IMPLIED -- controls frame width around table -- + frame %Frame; #IMPLIED -- which parts of table frame to include -- + rules %Rules; #IMPLIED -- rulings between rows and cols -- + cellspacing CDATA #IMPLIED -- spacing between cells -- + cellpadding CDATA #IMPLIED -- spacing within cells -- + > + + + <!-- AdvaSoft note: the "ATTLIST caption" from the table draft has been moved + up to the place where it was defined in the HTML 3 original draft !! + --> + + <!-- + COLGROUP groups a set of COL elements. It allows you to group + several columns together. COL elements contained within a COLGROUP + element do not themselves define column groups. + --> + + <!ELEMENT colgroup - O (col+)> + <!ATTLIST colgroup + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!-- + COL elements define the alignment properties for cells in a given + column or spanned columns. The WIDTH attribute specifies the + width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + --> + + <!ATTLIST col -- column groups and properties -- + %attrs; -- id, lang, style, dir and class -- + span NUMBER 1 -- number of columns spanned by group -- + width CDATA #IMPLIED -- relative width e.g. 2.5 -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!-- + Use THEAD to duplicate headers when breaking table + across page boundaries, or for static headers when + body sections are rendered in scrolling panel. + + Use TFOOT to duplicate footers when breaking table + across page boundaries, or for static footers when + body sections are rendered in scrolling panel. + + Use multiple TBODY sections when rules are needed + between groups of table rows. + --> + <!ATTLIST (thead|tbody|tfoot) -- table section -- + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!ATTLIST tr -- table row -- + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!ATTLIST (th|td) -- header or data cell -- + %attrs; -- id, lang, style, dir and class -- + axis CDATA #IMPLIED -- defaults to cell content -- + axes CDATA #IMPLIED -- list of axis names -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + + + +<!--====================== Figures ========================================--> + +<!-- + The element contains text for use in non-graphical displays. Note that + you can use the shape attribute in anchors to specify hotzones on images. + This provides for local processing of pointer clicks and a unified method + for dealing with graphical and non-graphical displays. + + Text is flowed around figures when the figure is left or right aligned. + You can request the browser to move down until there is enough room for + the next element, see the CLEAR and NEED attributes (in %needs) + + Figures offer a path towards embedding arbitrary information formats + via some kind of OLE/OpenDoc mechanism. +--> + +<!-- ORIGINAL ( we do NOT use dummy elements) + <!ELEMENT FIG - - (OVERLAY*, CAPTION?, FIGTEXT, CREDIT?) -(FIG|IMG)> +--> +<!ELEMENT FIG - - (OVERLAY*, CAPTION?, %body.content, CREDIT?) -(FIG|IMG)> +<!ATTLIST FIG + %attrs; + %needs; -- for control of text flow -- + src %URI; #REQUIRED -- URI of document to embed -- + %url.link; -- standard link attributes -- + %block.align; -- horizontal alignment -- + noflow (noflow) #IMPLIED -- noflow around figure -- + width NUMBER #IMPLIED -- desired width in units -- + height NUMBER #IMPLIED -- desired height in units -- + units (en|pixels) pixels -- specifies units as en's or pixels -- + imagemap (%URI) #IMPLIED -- pass background clicks to server -- + > + +<!-- we do NOT use dummy elements + <!ELEMENT FIGTEXT O O %body.content> +--> + +<!-- + Figure overlays. When combined with local caching, overlays + provide a cheap way of modifying a larger base image sent as + part of a previous page. +--> + +<!ELEMENT OVERLAY - O EMPTY -- image overlay --> +<!ATTLIST OVERLAY + src %URI; #REQUIRED -- URI of image overlay -- + %url.link; -- standard link attributes -- + units (en|pixels) pixels -- specifies units as en's or pixels -- + x NUMBER 0 -- offset from left in units -- + y NUMBER 0 -- offset from top in units -- + width NUMBER #IMPLIED -- desired width in units -- + height NUMBER #IMPLIED -- desired height in units -- + imagemap (%URI) #IMPLIED -- pass background clicks to server -- + > + +<!ELEMENT CREDIT - - (%text;)* -- source of image --> +<!ATTLIST CREDIT + %attrs; + > + +<!--======================== Notes ========================================--> + +<!-- +The NOTE element is used for admonishments. The CLASS attribute +is used to differentiate NOTE's, e.g. Note, Caution or Warning. +--> + +<!ELEMENT NOTE - - %body.content; -- admonishment --> +<!ATTLIST NOTE + %attrs; + src %URI; #IMPLIED -- URI of custom graphic -- + %url.link; -- standard link attributes -- + %needs; -- for control of text flow -- + > + +<!--======================== Footnotes ====================================--> + +<!-- +Typically rendered as popup note. These elements are referenced +by hypertext links specified with the anchor element. +--> +<!ELEMENT FN - - %body.content;> +<!ATTLIST FN %attrs;> + +<!--======================== Math ========================================--> + +<!-- Use     etc for greater control of spacing. --> + +<!-- Subscripts and Superscripts + + <SUB> and <SUP> are used for subscripts and superscripts. + + i j + X <SUP>i</SUP>Y<SUP>j</SUP> is X Y + + i.e. the space following the X disambiguates the binding. + The align attribute can be used for horizontal alignment, + e.g. to explicitly place an index above an element: + i + X<sup align=center>i</sup> produces X + +Short references are defined for superscripts, subscripts and boxes +to save typing when manually editing HTML math, e.g. + + x^2^ is mapped to x<sup>2</sup> + y_z_ is mapped to y<sub>z</sub> + {a+b} is mapped to <box>a + b</box> + +Note that these only apply within the MATH element and can't be +used in normal text! +--> +<!ENTITY REF1 STARTTAG "SUP"> +<!ENTITY REF2 ENDTAG "SUP"> +<!ENTITY REF3 STARTTAG "SUB"> +<!ENTITY REF4 ENDTAG "SUB"> +<!ENTITY REF5 STARTTAG "BOX"> +<!ENTITY REF6 ENDTAG "BOX"> + +<!USEMAP MAP1 MATH> +<!USEMAP MAP2 SUP> +<!USEMAP MAP3 SUB> +<!USEMAP MAP4 BOX> + +<!SHORTREF MAP1 "^" REF1 + "_" REF3 + "{" REF5 > + +<!SHORTREF MAP2 "^" REF2 + "_" REF3 + "{" REF5 > + +<!SHORTREF MAP3 "_" REF4 + "^" REF1 + "{" REF5 > + +<!SHORTREF MAP4 "}" REF6 + "^" REF1 + "_" REF3 + "{" REF5 > + +<!-- + The inclusion of %math and exclusion of %notmath is used here + to alter the content model for the B, SUB and SUP elements, + to limit them to formulae rather than general text elements. +--> + +<!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents --> +<!ENTITY % mathface "B|T|BT" -- control of font face --> +<!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface"> +<!ENTITY % formula "#PCDATA|%math"> + +<!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)> +<!ATTLIST MATH + id ID #IMPLIED + class NAMES #IMPLIED -- e.g. class=chem --> + +<!-- The BOX element acts as brackets. Delimiters are optional and + stretch to match the height of the box. The OVER element is used + when you want a line between numerator and denominator. This line + is suppressed with the alternative ATOP element. CHOOSE acts like + ATOP but adds enclosing round brackets as a convenience for binomial + coefficients. Note the use of { and } as shorthand for <BOX> and + </BOX> respectively: + + 1 + X + {1 + X<OVER>Y} is _______ + Y + + a + b + {a + b<ATOP>c - d} is + c - d + + The delimiters are represented using the LEFT and RIGHT + elements as in: + + {[<LEFT>x + y<RIGHT>]} is [ x + y ] + {(<LEFT>a<RIGHT>]} is (a] + {||<LEFT>a<RIGHT>||} is || a || + + Use { and } for "{" and "}" respectively as + these symbols are used as shorthand for BOX, e.g. + + {{<LEFT>a+b<RIGHT>}} is {a+b} + + You can stretch definite integrals to match the integrand, e.g. + + {∫<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx} + + b + / f(x) + | ----- dx + / 1 + x + a + + Note the complex content model for BOX is a work around + for the absence of support for infix operators in SGML. + + You can get oversize delimiters with the SIZE attribute, + for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX> + + Note that the names of common functions are recognized + by the parser without the need to use "&" and ";" around + them, e.g. int, sum, sin, cos, tan, ... +--> + +<!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?, + ((OVER|ATOP|CHOOSE), (%formula)*)?, + (RIGHT, (%formula)*)?)> +<!ATTLIST BOX + size (normal|medium|large|huge) normal -- oversize delims --> + +<!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY> + +<!-- Horizontal line drawn ABOVE contents + The symbol attribute allows authors to supply + an entity name for an accent, arrow symbol etc. + Generalisation of LaTeX's overline command. + + e.g. <above sym=ssmile>x</above> + places an upwardly turning curve above the "x" + --> + +<!ELEMENT ABOVE - - (%formula)+> +<!ATTLIST ABOVE sym ENTITY #IMPLIED> + +<!-- Horizontal line drawn BELOW contents + The symbol attribute allows authors to + supply an entity name for an arrow symbol etc. + Generalisation of LaTeX's underline command. + --> + +<!ELEMENT BELOW - - (%formula)+> +<!ATTLIST BELOW sym ENTITY #IMPLIED> + +<!-- Convenience tags for common accents: + vec, bar, dot, ddot, hat and tilde +--> + +<!ELEMENT (%mathvec) - - (%formula)+> + +<!-- + T and BT are used to designate terms which should + be rendered in an upright font (& bold face for BT) +--> + +<!ELEMENT (T|BT) - - (%formula)+> +<!ATTLIST (T|BT) class NAMES #IMPLIED> + +<!-- Roots e.g. <ROOT>3<OF>1+x</ROOT> --> + +<!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)> +<!ELEMENT OF - O (%formula)* -- what the root applies to --> + +<!ELEMENT SQRT - - (%formula)* -- square root convenience tag --> + +<!-- LaTeX like arrays. The COLDEF attribute specifies + a single capital letter for each column determining + how the column should be aligned, e.g. coldef="CCC" + + "L" left + "C" center + "R" right + + An optional separator letter can occur between columns + and should be one of + - or =, e.g. "C+C+C+C=C". + Whitespace within coldef is ignored. By default, the + columns are all centered. + + The ALIGN attribute alters the vertical position of the + array as compared with preceding and following expressions. + + Use LDELIM and RDELIM attributes for delimiter entities. + When the LABELS attribute is present, the array is + displayed with the first row and the first column as + labels displaced from the other elements. In this case, + the first element of the first row should normally be + left blank. + + Use &vdots; &cdots; and &ddots; for vertical, horizontal + and diagonal ellipsis dots. Use &dotfill; to fill an array + cell with horizontal dots (e.g. for a full row). + Note &ldots; places the dots on the baseline, while &cdots; + places them higher up. +--> + +<!ELEMENT ARRAY - - (ROW)+> +<!ATTLIST ARRAY + align (top|middle|bottom) middle -- vertical alignment -- + coldef CDATA #IMPLIED -- column alignment and separator -- + ldelim CDATA #IMPLIED -- stretchy left delimiter -- + rdelim CDATA #IMPLIED -- stretchy right delimiter -- + labels (labels) #IMPLIED -- TeX's \bordermatrix style --> + +<!ELEMENT ROW - O (ITEM)*> +<!ELEMENT ITEM - O (%formula)*> +<!ATTLIST ITEM + align CDATA #IMPLIED -- override coldef alignment -- + colspan NUMBER 1 -- merge columns as per TABLE -- + rowspan NUMBER 1 -- merge rows as per TABLE --> + +<!--================ Document Head ========================================--> + +<![ %HTML.Deprecated [ + <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? + & META* & LINK* & RANGE* & NEXTID?"> +]]> + +<!ENTITY % head.nextid ""> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? + & META* & LINK* & RANGE*"> + +<!ELEMENT HEAD O O (%head.content)> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + href %URI #REQUIRED + %linkExtraAttributes; > + +<!ELEMENT RANGE - O EMPTY> +<!ATTLIST RANGE + id ID #IMPLIED -- for naming marked range -- + class NAMES #IMPLIED -- for subclassing -- + from IDREF #REQUIRED -- start of marked range -- + until IDREF #REQUIRED -- end of marked range -- + > + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + href %URI #IMPLIED -- server handling queries -- + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives the base URL for + dereferencing relative URLs, e.g. + + <BASE href="http://foo.com/images"> + ... + <IMG SRC="bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + id ID #IMPLIED + href %URI; #REQUIRED + > + +<![ %HTML.Deprecated [ + <!ELEMENT NEXTID - O EMPTY> + <!ATTLIST NEXTID N CDATA #REQUIRED> +]]> + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- + A style sheet can be associated with the document using the + LINK element, e.g. <LINK rel=style href="housestyle.dsssl">. + Style overrides can be placed in the document head using the + STYLE element, e.g. + + <style notation=dsssl-lite> + dsss-lite stuff + </style> + + Later on in the document you can use: + + <h2 class=bigcaps>Header with bigger than normal capitals</h2> + <p class=abstract>A paragraph with a unique style of its own + ... + + Statements in the given style notation + + The tag names, class and id attributes are used in the style sheet + notation to describe how to render matching elements. +--> + +<!ENTITY % style-notations "dsssl-lite | w3c-style"> +<!-- +<!NOTATION dsssl-lite PUBLIC + "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN"> + +<!NOTATION w3c-style PUBLIC "IETF/RFC nnn/W3C Style Language//EN"> +--> + +<!ELEMENT STYLE - O (#PCDATA)> +<!ATTLIST STYLE + notation NOTATION (%style-notations;) #REQUIRED +> + +<!--================ Document Structure ===================================--> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!-- ORIGINAL (with possible error follows) + <!ENTITY % version.attr 'VERSION CDATA #FIXED "&HTML.Version;"'> +--> +<!ENTITY % version.attr 'VERSION CDATA #FIXED "%HTML.Version;"'> + +<!-- suggested roles are: TOC, DOC, DOCPART, HITLIST, DIALOG --> + +<!ATTLIST HTML + %version.attr; -- report DTD version to application -- + urn CDATA #IMPLIED -- universal resource name for this document -- + class NAMES #IMPLIED -- role of this document, eg table of contents -- + > + +<!-- The END --> diff --git a/htdocs/sgml-lib/html-3.2.1996-08-15.dtd b/htdocs/sgml-lib/html-3.2.1996-08-15.dtd new file mode 100644 index 0000000..778aa3c --- /dev/null +++ b/htdocs/sgml-lib/html-3.2.1996-08-15.dtd @@ -0,0 +1,613 @@ + +<!-- + W3C Document Type Definition for the HyperText Markup Language + This version is code named Wilbur, and also as "HTML 3.2". + + Draft: Tuesday 13-Aug-96 + + Author: Dave Raggett <dsr@w3.org> + + This is subject to change, pending final approval by the W3C + member companies. Changes are limited to bug fixes at this time. + + HTML 3.2 aims to capture recommended practice as of early '96 + and as such to be used as a replacement for HTML 2.0 (RFC 1866). + Widely deployed rendering attributes are included where they + have been shown to be interoperable. SCRIPT and STYLE are + included to smooth the introduction of client-side scripts + and style sheets. Browsers must avoid showing the contents + of these element Otherwise support for them is not required. + ID, CLASS and STYLE attributes are not included in this version + of HTML. + + The next version of HTML after Wilbur is code named Cougar and + will add support for <OBJECT>, client-side scripting, style + sheets, and extensions to fill-out forms. +--> + +<!-- modified by Gerald Oskoboiny: removed 'Draft' from the FPIs below. --> + +<!ENTITY % HTML.Version + "-//W3C//DTD HTML 3.2//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> + <html> + ... + </html> + -- + > + +<!--================== Deprecated Features Switch =========================--> + +<!ENTITY % HTML.Deprecated "INCLUDE"> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URL "CDATA" + -- The term URL means a CDATA attribute + whose value is a Uniform Resource Locator, + See RFC1808 (June 95) and RFC1738 (Dec 94). + --> + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!--================ Character mnemonic entities ==========================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--================ Entities for special symbols =========================--> +<!-- &trade ­ and &cbsp are not widely deployed and so not included here --> + +<!ENTITY copy CDATA "©" -- copyright sign --> +<!ENTITY reg CDATA "®" -- registered sign --> +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> +<!ENTITY nbsp CDATA " " -- non breaking space --> + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % special "A | IMG | APPLET | FONT | BR | SCRIPT | MAP"> + +<!ENTITY % form "INPUT | SELECT | TEXTAREA"> + +<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form"> + +<!ELEMENT (%font|%phrase) - - (%text)*> + +<!-- there are also 16 widely known color names although + the resulting colors are implementation dependent: + + aqua, black, blue, fuchsia, gray, green, lime, maroon, + navy, olive, purple, red, silver, teal, white, and yellow + + These colors were originally picked as being the standard + 16 colors supported with the Windows VGA palette. + --> + +<!ELEMENT FONT - - (%text)* -- local change to font --> +<!ATTLIST FONT + size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 -- + color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + clear (left|all|right|none) none -- control of text flow -- + > + +<!--================== HTML content models ================================--> +<!-- + HTML has three basic content models: + + %text character level elements and text strings + %flow block-like elements e.g. paragraphs and lists + %bodytext as (b) plus headers and ADDRESS +--> + +<!ENTITY % block + "P | %list | %preformatted | DL | DIV | CENTER | + BLOCKQUOTE | FORM | ISINDEX | HR | TABLE"> + +<!-- %flow is used for DD and LI --> + +<!ENTITY % flow "(%text | %block)*"> + +<!--=================== Document Body =====================================--> + +<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*"> + +<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? --> + +<!ENTITY % body-color-attrs " + bgcolor %color #IMPLIED + text %color #IMPLIED + link %color #IMPLIED + vlink %color #IMPLIED + alink %color #IMPLIED + "> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + background %URL #IMPLIED -- texture tile for document background -- + %body-color-attrs; -- bgcolor, text, link, vlink, alink -- + > + +<!ENTITY % address.content "((%text;) | P)*"> + +<!ELEMENT ADDRESS - - %address.content> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + align (left|center|right) left -- alignment of following text -- + > + +<!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> +<!ELEMENT center - - %body.content> + +<!--================== The Anchor Element =================================--> + +<!ELEMENT A - - (%text)* -(A)> +<!ATTLIST A + name CDATA #IMPLIED -- named link end -- + href %URL #IMPLIED -- URL for linked resource -- + rel CDATA #IMPLIED -- forward link types -- + rev CDATA #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ENTITY % SHAPE "(rect|circle|poly|default)"> +<!ENTITY % COORDS "CDATA" -- comma separated list of numbers --> + +<!ELEMENT MAP - - (AREA)*> +<!ATTLIST MAP + name CDATA #IMPLIED + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + shape %SHAPE rect + coords %COORDS #IMPLIED -- always needed except for shape=default -- + href %URL #IMPLIED -- this region acts as hypertext link -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt CDATA #REQUIRED + > + +<!--================== The LINK Element ==================================--> + +<!ENTITY % Types "CDATA" + -- See Internet Draft: draft-ietf-html-relrev-00.txt + LINK has been part of HTML since the early days + although few browsers as yet take advantage of it. + + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head: + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version (rel=print) +--> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + id ID #IMPLIED -- SGML ID attribute -- + href %URL #IMPLIED -- URL for linked resource -- + rel %Types #IMPLIED -- forward link types -- + rev %Types #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--=================== Images ============================================--> + +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + +<!-- Suggested widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)"> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + src %URL #REQUIRED -- URL of image to embed -- + alt CDATA #IMPLIED -- for display in place of image -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #IMPLIED -- suggested height in pixels -- + width %Pixels #IMPLIED -- suggested width in pixels -- + border %Pixels #IMPLIED -- suggested link border width -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server image map -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--=================== Java APPLET tag ===================================--> +<!-- + This tag is supported by all java enabled browsers. Applet resources + (including their classes) are normally loaded relative to the document + URL (or <BASE> element if it is defined). The CODEBASE attribute is used + to change this default behavior. If the CODEBASE attribute is defined then + it specifies a different location to find applet resources. The value + can be an absolute URL or a relative URL. The absolute URL is used as is + without modification and is not effected by the documents <BASE> element. + When the codebase attribute is relative, then it is relative to the + document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems + with SGML mixed content. It can always be omitted *except* when the APPLET + element hasn't any content. White space, comments and PARAM elements + don't count as content for this purpose. TEXTFLOW was introduced into + the DTD to satisfy SGML parsers, but is ignored by current Web browsers. +--> +<!ELEMENT APPLET - - (PARAM*, TEXTFLOW)> +<!ATTLIST APPLET + codebase %URL #IMPLIED -- code base -- + code CDATA #REQUIRED -- class file -- + name CDATA #IMPLIED -- applet name -- + alt CDATA #IMPLIED -- for display in place of applet -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #REQUIRED -- suggested height in pixels -- + width %Pixels #REQUIRED -- suggested width in pixels -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + > + +<!ELEMENT PARAM - O EMPTY> +<!ATTLIST PARAM + name NAME #REQUIRED -- The name of the parameter -- + value CDATA #IMPLIED -- The value of the parameter -- + > +<!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model --> + +<!-- +Here is an example: + + <applet codebase="applets/NervousText" + code=NervousText.class + width=300 + height=50> + <param name=text value="Java is Cool!"> + <img src=sorry.gif alt="This looks better with Java support"> + </applet> +--> + +<!--=================== Horizontal Rule ===================================--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels #IMPLIED + width %Length #IMPLIED + > +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + align (left|center|right) #IMPLIED + > + +<!--=================== Headings ==========================================--> + +<!-- + There are six levels of headers from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST ( %heading ) + align (left|center|right) #IMPLIED + > + +<!--=================== Preformatted Text =================================--> + +<!-- excludes images and changes in font size --> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> +<!ATTLIST PRE + width NUMBER #implied -- is this widely supported? -- + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Block-like Quotes =================================--> + +<!ELEMENT BLOCKQUOTE - - %body.content> + +<!--=================== Lists =============================================--> + +<!-- + HTML 3.2 allows you to control the sequence number for ordered lists. + You can set the sequence number with the START and VALUE attributes. + The TYPE attribute may be used to specify the rendering of ordered + and unordered lists. +--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)*> +<!ATTLIST DL + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)*> +<!ELEMENT DD - O %flow;> + +<!-- Ordered lists OL, and unordered lists UL --> +<!ELEMENT (OL|UL) - - (LI)*> + +<!-- + Numbering style + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] --> + +<!ATTLIST OL -- ordered lists -- + type %OLStyle #IMPLIED -- numbering style -- + start NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- bullet styles --> + +<!ENTITY % ULStyle "disc|square|circle"> + +<!ATTLIST UL -- unordered lists -- + type (%ULStyle) #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT (DIR|MENU) - - (LI)* -(%block)> +<!ATTLIST DIR + compact (compact) #IMPLIED + > +<!ATTLIST MENU + compact (compact) #IMPLIED + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!-- The type attribute can be used to change the bullet style + in unordered lists and the numbering style in ordered lists --> + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" --> + +<!ELEMENT LI - O %flow -- list item --> +<!ATTLIST LI + type %LIStyle #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + > + +<!--================ Forms ===============================================--> + +<!ELEMENT FORM - - %body.content -(FORM)> +<!ATTLIST FORM + action %URL #IMPLIED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + > + +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | FILE | HIDDEN | IMAGE)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + type %InputType TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED + src %URL #IMPLIED -- for fields with background images -- + align (top|middle|bottom|left|right) top -- image alignment -- + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + name CDATA #REQUIRED + size NUMBER #IMPLIED + multiple (multiple) #IMPLIED + > + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + selected (selected) #IMPLIED + value CDATA #IMPLIED -- defaults to element content -- + > + +<!-- Multi-line text input field. --> + +<!ELEMENT TEXTAREA - - (#PCDATA)*> +<!ATTLIST TEXTAREA + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + > + +<!--======================= Tables ========================================--> + +<!-- Widely deployed subset of the full table standard, see RFC 1942 + e.g. at http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> + +<!-- horizontal placement of table relative to window --> +<!ENTITY % Where "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cell.halign + "align (left|center|right) #IMPLIED" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cell.valign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT table - - (caption?, tr+)> +<!ELEMENT tr - O (th|td)*> +<!ELEMENT (th|td) - O %body.content> + +<!ATTLIST table -- table element -- + align %Where; #IMPLIED -- table position relative to window -- + width %Length #IMPLIED -- table width relative to window -- + border %Pixels #IMPLIED -- controls frame width around table -- + dummy (border) #IMPLIED -- fixes SGML error for border w/o value +-- + cellspacing %Pixels #IMPLIED -- spacing between cells -- + cellpadding %Pixels #IMPLIED -- spacing within cells -- + > + +<!ELEMENT CAPTION - - (%text;)* -- table or figure caption --> +<!ATTLIST CAPTION + align (top|bottom) #IMPLIED + > + +<!ATTLIST tr -- table row -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST (th|td) -- header or data cell -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + width %Pixels #IMPLIED -- suggested cell width -- + height %Pixels #IMPLIED -- suggested cell height -- + > + +<!--================ Document Head ========================================--> + +<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content) +(%head.misc)> + +<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives an absolute URL for dereferencing relative + URLs, e.g. + + <BASE href="http://foo.com/index.html"> + ... + <IMG SRC="images/bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif + + In the absence of a BASE element the document URL should be used. + Note that this is not necessarily the same as the URL used to + request the document, as the base URL may be overridden by an HTTP + header accompanying the document. +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + href %URL #REQUIRED + > + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- SCRIPT/STYLE are place holders for transition to next version of HTML --> + +<!ELEMENT STYLE - - (#PCDATA)* -(%head.misc) -- style info --> +<!ELEMENT SCRIPT - - (#PCDATA)* -(%head.misc) -- script statements --> + +<!--================ Document Structure ===================================--> + +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> + ]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ATTLIST HTML + %version.attr; + > + diff --git a/htdocs/sgml-lib/html-3.2.1996-09-09.dtd b/htdocs/sgml-lib/html-3.2.1996-09-09.dtd new file mode 100644 index 0000000..e340c6d --- /dev/null +++ b/htdocs/sgml-lib/html-3.2.1996-09-09.dtd @@ -0,0 +1,610 @@ +<!-- + W3C Document Type Definition for the HyperText Markup Language + This version is code named Wilbur, and also as "HTML 3.2". + + Draft: Tuesday August 21st 1996 + + Author: Dave Raggett <dsr@w3.org> + + This is subject to change, pending final approval by the W3C + member companies. + + HTML 3.2 aims to capture recommended practice as of early '96 + and as such to be used as a replacement for HTML 2.0 (RFC 1866). + Widely deployed rendering attributes are included where they + have been shown to be interoperable. SCRIPT and STYLE are + included to smooth the introduction of client-side scripts + and style sheets. Browsers must avoid showing the contents + of these element Otherwise support for them is not required. + ID, CLASS and STYLE attributes are not included in this version + of HTML. + + The next version of HTML after Wilbur is code named Cougar and + will add support for <OBJECT>, client-side scripting, style + sheets, and extensions to fill-out forms. +--> + +<!-- modified by Gerald Oskoboiny: removed "Draft 19960821" from the FPIs --> + +<!ENTITY % HTML.Version + "-//W3C//DTD HTML 3.2//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> + <html> + ... + </html> + -- + > + +<!--================== Deprecated Features Switch =========================--> + +<!ENTITY % HTML.Deprecated "INCLUDE"> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URL "CDATA" + -- The term URL means a CDATA attribute + whose value is a Uniform Resource Locator, + See RFC1808 (June 95) and RFC1738 (Dec 94). + --> + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!--================ Character mnemonic entities ==========================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--================ Entities for special symbols =========================--> +<!-- &trade ­ and &cbsp are not widely deployed and so not included here --> + +<!ENTITY copy CDATA "©" -- copyright sign --> +<!ENTITY reg CDATA "®" -- registered sign --> +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> +<!ENTITY nbsp CDATA " " -- non breaking space --> + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % special "A | IMG | APPLET | FONT | BASEFONT | BR | SCRIPT | MAP"> + +<!ENTITY % form "INPUT | SELECT | TEXTAREA"> + +<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form"> + +<!ELEMENT (%font|%phrase) - - (%text)*> + +<!-- there are also 16 widely known color names although + the resulting colors are implementation dependent: + + aqua, black, blue, fuchsia, gray, green, lime, maroon, + navy, olive, purple, red, silver, teal, white, and yellow + + These colors were originally picked as being the standard + 16 colors supported with the Windows VGA palette. + --> + +<!ELEMENT FONT - - (%text)* -- local change to font --> +<!ATTLIST FONT + size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 -- + color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" -- + > + +<!ELEMENT BASEFONT - O EMPTY -- base font size (1 to 7)--> +<!ATTLIST BASEFONT + size CDATA #IMPLIED -- e.g. size=3 -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + clear (left|all|right|none) none -- control of text flow -- + > + +<!--================== HTML content models ================================--> +<!-- + HTML has three basic content models: + + %text character level elements and text strings + %flow block-like elements e.g. paragraphs and lists + %bodytext as (b) plus headers and ADDRESS +--> + +<!ENTITY % block + "P | %list | %preformatted | DL | DIV | CENTER | + BLOCKQUOTE | FORM | ISINDEX | HR | TABLE"> + +<!-- %flow is used for DD and LI --> + +<!ENTITY % flow "(%text | %block)*"> + +<!--=================== Document Body =====================================--> + +<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*"> + +<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? --> + +<!ENTITY % body-color-attrs " + bgcolor %color #IMPLIED + text %color #IMPLIED + link %color #IMPLIED + vlink %color #IMPLIED + alink %color #IMPLIED + "> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + background %URL #IMPLIED -- texture tile for document background -- + %body-color-attrs; -- bgcolor, text, link, vlink, alink -- + > + +<!ENTITY % address.content "((%text;) | P)*"> + +<!ELEMENT ADDRESS - - %address.content> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + align (left|center|right) #IMPLIED -- alignment of following text -- + > + +<!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> +<!ELEMENT center - - %body.content> + +<!--================== The Anchor Element =================================--> + +<!ELEMENT A - - (%text)* -(A)> +<!ATTLIST A + name CDATA #IMPLIED -- named link end -- + href %URL #IMPLIED -- URL for linked resource -- + rel CDATA #IMPLIED -- forward link types -- + rev CDATA #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ENTITY % SHAPE "(rect|circle|poly|default)"> +<!ENTITY % COORDS "CDATA" -- comma separated list of numbers --> + +<!ELEMENT MAP - - (AREA)*> +<!ATTLIST MAP + name CDATA #IMPLIED + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + shape %SHAPE rect + coords %COORDS #IMPLIED -- always needed except for shape=default -- + href %URL #IMPLIED -- this region acts as hypertext link -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt CDATA #REQUIRED + > + +<!--================== The LINK Element ==================================--> + +<!ENTITY % Types "CDATA" + -- See Internet Draft: draft-ietf-html-relrev-00.txt + LINK has been part of HTML since the early days + although few browsers as yet take advantage of it. + + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head: + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version (rel=print) +--> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + id ID #IMPLIED -- SGML ID attribute -- + href %URL #IMPLIED -- URL for linked resource -- + rel %Types #IMPLIED -- forward link types -- + rev %Types #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--=================== Images ============================================--> + +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + +<!-- Suggested widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)"> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + src %URL #REQUIRED -- URL of image to embed -- + alt CDATA #IMPLIED -- for display in place of image -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #IMPLIED -- suggested height in pixels -- + width %Pixels #IMPLIED -- suggested width in pixels -- + border %Pixels #IMPLIED -- suggested link border width -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server image map -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--=================== Java APPLET tag ===================================--> +<!-- + This tag is supported by all java enabled browsers. Applet resources + (including their classes) are normally loaded relative to the document + URL (or <BASE> element if it is defined). The CODEBASE attribute is used + to change this default behavior. If the CODEBASE attribute is defined then + it specifies a different location to find applet resources. The value + can be an absolute URL or a relative URL. The absolute URL is used as is + without modification and is not effected by the documents <BASE> element. + When the codebase attribute is relative, then it is relative to the + document URL (or <BASE> tag if defined). +--> +<!ELEMENT APPLET - - (%text)* +(PARAM)> +<!ATTLIST APPLET + codebase %URL #IMPLIED -- code base -- + code CDATA #REQUIRED -- class file -- + alt CDATA #IMPLIED -- for display in place of applet -- + name CDATA #IMPLIED -- applet name -- + width %Pixels #REQUIRED -- suggested width in pixels -- + height %Pixels #REQUIRED -- suggested height in pixels -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + > + +<!ELEMENT PARAM - O EMPTY> +<!ATTLIST PARAM + name NAME #REQUIRED -- The name of the parameter -- + value CDATA #IMPLIED -- The value of the parameter -- + > + +<!-- +Here is an example: + + <applet codebase="applets/NervousText" + code=NervousText.class + width=300 + height=50> + <param name=text value="Java is Cool!"> + <img src=sorry.gif alt="This looks better with Java support"> + </applet> +--> + +<!--=================== Horizontal Rule ===================================--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels #IMPLIED + width %Length #IMPLIED + > +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + align (left|center|right) #IMPLIED + > + +<!--=================== Headings ==========================================--> + +<!-- + There are six levels of headers from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST ( %heading ) + align (left|center|right) #IMPLIED + > + +<!--=================== Preformatted Text =================================--> + +<!-- excludes images and changes in font size --> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> +<!ATTLIST PRE + width NUMBER #implied -- is this widely supported? -- + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Block-like Quotes =================================--> + +<!ELEMENT BLOCKQUOTE - - %body.content> + +<!--=================== Lists =============================================--> + +<!-- + HTML 3.2 allows you to control the sequence number for ordered lists. + You can set the sequence number with the START and VALUE attributes. + The TYPE attribute may be used to specify the rendering of ordered + and unordered lists. +--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)*> +<!ATTLIST DL + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)*> +<!ELEMENT DD - O %flow;> + +<!-- Ordered lists OL, and unordered lists UL --> +<!ELEMENT (OL|UL) - - (LI)*> + +<!-- + Numbering style + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] --> + +<!ATTLIST OL -- ordered lists -- + type %OLStyle #IMPLIED -- numbering style -- + start NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- bullet styles --> + +<!ENTITY % ULStyle "disc|square|circle"> + +<!ATTLIST UL -- unordered lists -- + type (%ULStyle) #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT (DIR|MENU) - - (LI)* -(%block)> +<!ATTLIST DIR + compact (compact) #IMPLIED + > +<!ATTLIST MENU + compact (compact) #IMPLIED + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!-- The type attribute can be used to change the bullet style + in unordered lists and the numbering style in ordered lists --> + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" --> + +<!ELEMENT LI - O %flow -- list item --> +<!ATTLIST LI + type %LIStyle #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + > + +<!--================ Forms ===============================================--> + +<!ELEMENT FORM - - %body.content -(FORM)> +<!ATTLIST FORM + action %URL #IMPLIED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + > + +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | FILE | HIDDEN | IMAGE)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + type %InputType TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED + src %URL #IMPLIED -- for fields with background images -- + align (top|middle|bottom|left|right) top -- image alignment -- + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + name CDATA #REQUIRED + size NUMBER #IMPLIED + multiple (multiple) #IMPLIED + > + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + selected (selected) #IMPLIED + value CDATA #IMPLIED -- defaults to element content -- + > + +<!-- Multi-line text input field. --> + +<!ELEMENT TEXTAREA - - (#PCDATA)*> +<!ATTLIST TEXTAREA + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + > + +<!--======================= Tables ========================================--> + +<!-- Widely deployed subset of the full table standard, see RFC 1942 + e.g. at http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> + +<!-- horizontal placement of table relative to window --> +<!ENTITY % Where "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cell.halign + "align (left|center|right) #IMPLIED" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cell.valign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT table - - (caption?, tr+)> +<!ELEMENT tr - O (th|td)*> +<!ELEMENT (th|td) - O %body.content> + +<!ATTLIST table -- table element -- + align %Where; #IMPLIED -- table position relative to window -- + width %Length #IMPLIED -- table width relative to window -- + border %Pixels #IMPLIED -- controls frame width around table -- + dummy (border) #IMPLIED -- fixes SGML error for border w/o value -- + cellspacing %Pixels #IMPLIED -- spacing between cells -- + cellpadding %Pixels #IMPLIED -- spacing within cells -- + > + +<!ELEMENT CAPTION - - (%text;)* -- table or figure caption --> +<!ATTLIST CAPTION + align (top|bottom) #IMPLIED + > + +<!ATTLIST tr -- table row -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST (th|td) -- header or data cell -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cell -- + %cell.valign; -- vertical alignment in cell -- + width %Pixels #IMPLIED -- suggested width for cell -- + height %Pixels #IMPLIED -- suggested height for cell -- + > + +<!--================ Document Head ========================================--> + +<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content) +(%head.misc)> + +<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives an absolute URL for dereferencing relative + URLs, e.g. + + <BASE href="http://foo.com/index.html"> + ... + <IMG SRC="images/bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif + + In the absence of a BASE element the document URL should be used. + Note that this is not necessarily the same as the URL used to + request the document, as the base URL may be overridden by an HTTP + header accompanying the document. +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + href %URL #REQUIRED + > + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- SCRIPT/STYLE are place holders for transition to next version of HTML --> + +<!ELEMENT STYLE - - (#PCDATA)* -(%head.misc) -- style info --> +<!ELEMENT SCRIPT - - (#PCDATA)* -(%head.misc) -- script statements --> + +<!--================ Document Structure ===================================--> + +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> + +<!ELEMENT HTML O O (%html.content)> +<!ATTLIST HTML + %version.attr; + > + diff --git a/htdocs/sgml-lib/html-3.2.dtd b/htdocs/sgml-lib/html-3.2.dtd new file mode 100644 index 0000000..57dc9b8 --- /dev/null +++ b/htdocs/sgml-lib/html-3.2.dtd @@ -0,0 +1,598 @@ +<!-- + W3C Document Type Definition for the HyperText Markup Language + version 3.2 as ratified by a vote of W3C member companies. + For more information on W3C look at URL http://www.w3.org/ + + Date: Tuesday January 14th 1997 + + Author: Dave Raggett <dsr@w3.org> + + HTML 3.2 aims to capture recommended practice as of early '96 + and as such to be used as a replacement for HTML 2.0 (RFC 1866). + Widely deployed rendering attributes are included where they + have been shown to be interoperable. SCRIPT and STYLE are + included to smooth the introduction of client-side scripts + and style sheets. Browsers must avoid showing the contents + of these element Otherwise support for them is not required. + ID, CLASS and STYLE attributes are not included in this version + of HTML. +--> + +<!ENTITY % HTML.Version + "-//W3C//DTD HTML 3.2 Final//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> + <html> + ... + </html> + -- + > + +<!--================== Deprecated Features Switch =========================--> + +<!ENTITY % HTML.Deprecated "INCLUDE"> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URL "CDATA" + -- The term URL means a CDATA attribute + whose value is a Uniform Resource Locator, + See RFC1808 (June 95) and RFC1738 (Dec 94). + --> + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!--================ Character mnemonic entities ==========================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--================ Entities for special symbols =========================--> +<!-- &trade and &cbsp are not widely deployed and so not included here --> + +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % special "A | IMG | APPLET | FONT | BASEFONT | BR | SCRIPT | MAP"> + +<!ENTITY % form "INPUT | SELECT | TEXTAREA"> + +<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form"> + +<!ELEMENT (%font|%phrase) - - (%text)*> + +<!-- there are also 16 widely known color names although + the resulting colors are implementation dependent: + + aqua, black, blue, fuchsia, gray, green, lime, maroon, + navy, olive, purple, red, silver, teal, white, and yellow + + These colors were originally picked as being the standard + 16 colors supported with the Windows VGA palette. + --> + +<!ELEMENT FONT - - (%text)* -- local change to font --> +<!ATTLIST FONT + size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 -- + color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" -- + > + +<!ELEMENT BASEFONT - O EMPTY -- base font size (1 to 7)--> +<!ATTLIST BASEFONT + size CDATA #IMPLIED -- e.g. size=3 -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + clear (left|all|right|none) none -- control of text flow -- + > + +<!--================== HTML content models ================================--> +<!-- + HTML has three basic content models: + + %text character level elements and text strings + %flow block-like elements e.g. paragraphs and lists + %bodytext as %flow plus headers H1-H6 and ADDRESS +--> + +<!ENTITY % block + "P | %list | %preformatted | DL | DIV | CENTER | + BLOCKQUOTE | FORM | ISINDEX | HR | TABLE"> + +<!-- %flow is used for DD and LI --> + +<!ENTITY % flow "(%text | %block)*"> + +<!--=================== Document Body =====================================--> + +<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*"> + +<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? --> + +<!ENTITY % body-color-attrs " + bgcolor %color #IMPLIED + text %color #IMPLIED + link %color #IMPLIED + vlink %color #IMPLIED + alink %color #IMPLIED + "> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + background %URL #IMPLIED -- texture tile for document background -- + %body-color-attrs; -- bgcolor, text, link, vlink, alink -- + > + +<!ENTITY % address.content "((%text;) | P)*"> + +<!ELEMENT ADDRESS - - %address.content> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + align (left|center|right) #IMPLIED -- alignment of following text -- + > + +<!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> +<!ELEMENT center - - %body.content> + +<!--================== The Anchor Element =================================--> + +<!ELEMENT A - - (%text)* -(A)> +<!ATTLIST A + name CDATA #IMPLIED -- named link end -- + href %URL #IMPLIED -- URL for linked resource -- + rel CDATA #IMPLIED -- forward link types -- + rev CDATA #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ENTITY % SHAPE "(rect|circle|poly)"> +<!ENTITY % COORDS "CDATA" -- comma separated list of numbers --> + +<!ELEMENT MAP - - (AREA)*> +<!ATTLIST MAP + name CDATA #IMPLIED + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + shape %SHAPE rect + coords %COORDS #IMPLIED -- defines coordinates for shape -- + href %URL #IMPLIED -- this region acts as hypertext link -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt CDATA #REQUIRED -- needed for non-graphical user agents -- + > + +<!--================== The LINK Element ==================================--> + +<!ENTITY % Types "CDATA" + -- See Internet Draft: draft-ietf-html-relrev-00.txt + LINK has been part of HTML since the early days + although few browsers as yet take advantage of it. + + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in the document head: + b) to link to a separate style sheet + c) to make a link to a script + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version +--> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + href %URL #IMPLIED -- URL for linked resource -- + rel %Types #IMPLIED -- forward link types -- + rev %Types #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--=================== Images ============================================--> + +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % Pixels "NUMBER" -- integer representing length in pixels --> + +<!-- Suggested widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)"> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + src %URL #REQUIRED -- URL of image to embed -- + alt CDATA #IMPLIED -- for display in place of image -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #IMPLIED -- suggested height in pixels -- + width %Pixels #IMPLIED -- suggested width in pixels -- + border %Pixels #IMPLIED -- suggested link border width -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server image map -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--=================== Java APPLET tag ===================================--> +<!-- + This tag is supported by all Java enabled browsers. Applet resources + (including their classes) are normally loaded relative to the document + URL (or <BASE> element if it is defined). The CODEBASE attribute is used + to change this default behavior. If the CODEBASE attribute is defined then + it specifies a different location to find applet resources. The value + can be an absolute URL or a relative URL. The absolute URL is used as is + without modification and is not effected by the documents <BASE> element. + When the codebase attribute is relative, then it is relative to the + document URL (or <BASE> tag if defined). +--> +<!ELEMENT APPLET - - (PARAM | %text)*> +<!ATTLIST APPLET + codebase %URL #IMPLIED -- code base -- + code CDATA #REQUIRED -- class file -- + alt CDATA #IMPLIED -- for display in place of applet -- + name CDATA #IMPLIED -- applet name -- + width %Pixels #REQUIRED -- suggested width in pixels -- + height %Pixels #REQUIRED -- suggested height in pixels -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + > + +<!ELEMENT PARAM - O EMPTY> +<!ATTLIST PARAM + name NMTOKEN #REQUIRED -- The name of the parameter -- + value CDATA #IMPLIED -- The value of the parameter -- + > + +<!-- +Here is an example: + + <applet codebase="applets/NervousText" + code=NervousText.class + width=300 + height=50> + <param name=text value="Java is Cool!"> + <img src=sorry.gif alt="This looks better with Java support"> + </applet> +--> + +<!--=================== Horizontal Rule ===================================--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels #IMPLIED + width %Length #IMPLIED + > +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + align (left|center|right) #IMPLIED + > + +<!--=================== Headings ==========================================--> + +<!-- + There are six levels of headers from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST ( %heading ) + align (left|center|right) #IMPLIED + > + +<!--=================== Preformatted Text =================================--> + +<!-- excludes images and changes in font size --> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> +<!ATTLIST PRE + width NUMBER #implied -- is this widely supported? -- + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Block-like Quotes =================================--> + +<!ELEMENT BLOCKQUOTE - - %body.content> + +<!--=================== Lists =============================================--> + +<!-- + HTML 3.2 allows you to control the sequence number for ordered lists. + You can set the sequence number with the START and VALUE attributes. + The TYPE attribute may be used to specify the rendering of ordered + and unordered lists. +--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)+> +<!ATTLIST DL + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)*> +<!ELEMENT DD - O %flow;> + +<!-- Ordered lists OL, and unordered lists UL --> +<!ELEMENT (OL|UL) - - (LI)+> + +<!-- + Numbering style + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] --> + +<!ATTLIST OL -- ordered lists -- + type %OLStyle #IMPLIED -- numbering style -- + start NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- bullet styles --> + +<!ENTITY % ULStyle "disc|square|circle"> + +<!ATTLIST UL -- unordered lists -- + type (%ULStyle) #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST DIR + compact (compact) #IMPLIED + > +<!ATTLIST MENU + compact (compact) #IMPLIED + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!-- The type attribute can be used to change the bullet style + in unordered lists and the numbering style in ordered lists --> + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" --> + +<!ELEMENT LI - O %flow -- list item --> +<!ATTLIST LI + type %LIStyle #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + > + +<!--================ Forms ===============================================--> + +<!ELEMENT FORM - - %body.content -(FORM)> +<!ATTLIST FORM + action %URL #IMPLIED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + > + +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | FILE | HIDDEN | IMAGE)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + type %InputType TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED + src %URL #IMPLIED -- for fields with background images -- + align (top|middle|bottom|left|right) top -- image alignment -- + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + name CDATA #REQUIRED + size NUMBER #IMPLIED + multiple (multiple) #IMPLIED + > + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + selected (selected) #IMPLIED + value CDATA #IMPLIED -- defaults to element content -- + > + +<!-- Multi-line text input field. --> + +<!ELEMENT TEXTAREA - - (#PCDATA)*> +<!ATTLIST TEXTAREA + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + > + +<!--======================= Tables ========================================--> + +<!-- Widely deployed subset of the full table standard, see RFC 1942 + e.g. at http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> + +<!-- horizontal placement of table relative to window --> +<!ENTITY % Where "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cell.halign + "align (left|center|right) #IMPLIED" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cell.valign + "valign (top|middle|bottom) #IMPLIED" + > + +<!ELEMENT table - - (caption?, tr+)> +<!ELEMENT tr - O (th|td)*> +<!ELEMENT (th|td) - O %body.content> + +<!ATTLIST table -- table element -- + align %Where; #IMPLIED -- table position relative to window -- + width %Length #IMPLIED -- table width relative to window -- + border %Pixels #IMPLIED -- controls frame width around table -- + cellspacing %Pixels #IMPLIED -- spacing between cells -- + cellpadding %Pixels #IMPLIED -- spacing within cells -- + > + +<!ELEMENT CAPTION - - (%text;)* -- table or figure caption --> +<!ATTLIST CAPTION + align (top|bottom) #IMPLIED + > + +<!ATTLIST tr -- table row -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST (th|td) -- header or data cell -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cell -- + %cell.valign; -- vertical alignment in cell -- + width %Pixels #IMPLIED -- suggested width for cell -- + height %Pixels #IMPLIED -- suggested height for cell -- + > + +<!--================ Document Head ========================================--> + +<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content) +(%head.misc)> + +<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives an absolute URL for dereferencing relative + URLs, e.g. + + <BASE href="http://foo.com/index.html"> + ... + <IMG SRC="images/bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif + + In the absence of a BASE element the document URL should be used. + Note that this is not necessarily the same as the URL used to + request the document, as the base URL may be overridden by an HTTP + header accompanying the document. +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + href %URL #REQUIRED + > + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- SCRIPT/STYLE are place holders for transition to next version of HTML --> + +<!ELEMENT STYLE - - (#PCDATA)* -(%head.misc) -- style info --> +<!ELEMENT SCRIPT - - (#PCDATA)* -(%head.misc) -- script statements --> + +<!--================ Document Structure ===================================--> + +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ATTLIST HTML + %version.attr; + > + diff --git a/htdocs/sgml-lib/html-3.dtd b/htdocs/sgml-lib/html-3.dtd new file mode 100644 index 0000000..289526f --- /dev/null +++ b/htdocs/sgml-lib/html-3.dtd @@ -0,0 +1,1447 @@ +<!-- + html3.dtd + + Document Type Definition for the HyperText Markup Language (HTML DTD) + + Draft: Fri 24-Mar-95 09:46:33 + + Author: Dave Raggett <dsr@hplb.hpl.hp.com> + + W3O is developing a testbed browser to provide practical + experience with HTML 3.0 before it becomes a standard. + See: http://www.w3.org/hypertext/WWW/Arena/ + + This is an open process and comments are welcomed on the + www-html mailing list. + + Please use the following MIME content type: + + Content-Type: text/html; version=3.0 + + This will allow clients to distinguish HTML 3.0 from current + HTML documents. This is most easily achieved by saving + files with the extension ".html3" or ".ht3" so that servers + can easily distinguish these files from HTML 2.0 files. + + The entity HTML.Recommended can be used to give a more rigorous + version of the DTD suitable for use with SGML authoring tools. + The default version of the DTD offers a laxer interpretation, + e.g. allowing authors to omit leading <P> elements. You can + switch on the more rigorous version of the DTD by including + the following at the start of your HTML document. + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN//" + [ <!ENTITY % HTML.Recommended "INCLUDE"> ] > + + + Design Objectives: + + o Backwards compatibility with 2.0 + + o Tightening up HTML.Recommended and + moving more things to HTML.Deprecated + + o Keep HTML - simple don't compete with CALS + + o Make it practical for people to edit HTML 3.0 + documents directly, i.e. avoid long names. + + o Tables, figures and math from HTML+ + with tweaks based on recent experience + + o Client-side event handling for figures + and graphical form selection menus + + o Add limited presentational controls with + a view to use of linked style sheets + (style overrides are supported) + + o Compatibility with ICADD as per Yuri's suggestions + + HTML 3.0 relies on linked style info to give authors + control over the appearence of documents. Such info is + placed in a linked style sheet, or as overrides in the + HTML document head, using the STYLE element. The generic + CLASS attribute can be used to subclass elements when + you want to use a different style from normal, e.g. you + might use <h2 class=bigcaps> for headers with enlarged + capital letters. Note that the class attribute has a + wider scope than just style changes, e.g. browsers could + provide the means for searching through documents, + restricting search according to element class values. + + The DTD contains a small number of attributes for direct + control of basic alignment parameters; column widths for + tables; support for custom bullets, sequence numbering for + lists and headers; and text flow. These attributes offer + control over appearence which would be inconvenient to + express exclusively via associated style sheets. + + The MD attribute for each hypertext or inline link specifies a + message digest such as MD5 for the linked object and is needed + to ensure someone hasn't tampered with a linked document. + + History: + + 24th March '95 + + Changed ROLE->CLASS for HTML element + Added dummy elements to fix problem with mixed + content models for BODY, BLOCKQUOTE/BQ and FIG + Dropped audio fields from FORMs + Reinstated MIN/MAX for range fields + Reinstated DISABLED and ERROR attributes for fields + + 22nd March '95 + + Changed from em to en units. The latter + is a typographical unit = half point size + Merged NEEDS into CLEAR for control of textflow + + 21st March '95 + + Added REL=Banner to LINK element + Added BANNER element in place of <DIV CLASS=BANNER> + Added RANGE and SPOT elements + Added FN in place of <NOTE ROLE=FOOTNOTE> + Changed ROLE->CLASS for NOTE element + + 17th March '95 + + Fixed bug in PRE content model + Changed external references to omit trailling // + Dropped <!DOCTYPE HTML [ ... ]> wrapper to avoid problems + with "real" sgml parsers + Added NOFLOW attribute to FIG and TABLE + Fixed typo in IMG ALIGN attribute + Made SELECT match IMG for graphic attributes + Added decimal alignment for tabs and table cells + Added ALIGN attribute to TEXTAREA for parity + with IMG and INPUT, including ALIGN=LEFT etc. + + 13th March '95 + + Dropped MARK tag on advice from SGML Open + Allowed spaces in table colspec attribute + Changed ARRAY element + Added CHOOSE tag to BOX element + Cleaned up PRE content model + Obsoleted tags incompatible with SGML + + 6th March '95 + + Added several tags to MATH: %mathface, %mathvec + and improved ROOT, with new SQRT convience tag + + 1st March '95 + + Dropped align attribute from BR element + Added indent attribute to TAB + Added optional CREDIT to end of BQ + Changed FIG to %body.content to allow headers + + 22nd February '95 + + Added align attribute, and dropped before, after, center and right + attributes to clean up TAB element + Added INS and DEL for legal documents + Added CREDIT to end of FIG element + Dropped FN in favor of <NOTE ROLE=FootNote> + + 9th Feburuary '95 + + Dropped base attribute mechanism for scoping relative URLs + Dropped nofold attribute for disabling whitespace folding + Dropped border width attributes for FIG (-> style sheet) + Dropped delims attribute from math BOX element + Dropped stylistic attributes from OL such as inherit (-> stylesheet) + Added baseline to list of valign attribute values for tables. + Added DIV element for generic container class and static banners + Added MARK element for marked range class + Added closed set of LINK REL values for toolbars + Added numbering attributes to headers + Added bullet attributes to headers + Added TERM element to math for style sheet control of term rendering + Changed to imagemap=URI for server-side event handling for FIG/OVERLAY + Changed delimiter attributes for math arrays + Changed ROOT element for maths to allow an arbitrary radix + Simplified numbering attributes for ordered lists + Simplified STYLE element to leave binding to style language +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 3.0//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> + <html> + ... + </html> + -- + > + +<!--================== Flags for Marked Sections ==========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for compatibility + with widespread usage, but they may compromise the structural + integrity of a document. This feature test entity enables + a more prescriptive document type definition that eliminates + the above features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for compatibility + with earlier versions of the specification, but they tend + to be used an implemented inconsistently, and their use is + deprecated. This feature test entity enables a document type + definition that eliminates these features. + --> + +<!ENTITY % HTML.Obsoleted "IGNORE" + -- The XMP, LISTING and PLAINTEXT tags are incompatible with SGML + and derive from very early versions of HTML. They require non- + standard parsers and will cause problems for processing + documents with standard SGML tools. + --> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URI "CDATA" + -- The term URI means a CDATA attribute + whose value is a Uniform Resource Identifier, + as defined by + "Uniform Resource Identifiers" by Tim Berners-Lee + aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html + aka RFC 1630 + + Note that CDATA attributes are limited by the LITLEN + capacity (1024 in the current version of html.decl), + so that URIs in HTML have a bounded length. + + --> + +<!ENTITY % REAL "CDATA" -- real numbers (not in SGML) --> + +<!ENTITY % SHAPE "CDATA" + -- Shape of hotzone in image. + + All coordinates are assumed to be numbers in the range 0 to 1 + and interpreted as fractional width/height and measured from + the top left corner of the associated image. + + The attribute value is a string taking one of the following forms: + + "default" + + Used to define a default link for the figure background. + + "circle x, y, r" + + (x, y) define the center and r the radius. + + "rect x, y, w, h" + + (x, y) defines upper left, and w and h the width and height. + + "polygon x1, y1, x2, y2, ..." + + Given n pairs of x, y coordinates, the polygon is closed by a + line linking the n'th point to the first. Intersecting polygons + use the non-zero winding number rule to determine if a point lies + inside the polygon.I + -- +> + +<!-- 3.0 Parameter Entities --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<![ %HTML.Obsoleted [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + + +<![ %HTML.Deprecated [ + <!ENTITY % list "UL | OL | DIR | MENU"> + <!ENTITY % blockquote "BLOCKQUOTE | BQ"> +]]> + +<!ENTITY % list "UL | OL"> + +<!ENTITY % blockquote "BQ"> + +<!ENTITY % preformatted "PRE"> + + +<!-- The CLASS attribute is used to subclass HTML elements for + rendering purposes, when used with style sheets, e.g. DSSSL lite --> + +<!ENTITY % attrs -- common attributes for elements -- + 'id ID #IMPLIED -- as target for hrefs (link ends) -- + lang CDATA "en.us" -- ISO language, country code -- + class NAMES #IMPLIED -- for subclassing elements --'> + +<!-- SGML standard forces different NAMES for all attribute values + in the same element, regardless of the attribute name! As a result + CDATA is used for CLEAR attribute to avoid clash with ALIGN attribute.--> + +<!-- +When text flows around a figure or table in the margin, you sometimes want +to start an element like a header, paragraph or list below the figure rather +than alongside it. The CLEAR attribute allows you to move down unconditionally: + + clear=left move down until left margin is clear + clear=right move down until right margin is clear + clear=all move down until both margins are clear + +Alternatively, you can decide to place the element alongside the figure just +so long as there is enough room. The minimum width needed is specified as: + + clear="40 en" move down until there is at least 40 en units free + clear="100 pixels" move down until there is at least 100 pixels free + +The style sheet (or browser defaults) may provide default minimum widths for +each class of block-like elements. +--> + +<!ENTITY % needs -- Attributes for controlling text flow. Used in headers + and other elements to guarantee sufficient room -- + 'clear CDATA #IMPLIED'> + +<!-- + The following attribute may be included where ever a URL can be given: + + md message digest e.g. md="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ" + where the digest is base64 encoded and preceded by a prefix + denoting the algorithm (in this case MD5). +--> + +<!ENTITY % url.link -- Attributes associated with URL based links -- + "md CDATA #IMPLIED -- message digest for linked object --"> + +<!--================ Character mnemonic entities ==========================--> + +<!-- The HTML list of Latin-1 entities includes the full range + of characters in widely available Latin-1 fonts, and as such + is a mixture of ISOlat1 and other ISO publishing symbols --> + +<!ENTITY % HTMLlat1 PUBLIC + "-//IETF//ENTITIES Added Latin 1 for HTML//EN"> +%HTMLlat1; + +<!--================ Entities for special symbols =========================--> + +<!ENTITY emsp SDATA "[emsp ]" -- em space --> +<!ENTITY ensp SDATA "[ensp ]" -- en space (1/2-em) --> +<!ENTITY mdash SDATA "[ndash ]" -- em dash --> +<!ENTITY ndash SDATA "[ndash ]" -- en dash (1/2-em) --> +<!ENTITY nbsp SDATA "[nbsp ]" -- non breaking space --> +<!ENTITY shy SDATA "[shy ]" -- soft hyphen --> +<!ENTITY copy SDATA "[copy ]" -- copyright sign --> +<!ENTITY trade SDATA "[trade ]" -- trade mark sign --> +<!ENTITY reg SDATA "[reg ]" -- registered sign --> + +<!--================ Entities for standard icons ==========================--> + +<!-- a range of standard icons such as &folder; for use + in speeding up display of directory listings etc. --> + +<!ENTITY % HTMLicons PUBLIC + "-//IETF//ENTITIES icons for HTML//EN"> +%HTMLicons; + +<!--================ Entities for math symbols ============================--> + +<!-- ISO subset chosen for use with the widely available Adobe math font --> + +<!ENTITY % HTMLmath PUBLIC + "-//IETF//ENTITIES Math and Greek for HTML//EN"> +%HTMLmath; + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font " U | S | TT | I | BIG | SMALL"> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % misc "Q | LANG | AU | DFN | PERSON | ACRONYM | ABBREV | INS | DEL"> + +<!ENTITY % special "TAB | MATH | A | IMG | BR"> + +<!ENTITY % notmath "%font | %phrase | %special | %misc"> + +<!ENTITY % text "#PCDATA | SUB | SUP | B | %notmath"> + + +<!ENTITY % pre.exclusion "TAB|MATH|IMG|BIG|SMALL|SUB|SUP"> + +<!ELEMENT (%font|B|%phrase|%misc) - - (%text)+> +<!ATTLIST (%font|B|%phrase|%misc) %attrs;> + +<!-- Subscripts and superscripts. The ALIGN attribute is only used for math --> + +<!ELEMENT (SUB|SUP) - - (%text)+> +<!ATTLIST (SUB|SUP) + %attrs; + align (left|center|right) #IMPLIED + > + +<!-- Forced line break --> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + %attrs; + %needs; -- for control of text flow -- + > + +<!-- Named left, center and right tab stops (independent of '\t' char) --> + +<!ELEMENT TAB - O EMPTY> +<!ATTLIST TAB + id ID #IMPLIED -- defines named tab stop -- + indent NUMBER 0 -- en units before new tab stop -- + to IDREF #IMPLIED -- jump to named tab stop -- + align (left|center|right|decimal) left + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + > + +<!--================== Link Markup ========================================--> + +<!-- + With HTML 3.0 you can use ID attributes on most elements for named + link ends. The use of the NAME attribute on anchors is deprecated. + + Do we want to support arbitrary elements for link starts? This would + involve adding HREF and related attributes to most elements. +--> + +<![ %HTML.Deprecated [ + <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --"> +]]> + +<!ENTITY % linkName ""> + + +<!ENTITY % ToolBar "home|toc|index|glossary|copyright| + up|previous|next|help|bookmark" + + -- LINK RELationship values which are used to create toolbar + buttons or menu items for navigation, where toc stands + for table of contents and bookmark provides for an open + ended set of links, i.e. you can use multiple bookmarks + for key entry points. Use the optional TITLE attribute + to override default names. + --> + +<!ENTITY % linkType "NAME" + -- A definitive list will be specified at a later date. + + They are used + + a) by stylesheets to control how collections of + html nodes are rendered into printed documents + + b) for document specific toolbars/menus when used + with the LINK element in document head: + + "home|toc|index|glossary|copyright| + up|previous|next|help|bookmark" + + where toc stands for table of contents and + bookmark provides for an open ended set of links, + i.e. you can use several bookmarks for key entry + points. Use the optional TITLE attribute to + override default names. + + c) for hypertext paths or guided tours, + with REL=NODE and REL=PATH. + + d) to make a link to a style sheet, e.g. rel=stylesheet + (used only with the LINK element). + + e) to make a link to a separate banner, e.g. rel=banner + (used only with the LINK element). + --> + + +<!ENTITY % linkExtraAttributes -- URN moved to %url.link -- + "rel %linkType #IMPLIED -- forward relationship type -- + rev %linkType #IMPLIED -- reversed relationship type + to referent data -- + title CDATA #IMPLIED -- advisory only -- + methods NAMES #IMPLIED -- supported public methods of the object: + TEXTSEARCH, GET, HEAD, ... -- + "> + +<![ %HTML.Deprecated [ + <!ENTITY % A.content "(%heading|%text)+"> +]]> + +<!ENTITY % A.content "(%text)+"> + +<!ELEMENT A - - %A.content -(A)> + +<!ATTLIST A + %attrs; + href %URI; #IMPLIED + %url.link; -- standard link attributes -- + %linkName; -- name attribute is deprecated; use ID instead -- + shape %SHAPE; #IMPLIED -- for shaped hotzones in FIGs -- + %linkExtraAttributes; + > + +<!--=================== Images ============================================--> + +<!-- Desired widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %attrs; + src %URI; #REQUIRED -- URI of image to embed -- + %url.link; -- standard link attributes -- + alt CDATA #IMPLIED -- for display in place of image -- + align (top|middle|bottom|left|right) top -- relative to baseline + -- width NUMBER #IMPLIED -- desired width in en's or pixels -- + height NUMBER #IMPLIED -- desired height in en's or pixels -- + units (en|pixels) pixels -- units for width and height -- + ismap (ismap) #IMPLIED -- pass clicks to server -- + > + +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)+> +<!ATTLIST P + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--=================== Headings, Titles, Sections ========================--> + +<!ELEMENT HR - O EMPTY -- customizable horizontal rule --> +<!ATTLIST HR + %attrs; + src %URI; #IMPLIED -- URI of custom rule graphic -- + %url.link; -- standard link attributes -- + %needs; -- for control of text flow -- + > + +<!-- + Headers can be numbered, although this is a matter for style sheets. + The style sheet controls the numbering style: + + a) whether the parent numbering is inherited, e.g. 5.i.c + where 5 is the current sequence number for H1 headers, and + 1 is the number for H2 headers and 3 for H3 headers. + + b) what style is used for current sequence number + e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman + or a numbering scheme appropriate for the current language + + The skip attribute is used to skip over sequence numbers for items + which have been left out of the list, e.g. skip=3 advances the + sequence number past 3 omitted items. The seqnum sets the sequence + number to a specified value. Note that the style sheet may take + advantage of the sequence number for higher level headers. + + The dingbat or src attributes may be used to specify a bullet like + image to be placed adjacent to the header. Defining this in the + header element simplifies the document markup and avoids the need + to use the clear or needs attribute in the following element to + prevent it flowing around this image. +--> + +<!ELEMENT ( %heading ) - - (%text;)+> +<!ATTLIST ( %heading ) + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + skip NUMBER 0 -- skip seq nums for missing items -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src %URI; #IMPLIED -- bullet defined by graphic -- + %url.link; -- standard link attributes -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!ELEMENT TITLE - - (#PCDATA) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!--=================== Text Flows ========================================--> + +<!ENTITY % block + "P | %list | DL + | %preformatted + | %blockquote + | FORM | ISINDEX | FN + | TABLE | FIG | NOTE"> + +<!-- + ((%block)* | (%text)*) would be much nicer as it would avoid the need + for a <P> tag when all you want is a few words of text. The problem + is that it also prevents: "<LI> <P>some text" since it forbids PCDATA + and hence the white space between the <LI> and the <P>. +--> + +<![ %HTML.Recommended [ + <!ENTITY % flow "(%block)*"> +]]> + +<!ENTITY % flow "(%text | %block)*"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> + +<!ATTLIST PRE + %attrs; + width NUMBER #implied + %needs; -- for control of text flow -- + > + +<![ %HTML.Obsoleted [ + +<!ENTITY % literal "CDATA" + -- special non-conforming parsing mode where + the only markup signal is the end tag + in full. This will cause problems for + standard SGML tools! + --> + +<!ELEMENT XMP - - %literal> +<!ELEMENT LISTING - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Lists =============================================--> + +<!ELEMENT DL - - (LH?, (DT|DD)+) -- this is perhaps too lax? --> +<!ATTLIST DL + %attrs; + %needs; -- for control of text flow -- + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)+> +<!ELEMENT DD - O %flow;> +<!ATTLIST (DT|DD) + %attrs; + %needs; -- for control of text flow -- + > + + +<!ELEMENT (OL|UL) - - (LH?, LI+) -- should we allow a list header ? --> + +<!-- style sheet controls numbering style + a) whether the parent numbering is inherited, e.g. 5.1.c + b) what style is used for current sequence number + e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman + or a numbering scheme for the current language +--> +<!ATTLIST OL + %attrs; + %needs; -- for control of text flow -- + continue (continue) #IMPLIED -- don't restart sequence number -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- Unordered lists: + + o single or multicolumn with + horizontal or vertical wrapping + + o plain or bulletted list items + + o bullets can be customised via: + - entities (dingbats in HTMLicons) + - external graphic via URL + - individual attributes on LI tags +--> +<!ATTLIST UL + %attrs; + %needs; -- for control of text flow -- + wrap (vert|horiz|none) none -- multicolumn list style -- + plain (plain) #IMPLIED -- suppress bullets -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src %URI; #IMPLIED -- bullet defined by graphic -- + %url.link; -- standard link attributes -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT LH - O (%text;)+ -- list header --> +<!ATTLIST LH %attrs;> + +<!-- + For unordered lists, you can override the standard bullet with + a custom graphic specified via a URI e.g. src="splash.gif" or + a reference to one of the HTMLicons graphics e.g. dingbat=folder + + The skip attribute is used with ordered lists to skip over sequence + numbers for items which have been left out of the list, e.g. skip=3 + advances the sequence number past 3 omitted items. +--> + +<!ELEMENT LI - O %flow; -- list item --> +<!ATTLIST LI + %attrs; + %needs; -- for control of text flow -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src %URI; #IMPLIED -- custom bullet graphic -- + %url.link; -- standard link attributes -- + skip NUMBER 0 -- skip seq nums for missing items -- + > + +<!-- DIR and MENU are now subsumed by UL with type=plain. Use the + wrap attribute to control wrapping style for multicolumn lists --> + +<![ %HTML.Deprecated [ + <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> + <!ATTLIST (DIR|MENU) + compact (compact) #IMPLIED> +]]> + +<!--=================== Document Body =====================================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(DIV|%heading|%block|HR|ADDRESS)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(DIV | %heading | %text | %block | HR | ADDRESS)*"> + +<!ELEMENT BODY O O (BANNER?, BODYTEXT) +(SPOT)> +<!ATTLIST BODY + %attrs; + background %URI; #IMPLIED -- texture tile for document background -- + > + +<!ELEMENT BODYTEXT O O %body.content -- dummy element --> + +<!-- + The BANNER element is used for a banner section which appears at + the top of the window and doesn't scroll with window contents. + This can be used for corporate logos, copyright statements and + disclaimers, as well as customized navigation/search controls. +--> +<!ELEMENT BANNER - - %body.content> +<!ATTLIST BANNER %attrs; > + +<!-- SPOT is used to insert IDs at arbitrary places + e.g. for end points of a marked range (see RANGE) --> +<!ELEMENT SPOT - O EMPTY> +<!ATTLIST SPOT id ID #REQUIRED> + +<!ELEMENT (%blockquote) - - (BODYTEXT, CREDIT?)> +<!ATTLIST (%blockquote) + %attrs; + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!ENTITY % address.content "((%text;)* | P*)"> + +<!ELEMENT ADDRESS - - %address.content> +<!ATTLIST ADDRESS + %attrs; + %needs; -- for control of text flow -- + > + +<!-- + DIV can be used with the CLASS attribute to represent different + kinds of container, e.g. chapter, section, abstract, appendix. +--> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + %attrs; + %needs; -- for control of text flow -- + align (left|center|right) left -- alignment of following text -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--================ Forms ===============================================--> + +<!-- + As HTML 2.0 plus a few extensions: + + a) A RANGE control which varies between pair of values + specified with the size attribute, e.g. SIZE="1, 10" + + b) FILE widget for uploading one or more files to a server + + c) SCRIBBLE on image widget that sends the "ink" to the server + + d) SUBMIT/RESET buttons can now be customised with an image. + This subsumes the IMAGE type which is now deprecated. + + e) Graphical SELECTion menus are now supported, using + the new SHAPE attribute on OPTION elements. + + Further extensions are in the pipeline (e.g. table entry, + multiple data formats for textarea fields and client-side + scripts with custom widgets) but will have to wait until + the backlog of implementation work diminishes. +--> + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + action %URI #REQUIRED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + script %URI #IMPLIED -- link to client-side script -- + > + +<![ %HTML.Deprecated [ + <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | RANGE | FILE | SCRIBBLE | HIDDEN | IMAGE)"> +]]> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | RANGE | FILE | SCRIBBLE | HIDDEN)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + %attrs; + type %InputType TEXT + name NAME #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio buttons & checkboxes -- + disabled (disabled) #IMPLIED -- read-only fields -- + error CDATA #IMPLIED -- why field is in error -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size NUMBER #IMPLIED -- visible width of TEXT fields -- + maxlength NUMBER #IMPLIED -- max number of chars for TEXT fields -- + min %REAL #IMPLIED -- lower limit for RANGE fields -- + max %REAL #IMPLIED -- upper limit for RANGE fields -- + accept CDATA #IMPLIED -- list of MIME types for file fields -- + src %URI #IMPLIED -- for fields with background images -- + %url.link; -- standard link attributes -- + align (top|middle|bottom|left|right) top + > + +<!-- + SRC attribute added for graphical selection menus + The WIDTH, HEIGHT and UNITS attributes apply to the + image specified by the SRC attribute. + --> + +<!ELEMENT SELECT - - (OPTION+) -(INPUT|TEXTAREA|SELECT)> +<!ATTLIST SELECT + %attrs; + name CDATA #REQUIRED + multiple (multiple) #IMPLIED + disabled (disabled) #IMPLIED -- read-only menu -- + error CDATA #IMPLIED -- why selections are in error -- + src %URI #IMPLIED -- for graphical selection menus -- + %url.link; -- standard link attributes -- + width NUMBER #IMPLIED -- desired width of in en's or pixels -- + height NUMBER #IMPLIED -- desired height in en's or pixels -- + units (en|pixels) pixels -- units for width and height -- + align (top|middle|bottom|left|right) top + > + +<!ELEMENT OPTION - O (#PCDATA)> +<!ATTLIST OPTION + %attrs; + selected (selected) #IMPLIED + value CDATA #IMPLIED -- default to element content -- + shape %SHAPE; #IMPLIED -- for graphical selection menus -- + disabled (disabled) #IMPLIED -- unselectable option -- + error CDATA #IMPLIED -- why this choice is in error -- + > + +<!-- + Multi-line text input field. align=left or right + causes the field to float to margin and for + subsequent text to wrap around the field. +--> + +<!ELEMENT TEXTAREA - - (#PCDATA) -(INPUT|TEXTAREA|SELECT)> +<!ATTLIST TEXTAREA + %attrs; + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + disabled (disabled) #IMPLIED -- read-only field -- + error CDATA #IMPLIED -- why field is in error -- + align (top|middle|bottom|left|right) top + > + +<!--======================= Captions ======================================--> + +<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption --> +<!ATTLIST CAPTION + %attrs; + align (top|bottom|left|right) #IMPLIED + > +<!--======================= Tables ========================================--> + +<!-- + Tables and figures can be aligned in several ways: + + bleedleft flush left with the left (window) border + left flush left with the left text margin + center centered (text flow is disabled for this mode) + right flush right with the right text margin + bleedright flush right with the right (window) border + justify when applicable the table/figure should stretch + to fill space between the text margins + + Note: text will flow around the table or figure if the browser + judges there is enough room and the alignment is not centered + or justified. The table or figure may itself be part of the + text flow around some earlier figure. You can in this case use + the clear or needs attributes to move the new table or figure + down the page beyond the obstructing earlier figure. Similarly, + you can use the clear or needs attributes with other elements + such as headers and lists to move them further down the page. +--> + +<!ENTITY % block.align + "align (bleedleft|left|center|right|bleedright|justify) center"> + +<!-- + The HTML 3.0 table model has been chosen for its simplicity + and the ease in writing filters from common DTP packages. + + By default the table is automatically sized according to the + cell contents and the current window size. Specifying the columns + widths using the colspec attribute allows browsers to start + displaying the table without having to wait for last row. + + The colspec attribute is a list of column widths and alignment + specifications. The columns are listed from left to right with + a capital letter followed by a number, e.g. COLSPEC="L20 C8 L40". + The letter is L for left, C for center, R for right alignment of + cell contents. J is for justification, when feasible, otherwise + this is treated in the same way as L for left alignment. + Column entries are delimited by one or more space characters. + + The number specifies the width in en's, pixels or as a + fractional value of the table width, as according to the + associated units attribute. This approach is more compact + than used with most SGML table models and chosen to simplify + hand entry. The width attribute allows you to specify the + width of the table in pixels, en units or as a percentage + of the space between the current left and right margins. + + To assist with rendering to speech, row and column headers + can be given short names using the AXIS attribute. The AXES + attribute is used to explicitly specify the row and column + names for use with each cell. Otherwise browsers can follow + up columns and left along rows (right for some languages) + to find the corresponding header cells. + + Table content model: Braille limits the width of tables, + placing severe limits on column widths. User agents need + to render big cells by moving the content to a note placed + before the table. The cell is then rendered as a link to + the corresponding note. + + To assist with formatting tables to paged media, authors + can differentiate leading and trailing rows that are to + be duplicated when splitting tables across page boundaries. + The recommended way is to subclass rows with the CLASS attribute + For example: <TR CLASS=Header>, <TR CLASS=Footer> are used for + header and footer rows. Paged browsers insert footer rows at + the bottom of the current page and header rows at the top of + the new page, followed by the remaining body rows. +--> + +<!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data --> +<!ATTLIST TABLE + %attrs; + %needs; -- for control of text flow -- + border (border) #IMPLIED -- draw borders -- + colspec CDATA #IMPLIED -- column widths and alignment -- + units (en|pixels|relative) en -- units for column widths -- + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + width NUMBER #IMPLIED -- absolute or percentage width -- + %block.align; -- horizontal alignment -- + noflow (noflow) #IMPLIED -- noflow around table -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + > + +<!ENTITY % cell "TH | TD"> +<!ENTITY % horiz.align "left|center|right|justify"> +<!ENTITY % vert.align "top|middle|bottom|baseline"> + +<!-- + Browsers should tolerate an omission of the first <TR> + tag as it is implied by the context. Missing trailing + <TR>s implied by rowspans should be ignored. + + The alignment attributes act as defaults for rows + overriding the colspec attribute and being in turn + overridden by alignment attributes on cell elements. + Use valign=baseline when you want to ensure that text + in different cells on the same row is aligned on the + same baseline regardless of fonts. It only applies + when the cells contain a single line of text. +--> + +<!ELEMENT TR - O (%cell)* -- row container --> +<!ATTLIST TR + %attrs; + align (%horiz.align) #IMPLIED -- horizontal alignment -- + valign (%vert.align) top -- vertical alignment -- + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + > + +<!-- + Note that table cells can include nested tables. + Missing cells are considered to be empty, while + missing rows should be ignored, i.e. if a cell + spans a row and there are no further TR elements + then the implied row should be ignored. +--> + +<!ELEMENT (%cell) - O %body.content> +<!ATTLIST (%cell) + %attrs; + colspan NUMBER 1 -- columns spanned -- + rowspan NUMBER 1 -- rows spanned -- + align (%horiz.align) #IMPLIED -- horizontal alignment -- + valign (%vert.align) top -- vertical alignment -- + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + axis CDATA #IMPLIED -- axis name, defaults to element content -- + axes CDATA #IMPLIED -- comma separated list of axis names -- + > + +<!--====================== Figures ========================================--> + +<!-- + The element contains text for use in non-graphical displays. Note that + you can use the shape attribute in anchors to specify hotzones on images. + This provides for local processing of pointer clicks and a unified method + for dealing with graphical and non-graphical displays. + + Text is flowed around figures when the figure is left or right aligned. + You can request the browser to move down until there is enough room for + the next element, see the CLEAR and NEED attributes (in %needs) + + Figures offer a path towards embedding arbitrary information formats + via some kind of OLE/OpenDoc mechanism. +--> + +<!ELEMENT FIG - - (OVERLAY*, CAPTION?, FIGTEXT, CREDIT?) -(FIG|IMG)> +<!ATTLIST FIG + %attrs; + %needs; -- for control of text flow -- + src %URI; #REQUIRED -- URI of document to embed -- + %url.link; -- standard link attributes -- + %block.align; -- horizontal alignment -- + noflow (noflow) #IMPLIED -- noflow around figure -- + width NUMBER #IMPLIED -- desired width in units -- + height NUMBER #IMPLIED -- desired height in units -- + units (en|pixels) pixels -- specifies units as en's or pixels -- + imagemap %URI; #IMPLIED -- pass background clicks to server -- + > + +<!ELEMENT FIGTEXT O O %body.content -- dummy element --> + +<!-- + Figure overlays. When combined with local caching, overlays + provide a cheap way of modifying a larger base image sent as + part of a previous page. +--> + +<!ELEMENT OVERLAY - O EMPTY -- image overlay --> +<!ATTLIST OVERLAY + src %URI; #REQUIRED -- URI of image overlay -- + %url.link; -- standard link attributes -- + units (en|pixels) pixels -- specifies units as en's or pixels -- + x NUMBER 0 -- offset from left in units -- + y NUMBER 0 -- offset from top in units -- + width NUMBER #IMPLIED -- desired width in units -- + height NUMBER #IMPLIED -- desired height in units -- + imagemap %URI; #IMPLIED -- pass background clicks to server -- + > + +<!ELEMENT CREDIT - - (%text;)* -- source of image --> +<!ATTLIST CREDIT + %attrs; + > + +<!--======================== Notes ========================================--> + +<!-- +The NOTE element is used for admonishments. The CLASS attribute +is used to differentiate NOTE's, e.g. Note, Caution or Warning. +--> + +<!ELEMENT NOTE - - %body.content; -- admonishment --> +<!ATTLIST NOTE + %attrs; + src %URI; #IMPLIED -- URI of custom graphic -- + %url.link; -- standard link attributes -- + %needs; -- for control of text flow -- + > + +<!--======================== Footnotes ====================================--> + +<!-- +Typically rendered as popup note. These elements are referenced +by hypertext links specified with the anchor element. +--> +<!ELEMENT FN - - %body.content;> +<!ATTLIST FN %attrs;> + +<!--======================== Math ========================================--> + +<!-- Use     etc for greater control of spacing. --> + +<!-- Subscripts and Superscripts + + <SUB> and <SUP> are used for subscripts and superscripts. + + i j + X <SUP>i</SUP>Y<SUP>j</SUP> is X Y + + i.e. the space following the X disambiguates the binding. + The align attribute can be used for horizontal alignment, + e.g. to explicitly place an index above an element: + i + X<sup align=center>i</sup> produces X + +Short references are defined for superscripts, subscripts and boxes +to save typing when manually editing HTML math, e.g. + + x^2^ is mapped to x<sup>2</sup> + y_z_ is mapped to y<sub>z</sub> + {a+b} is mapped to <box>a + b</box> + +Note that these only apply within the MATH element and can't be +used in normal text! +--> +<!ENTITY REF1 STARTTAG "SUP"> +<!ENTITY REF2 ENDTAG "SUP"> +<!ENTITY REF3 STARTTAG "SUB"> +<!ENTITY REF4 ENDTAG "SUB"> +<!ENTITY REF5 STARTTAG "BOX"> +<!ENTITY REF6 ENDTAG "BOX"> + +<!USEMAP MAP1 MATH> +<!USEMAP MAP2 SUP> +<!USEMAP MAP3 SUB> +<!USEMAP MAP4 BOX> + +<!SHORTREF MAP1 "^" REF1 + "_" REF3 + "{" REF5 > + +<!SHORTREF MAP2 "^" REF2 + "_" REF3 + "{" REF5 > + +<!SHORTREF MAP3 "_" REF4 + "^" REF1 + "{" REF5 > + +<!SHORTREF MAP4 "}" REF6 + "^" REF1 + "_" REF3 + "{" REF5 > + +<!-- + The inclusion of %math and exclusion of %notmath is used here + to alter the content model for the B, SUB and SUP elements, + to limit them to formulae rather than general text elements. +--> + +<!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents --> +<!ENTITY % mathface "B|T|BT" -- control of font face --> +<!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface"> +<!ENTITY % formula "#PCDATA|%math"> + +<!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)> +<!ATTLIST MATH + id ID #IMPLIED + class NAMES #IMPLIED -- e.g. class=chem --> + +<!-- The BOX element acts as brackets. Delimiters are optional and + stretch to match the height of the box. The OVER element is used + when you want a line between numerator and denominator. This line + is suppressed with the alternative ATOP element. CHOOSE acts like + ATOP but adds enclosing round brackets as a convenience for binomial + coefficients. Note the use of { and } as shorthand for <BOX> and + </BOX> respectively: + + 1 + X + {1 + X<OVER>Y} is _______ + Y + + a + b + {a + b<ATOP>c - d} is + c - d + + The delimiters are represented using the LEFT and RIGHT + elements as in: + + {[<LEFT>x + y<RIGHT>]} is [ x + y ] + {(<LEFT>a<RIGHT>]} is (a] + {||<LEFT>a<RIGHT>||} is || a || + + Use { and } for "{" and "}" respectively as + these symbols are used as shorthand for BOX, e.g. + + {{<LEFT>a+b<RIGHT>}} is {a+b} + + You can stretch definite integrals to match the integrand, e.g. + + {∫<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx} + + b + / f(x) + | ----- dx + / 1 + x + a + + Note the complex content model for BOX is a work around + for the absence of support for infix operators in SGML. + + You can get oversize delimiters with the SIZE attribute, + for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX> + + Note that the names of common functions are recognized + by the parser without the need to use "&" and ";" around + them, e.g. int, sum, sin, cos, tan, ... +--> + +<!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?, + ((OVER|ATOP|CHOOSE), (%formula)*)?, + (RIGHT, (%formula)*)?)> +<!ATTLIST BOX + size (normal|medium|large|huge) normal -- oversize delims --> + +<!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY> + +<!-- Horizontal line drawn ABOVE contents + The symbol attribute allows authors to supply + an entity name for an accent, arrow symbol etc. + Generalisation of LaTeX's overline command. + + e.g. <above sym=ssmile>x</above> + places an upwardly turning curve above the "x" + --> + +<!ELEMENT ABOVE - - (%formula)+> +<!ATTLIST ABOVE sym ENTITY #IMPLIED> + +<!-- Horizontal line drawn BELOW contents + The symbol attribute allows authors to + supply an entity name for an arrow symbol etc. + Generalisation of LaTeX's underline command. + --> + +<!ELEMENT BELOW - - (%formula)+> +<!ATTLIST BELOW sym ENTITY #IMPLIED> + +<!-- Convenience tags for common accents: + vec, bar, dot, ddot, hat and tilde +--> + +<!ELEMENT (%mathvec) - - (%formula)+> + +<!-- + T and BT are used to designate terms which should + be rendered in an upright font (& bold face for BT) +--> + +<!ELEMENT (T|BT) - - (%formula)+> +<!ATTLIST (T|BT) class NAMES #IMPLIED> + +<!-- Roots e.g. <ROOT>3<OF>1+x</ROOT> --> + +<!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)> +<!ELEMENT OF - O (%formula)* -- what the root applies to --> + +<!ELEMENT SQRT - - (%formula)* -- square root convenience tag --> + +<!-- LaTeX like arrays. The COLDEF attribute specifies + a single capital letter for each column determining + how the column should be aligned, e.g. coldef="CCC" + + "L" left + "C" center + "R" right + + An optional separator letter can occur between columns + and should be one of + - or =, e.g. "C+C+C+C=C". + Whitespace within coldef is ignored. By default, the + columns are all centered. + + The ALIGN attribute alters the vertical position of the + array as compared with preceding and following expressions. + + Use LDELIM and RDELIM attributes for delimiter entities. + When the LABELS attribute is present, the array is + displayed with the first row and the first column as + labels displaced from the other elements. In this case, + the first element of the first row should normally be + left blank. + + Use &vdots; &cdots; and &ddots; for vertical, horizontal + and diagonal ellipsis dots. Use &dotfill; to fill an array + cell with horizontal dots (e.g. for a full row). + Note &ldots; places the dots on the baseline, while &cdots; + places them higher up. +--> + +<!ELEMENT ARRAY - - (ROW)+> +<!ATTLIST ARRAY + align (top|middle|bottom) middle -- vertical alignment -- + coldef CDATA #IMPLIED -- column alignment and separator -- + ldelim CDATA #IMPLIED -- stretchy left delimiter -- + rdelim CDATA #IMPLIED -- stretchy right delimiter -- + labels (labels) #IMPLIED -- TeX's \bordermatrix style --> + +<!ELEMENT ROW - O (ITEM)*> +<!ELEMENT ITEM - O (%formula)*> +<!ATTLIST ITEM + align CDATA #IMPLIED -- override coldef alignment -- + colspan NUMBER 1 -- merge columns as per TABLE -- + rowspan NUMBER 1 -- merge rows as per TABLE --> + +<!--================ Document Head ========================================--> + +<![ %HTML.Deprecated [ + <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? + & META* & LINK* & RANGE* & NEXTID?"> +]]> + +<!ENTITY % head.nextid ""> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? + & META* & LINK* & RANGE*"> + +<!ELEMENT HEAD O O (%head.content)> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + href %URI #REQUIRED + %linkExtraAttributes; > + +<!ELEMENT RANGE - O EMPTY> +<!ATTLIST RANGE + id ID #IMPLIED -- for naming marked range -- + class NAMES #IMPLIED -- for subclassing -- + from IDREF #REQUIRED -- start of marked range -- + until IDREF #REQUIRED -- end of marked range -- + > + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + href %URI #IMPLIED -- server handling queries -- + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives the base URL for + dereferencing relative URLs, e.g. + + <BASE href="http://foo.com/images"> + ... + <IMG SRC="bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + id ID #IMPLIED + href %URI; #REQUIRED + > + +<![ %HTML.Deprecated [ + <!ELEMENT NEXTID - O EMPTY> + <!ATTLIST NEXTID N CDATA #REQUIRED> +]]> + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- + A style sheet can be associated with the document using the + LINK element, e.g. <LINK rel=style href="housestyle.dsssl">. + Style overrides can be placed in the document head using the + STYLE element, e.g. + + <style notation=dsssl-lite> + dsss-lite stuff + </style> + + Later on in the document you can use: + + <h2 class=bigcaps>Header with bigger than normal capitals</h2> + <p class=abstract>A paragraph with a unique style of its own + ... + + Statements in the given style notation + + The tag names, class and id attributes are used in the style sheet + notation to describe how to render matching elements. +--> + +<!ENTITY % style-notations "dsssl-lite | w3c-style"> + +<!-- +<!NOTATION dsssl-lite PUBLIC + "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN"> + +<!NOTATION w3c-style PUBLIC "IETF/RFC nnn/W3C Style Language//EN"> +--> + +<!ELEMENT STYLE - O (#PCDATA)> +<!ATTLIST STYLE + notation NOTATION (%style-notations;) #REQUIRED +> + +<!--================ Document Structure ===================================--> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ENTITY % version.attr 'VERSION CDATA #FIXED "%HTML.Version;"'> + +<!-- suggested roles are: TOC, DOC, DOCPART, HITLIST, DIALOG --> + +<!ATTLIST HTML + %version.attr; -- report DTD version to application -- + urn CDATA #IMPLIED -- universal resource name for this document -- + class NAMES #IMPLIED -- role of this document, eg table of contents -- + > + +<!-- The END --> diff --git a/htdocs/sgml-lib/html-3s.dtd b/htdocs/sgml-lib/html-3s.dtd new file mode 100644 index 0000000..fd2be97 --- /dev/null +++ b/htdocs/sgml-lib/html-3s.dtd @@ -0,0 +1,24 @@ +<!-- + html3s.dtd + + Document Type Definition for the HyperText Markup Language (HTML DTD) + with strict validation. + +--> + +<!ENTITY % HTML.Version + "-//W3O//DTD W3 HTML Strict 3.0//EN//" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML Strict 3.0//EN//"> + <html> + ... + </html> + -- + > + +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html PUBLIC "-//W3O//DTD W3 HTML 3.0//EN//"> +%html; diff --git a/htdocs/sgml-lib/html-970421.decl b/htdocs/sgml-lib/html-970421.decl new file mode 100644 index 0000000..5138446 --- /dev/null +++ b/htdocs/sgml-lib/html-970421.decl @@ -0,0 +1,81 @@ +<!SGML "ISO 8879:1986" + -- + SGML Declaration for HTML 3.2 + style + + With support for ISO Latin-1 and increased limits + for tag and literal lengths etc. + -- + + CHARSET + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + BASESET "ISO Registration Number 100//CHARSET + ECMA-94 Right Part of + Latin Alphabet Nr. 1//ESC 2/13 4/1" + DESCSET 128 32 UNUSED + 160 96 32 + + CAPACITY SGMLREF + TOTALCAP 200000 + GRPCAP 150000 + ENTCAP 150000 + + SCOPE DOCUMENT + SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 128 0 + + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + NAMING LCNMSTRT "" + UCNMSTRT "" + LCNMCHAR ".-" + UCNMCHAR ".-" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTSPLEN 30000 + LITLEN 30000 + NAMELEN 239 + PILEN 30000 + TAGLVL 100 + TAGLEN 30000 + GRPGTCNT 150 + GRPCNT 64 + + FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO NONE +> + diff --git a/htdocs/sgml-lib/html-970421.dtd b/htdocs/sgml-lib/html-970421.dtd new file mode 100644 index 0000000..494f828 --- /dev/null +++ b/htdocs/sgml-lib/html-970421.dtd @@ -0,0 +1,657 @@ +<!-- + W3C Document Type Definition for the HyperText Markup Language + This version is code named Wilbur with Style + + Draft: April 21st 1997 + + Author of original HTML 3.2 DTD: Dave Raggett <dsr@w3.org> + + WD-style updates by: + Chris Lilley <chris@w3.org> + Dave Raggett <dsr@w3.org> + + This Experimental HTML DTD adds support for Style Sheets, + as defined in WD-Style, to the HTML 3.2 DTD: ID, CLASS and + STYLE attributes on most elements, and the SPAN element. +--> + +<!ENTITY % HTML.Version + "-//W3C//DTD HTML Experimental 970421//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Experimental 970421//EN"> + <html> + ... + </html> + -- +> + +<!--================== Deprecated Features Switch ======================--> + +<!ENTITY % HTML.Deprecated "INCLUDE"> + +<!--================== Imported Names ==================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URL "CDATA" + -- The term URL means a CDATA attribute + whose value is a Uniform Resource Locator, + See RFC1808 (June 95) and RFC1738 (Dec 94). + --> + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!--================ Character mnemonic entities =======================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--================ Entities for special symbols ======================--> +<!-- &trade and &cbsp are not widely deployed and so not included here --> + +<!ENTITY copy CDATA "©" -- copyright sign --> +<!ENTITY reg CDATA "®" -- registered sign --> +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> +<!ENTITY nbsp CDATA " " -- non breaking space --> + +<!--=================== Text Markup ====================================--> + +<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % special "A|IMG|APPLET|BASEFONT|FONT|BR|SCRIPT|MAP|SPAN"> + +<!ENTITY % form "INPUT | SELECT | TEXTAREA"> + +<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form"> + +<!ENTITY % style + "id ID #IMPLIED -- document wide unique id -- + class CDATA #IMPLIED -- comma list of class values -- + style CDATA #IMPLIED -- associated style info --"> + +<!ELEMENT (%font|%phrase) - - (%text)*> +<!ATTLIST (%font|%phrase) %style;> + +<!-- there are also 16 widely known color names although + the resulting colors are implementation dependent: + + aqua, black, blue, fuchsia, gray, green, lime, maroon, + navy, olive, purple, red, silver, teal, white, and yellow + + These colors were originally picked as being the standard + 16 colors supported with the Windows VGA palette. + --> + +<!-- use span when other text-level elements are inappropriate --> +<!ELEMENT SPAN - - (%text)* -- generic language/style container --> +<!ATTLIST SPAN %style; > + +<!ELEMENT FONT - - (%text)* -- local change to font --> +<!ATTLIST FONT + size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 -- + color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" +-- + %style; + > + +<!ELEMENT BASEFONT - O EMPTY -- base font size (1 to 7)--> +<!ATTLIST BASEFONT + size CDATA #IMPLIED -- e.g. size=3 -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + clear (left|all|right|none) none -- control of text flow -- + %style; + > + +<!--================== HTML content models =============================--> +<!-- + HTML has three basic content models: + + %text character level elements and text strings + %flow block-like elements e.g. paragraphs and lists + %bodytext as %flow plus headers and ADDRESS +--> + +<!ENTITY % block + "P | %list | %preformatted | DL | DIV | CENTER | + BLOCKQUOTE | FORM | ISINDEX | HR | TABLE"> + +<!-- %flow is used for DD and LI --> + +<!ENTITY % flow "(%text | %block)*"> + +<!--=================== Document Body ==================================--> + +<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*"> + +<!ENTITY % color "CDATA" -- a color specification: #RRGGBB in hex --> + +<!ENTITY % body-color-attrs " + bgcolor %color #IMPLIED + text %color #IMPLIED + link %color #IMPLIED + vlink %color #IMPLIED + alink %color #IMPLIED + "> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + background %URL #IMPLIED -- texture tile for document background -- + %body-color-attrs; -- bgcolor, text, link, vlink, alink -- + %style; + > + +<!ENTITY % address.content "((%text;) | P)*"> + +<!ELEMENT ADDRESS - - %address.content> +<!ATTLIST ADDRESS %style; > + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + align (left|center|right) #IMPLIED -- alignment of following text -- + %style; + > + +<!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> +<!ELEMENT center - - %body.content> + +<!--================== The Anchor Element ==============================--> + +<!ELEMENT A - - (%text)* -(A)> +<!ATTLIST A + name CDATA #IMPLIED -- named link end -- + href %URL #IMPLIED -- URL for linked resource -- + rel CDATA #IMPLIED -- forward link types -- + rev CDATA #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + %style; + > + +<!--================== Client-side image maps =========================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ENTITY % SHAPE "(rect|circle|poly)"> +<!ENTITY % COORDS "CDATA" -- comma separated list of numbers --> + +<!ELEMENT MAP - - (AREA)*> +<!ATTLIST MAP + name CDATA #IMPLIED + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + shape %SHAPE rect + coords %COORDS #IMPLIED -- defines coordinates for shape -- + href %URL #IMPLIED -- this region acts as hypertext link -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt CDATA #REQUIRED -- needed for non-graphical user agents -- + > + +<!--================== The LINK Element ===============================--> + +<!ENTITY % Types "CDATA" + -- LINK has been part of HTML since the early days + although few browsers as yet take advantage of it. + + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head: + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript/pdf version (rel=alternate media=print) +--> +<!ENTITY % MEDIA + "(print|screen|projection|braille|aural|all)" + -- + Media values define the intended rendering medium for a style + sheet or other resource. It shouldn't be confused with the data + format used to encode that resource. + --> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + href %URL #IMPLIED -- URL for linked resource -- + rel %Types #IMPLIED -- forward link types -- + rev %Types #IMPLIED -- reverse link types -- + media %MEDIA all -- intended rendering medium -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!--=================== Images =========================================--> + +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + +<!-- Suggested widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)"> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + src %URL #REQUIRED -- URL of image to embed -- + alt CDATA #IMPLIED -- for display in place of image -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #IMPLIED -- suggested height in pixels -- + width %Pixels #IMPLIED -- suggested width in pixels -- + border %Pixels #IMPLIED -- suggested link border width -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server image map -- + %style; + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--=================== Java APPLET tag ================================--> +<!-- + This tag is supported by all Java enabled browsers. CODEBASE specifies + the base URL of the applet - the directory that contains the applet's + code. If this attribute is missing the documents base URL is used + instead. One of CODE or OBJECT must be present. Archive files speed + loading of applets through a compressed wrapper for applet resources. + The ALT attribute gives text to display if the browser understands + the APPLET tag but can't run Java applets. WIDTH, HEIGHT, ALIGN, + HSPACE and VSPACE are defined in the same way as for IMG elements. +--> +<!ELEMENT APPLET - - (PARAM | %text)*> +<!ATTLIST APPLET + codebase %URL #IMPLIED -- optional base URL for applet -- + archive CDATA #IMPLIED -- comma separated archive list -- + code CDATA #IMPLIED -- applet class file -- + object CDATA #IMPLIED -- serialized applet file -- + alt CDATA #IMPLIED -- for display in place of applet -- + name CDATA #IMPLIED -- allows applets to find each other -- + width %Pixels #REQUIRED -- suggested width in pixels -- + height %Pixels #REQUIRED -- suggested height in pixels -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + > + +<!ELEMENT PARAM - O EMPTY> +<!ATTLIST PARAM + name NMTOKEN #REQUIRED -- The name of the parameter -- + value CDATA #IMPLIED -- The value of the parameter -- + > + +<!-- +Here is an example: + + <applet codebase="applets/NervousText" + code=NervousText.class + width=300 + height=50> + <param name=text value="Java is Cool!"> + <img src=sorry.gif alt="This looks better with Java support"> + </applet> +--> + +<!--=================== Horizontal Rule ================================--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels #IMPLIED + width %Length #IMPLIED + %style; + > +<!--=================== Paragraphs======================================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + align (left|center|right) #IMPLIED + %style; + > + +<!--=================== Headings =======================================--> + +<!-- + There are six levels of headers from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST ( %heading ) + align (left|center|right) #IMPLIED + %style; + > + +<!--=================== Preformatted Text ==============================--> + +<!-- excludes images and changes in font size to preserve column alignment -- +> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> +<!ATTLIST PRE + width NUMBER #implied -- is this widely supported? -- + %style; + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Block-like Quotes ==============================--> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<!ATTLIST BLOCKQUOTE %style;> +<!--=================== Lists ==========================================--> + +<!-- + HTML 3.2 allows you to control the sequence number for ordered lists. + You can set the sequence number with the START and VALUE attributes. + The TYPE attribute may be used to specify the rendering of ordered + and unordered lists. +--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)+> +<!ATTLIST DL + compact (compact) #IMPLIED -- more compact style -- + %style; + > + +<!ELEMENT DT - O (%text)*> +<!ATTLIST DT %style;> +<!ELEMENT DD - O %flow;> +<!ATTLIST DD %style;> + +<!-- Ordered lists OL, and unordered lists UL --> +<!ELEMENT (OL|UL) - - (LI)+> + +<!-- + Numbering style + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] --> + +<!ATTLIST OL -- ordered lists -- + type %OLStyle #IMPLIED -- numbering style -- + start NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + %style; + > + +<!-- bullet styles --> + +<!ENTITY % ULStyle "disc|square|circle"> + +<!ATTLIST UL -- unordered lists -- + type (%ULStyle) #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + %style; + > + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST DIR + compact (compact) #IMPLIED + %style; + > +<!ATTLIST MENU + compact (compact) #IMPLIED + %style; + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!-- The type attribute can be used to change the bullet style + in unordered lists and the numbering style in ordered lists --> + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" --> + +<!ELEMENT LI - O %flow -- list item --> +<!ATTLIST LI + type %LIStyle #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + %style; + > + +<!--================ Forms ============================================--> + +<!ELEMENT FORM - - %body.content -(FORM)> +<!ATTLIST FORM + action %URL #IMPLIED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + %style; + > + +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | FILE | HIDDEN | IMAGE)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + type %InputType TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED -- max chars allowed in text fields -- + src %URL #IMPLIED -- for fields with background images -- + align %IAlign #IMPLIED -- image alignment -- + usemap %URL #IMPLIED -- use client-side image map -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + %style; + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + name CDATA #REQUIRED + size NUMBER #IMPLIED + multiple (multiple) #IMPLIED + %style; + > + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + selected (selected) #IMPLIED + value CDATA #IMPLIED -- defaults to element content -- + %style; + > + +<!-- Multi-line text input field. --> + +<!ELEMENT TEXTAREA - - (#PCDATA)*> +<!ATTLIST TEXTAREA + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + %style; + > + +<!--======================= Tables =====================================--> + +<!-- Widely deployed subset of the full table standard, see RFC 1942 + e.g. at http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> + +<!-- horizontal placement of table relative to window --> +<!ENTITY % Where "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cell.halign + "align (left|center|right) #IMPLIED" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cell.valign + "valign (top|middle|bottom) #IMPLIED" + > + +<!ELEMENT TABLE - - (CAPTION?, TR+)> +<!ELEMENT TR - O (TH|TD)*> +<!ELEMENT (TH|TD) - O %body.content> + +<!ATTLIST TABLE -- table element -- + align %Where #IMPLIED -- table position relative to window -- + width %Length #IMPLIED -- table width relative to window -- + border %Pixels #IMPLIED -- controls frame width around table -- + cellspacing %Pixels #IMPLIED -- spacing between cells -- + cellpadding %Pixels #IMPLIED -- spacing within cells -- + %style; + > + +<!ELEMENT CAPTION - - (%text;)* -- table or figure caption --> +<!ATTLIST CAPTION + align (top|bottom) #IMPLIED + %style; + > + +<!ATTLIST TR -- table row -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + %style; + > + +<!ATTLIST (TH|TD) -- header or data cell -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + width %Pixels #IMPLIED -- suggested width for cell -- + height %Pixels #IMPLIED -- suggested height for cell -- + %style; + > + +<!--================ Document Head =====================================--> + +<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content) +(%head.misc)> + +<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + prompt CDATA #IMPLIED -- prompt message -- + %style; + > + +<!-- + The BASE element gives an absolute URL for dereferencing relative + URLs, e.g. + + <BASE href="http://foo.com/index.html"> + ... + <IMG SRC="images/bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif + + In the absence of a BASE element the document URL should be used. + Note that this is not necessarily the same as the URL used to + request the document, as the base URL may be overridden by an HTTP + header accompanying the document. +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + href %URL #REQUIRED + > + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!ELEMENT STYLE - - CDATA -- style info --> +<!ATTLIST STYLE + type CDATA #IMPLIED -- Internet media type for style -- + title CDATA #IMPLIED -- advisory title for this style -- + media %MEDIA ALL -- intended rendering medium -- + > + +<!-- SCRIPT is a place holder for transition to next version of HTML --> +<!ELEMENT SCRIPT - - CDATA -- script statements --> + +<!--================ Document Structure ================================--> + +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ATTLIST HTML + %version.attr; + %style; + > + diff --git a/htdocs/sgml-lib/html-cougar.dtd b/htdocs/sgml-lib/html-cougar.dtd new file mode 100644 index 0000000..399ec24 --- /dev/null +++ b/htdocs/sgml-lib/html-cougar.dtd @@ -0,0 +1,866 @@ +<!-- + This is an EXPERIMENTAL version of HTML (code named Cougar) that + extends HTML 3.2 to add support for work by the HTML ERB, including + style sheets, scripting, the object tag, internationalization and + some extensions to forms. The frame tags will probably be added + once we have an agreed definition for them. + + Draft: Wednesday 10-July-96 + + Author: Dave Raggett <dsr@w3.org> + + This is SUBJECT TO CHANGE, pending final approval by member + organizations of the World Wide Web Consortium. +--> + +<!ENTITY % HTML.Version + "-//W3C//DTD HTML Experimental 19960710//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Experimental 19960710//EN"> + <html> + ... + </html> + -- + > + +<!--================== Deprecated Features Switch =========================--> + +<!ENTITY % HTML.Deprecated "INCLUDE"> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URL "CDATA" + -- The term URL means a CDATA attribute + whose value is a Uniform Resource Locator, + See RFC1808 (June 95) and RFC1738 (Dec 94). + --> + +<!ENTITY % script "CDATA" -- scriptlet --> + +<!-- Parameter Entities --> + +<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list "UL | OL | DIR | MENU"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!--================ Character mnemonic entities ==========================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!--================ Entities for special symbols =========================--> + +<!ENTITY copy CDATA "©" -- copyright sign --> +<!ENTITY reg CDATA "®" -- registered sign --> +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> +<!ENTITY nbsp CDATA " " -- non breaking space --> +<!ENTITY trade CDATA "™" -- trade mark symbol --> +<!ENTITY shy CDATA "­" -- soft hyphen --> +<!ENTITY thinsp CDATA " " -- thin space --> +<!ENTITY emsp CDATA " " -- em space --> +<!ENTITY ensp CDATA " " -- en space --> +<!ENTITY emdash CDATA "—" -- em dash --> +<!ENTITY endash CDATA "–" -- en dash --> + +<!-- Language-dependent BIDI and contextual analysis --> +<!ENTITY zwnj CDATA "‌" -- zero width non-joiner --> +<!ENTITY zwj CDATA "‍" -- zero width joiner --> +<!ENTITY lrm CDATA "‎" -- left-to-right mark --> +<!ENTITY rlm CDATA "‏" -- right-to-left mark --> + +<!--=================== Generic Attributes ================================--> + +<!ENTITY % style + "id ID #IMPLIED -- document wide unique id -- + class CDATA #IMPLIED -- comma list of class values -- + style CDATA #IMPLIED -- associated style info --" + > + +<!ENTITY % i18n + "lang NAME #IMPLIED -- RFC 1766 language value -- + dir (ltr|rtl) #IMPLIED -- default directionality --" + > + +<!ENTITY % attrs "%style %i18n"> + +<!ENTITY % just + "align (left|center|right|justify) #IMPLIED" + -- default is left for ltr paragraphs, right for rtl -- + > + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font "TT | I | B | U | S | BIG | SMALL | SUB | SUP"> + +<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | Q"> + +<!ENTITY % special "A|IMG|APPLET|OBJECT|FONT|BR|SCRIPT|STYLE|MAP|SPAN|BDO"> + +<!ENTITY % form "INPUT | SELECT | TEXTAREA | LABEL"> + +<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form"> + +<!ELEMENT (%font|%phrase) - - (%text)*> +<!ATTLIST (%font|%phrase) %attrs> + +<!-- There are also 16 widely known color names: + + Black = #000000 Green = #008000 + Silver = #C0C0C0 Lime = #00FF00 + Gray = #808080 Olive = #808000 + White = #FFFFFF Yellow = #FFFF00 + Maroon = #800000 Navy = #000080 + Red = #FF0000 Blue = #0000FF + Purple = #800080 Teal = #008080 + Fuchsia= #FF00FF Aqua = #00FFFF + + These colors were originally picked as being the standard + 16 colors supported with the Windows VGA palette. The above + gives the sRGB values in hex (#RRGGBB). + --> + +<!ELEMENT SPAN - - (%text)* -- generic language/style container --> +<!ATTLIST SPAN %attrs> + +<!ELEMENT BDO - - (%text)* -- I18N BiDi over-ride --> +<!ATTLIST BDO + lang NAME #IMPLIED -- RFC 1766 language value -- + dir (ltr|rtl) #REQUIRED -- directionality -- + > + +<!ELEMENT FONT - - (%text)* -- local change to font --> +<!ATTLIST FONT + size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 -- + color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" -- + face CDATA #IMPLIED -- comma separated list of font names -- + > + +<!ELEMENT BR - O EMPTY -- forced line break --> +<!ATTLIST BR + %attrs; -- id, class, style, lang, dir -- + clear (left|all|right|none) none -- control of text flow -- + > + +<!--================== HTML content models ================================--> +<!-- + HTML has three basic content models: + + %text character level elements and text strings + %flow block-like elements e.g. paragraphs and lists + %bodytext as (b) plus headers and ADDRESS +--> + +<!ENTITY % block + "P | %list | %preformatted | DL | DIV | CENTER | + BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET"> + +<!-- %flow is used for DD and LI --> + +<!ENTITY % flow "(%text | %block)*"> + +<!--=================== Document Body =====================================--> + +<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*"> + +<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? --> + +<!ENTITY % body-color-attrs " + bgcolor %color #IMPLIED + text %color #IMPLIED + link %color #IMPLIED + vlink %color #IMPLIED + alink %color #IMPLIED + "> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + %attrs; -- id, class, style, lang, dir -- + background %URL #IMPLIED -- texture tile for document background -- + %body-color-attrs; -- bgcolor, text, link, vlink, alink -- + onLoad %script #IMPLIED -- intrinsic event -- + onUnload %script #IMPLIED -- intrinsic event -- + > + +<!ENTITY % address.content "((%text;) | P)*"> + +<!ELEMENT ADDRESS - - %address.content> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + %attrs; -- id, class, style, lang, dir -- + %just; -- alignment of following text -- + > + +<!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> +<!ELEMENT center - - %body.content> + +<!--================== The Anchor Element =================================--> +<!-- see WD-object draft for OBJECT client-side imagemap extensions --> + +<!ENTITY % SHAPE "(rect|circle|poly|default)"> +<!ENTITY % COORDS "CDATA" -- comma separated list of numbers --> + +<!ELEMENT A - - (%text)* -(A)> +<!ATTLIST A + %attrs; -- id, class, style, lang, dir -- + name CDATA #IMPLIED -- named link end -- + href %URL #IMPLIED -- URL for linked resource -- + rel CDATA #IMPLIED -- forward link types -- + rev CDATA #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + accesskey CDATA #IMPLIED -- accessibility key character -- + shape %SHAPE rect -- for use with OBJECT SHAPES -- + coords %COORDS #IMPLIED -- for use with OBJECT SHAPES -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onClick %script #IMPLIED -- intrinsic event -- + onMouseOver %script #IMPLIED -- intrinsic event -- + onMouseOut %script #IMPLIED -- intrinsic event -- + > + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ELEMENT MAP - - (AREA)*> +<!ATTLIST MAP + name CDATA #IMPLIED + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + shape %SHAPE rect + coords %COORDS #IMPLIED -- always needed except for shape=default -- + href %URL #IMPLIED -- this region acts as hypertext link -- + nohref (nohref) #IMPLIED -- this region has no action -- + alt CDATA #REQUIRED -- label for text only browsers -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onClick %script #IMPLIED -- intrinsic event -- + onMouseOver %script #IMPLIED -- intrinsic event -- + onMouseOut %script #IMPLIED -- intrinsic event -- + > + +<!--================== The LINK Element ==================================--> + +<!ENTITY % Types "CDATA" + -- See Internet Draft: draft-ietf-html-relrev-00.txt + LINK has been part of HTML since the early days + although few browsers as yet take advantage of it. + + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the LINK element in document head: + b) to link to a separate style sheet (rel=stylesheet) + c) to make a link to a script (rel=script) + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a postscript or pdf version (rel=print) +--> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + %style; -- id, class, style -- + href %URL #IMPLIED -- URL for linked resource -- + rel %Types #IMPLIED -- forward link types -- + rev %Types #IMPLIED -- reverse link types -- + title CDATA #IMPLIED -- advisory title string -- + type CDATA #IMPLIED -- advisory Internet media type -- + > + +<!--=================== Images ============================================--> + +<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> +<!ENTITY % Pixels "CDATA" -- integer representing length in pixels --> + +<!-- Suggested widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ENTITY % IAlign "(top|middle|bottom|left|right)" -- center? --> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %style; -- id, class, style -- + src %URL #REQUIRED -- URL of image to embed -- + alt CDATA #IMPLIED -- for display in place of image -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #IMPLIED -- suggested height in pixels -- + width %Pixels #IMPLIED -- suggested width in pixels -- + border %Pixels #IMPLIED -- suggested link border width -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- use client-side image map -- + ismap (ismap) #IMPLIED -- use server image map -- + title CDATA #IMPLIED -- advisory title string -- + > + +<!-- USEMAP points to a MAP element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--=================== OBJECT tag ===================================--> +<!-- OBJECT is a character-like element for inserting objects, see + W3C working draft: http://www.w3.org/pub/WWW/TR/WD-object.html --> + +<!ENTITY % OAlign "(texttop|middle|textmiddle|baseline| + textbottom|left|center|right)"> + +<!ELEMENT OBJECT - - (param | %body.content)*> +<!ATTLIST OBJECT + %attrs -- id, class, style, lang, dir -- + declare (declare) #IMPLIED -- declare but don't instantiate flag -- + classid %URL #IMPLIED -- identifies an implementation -- + codebase %URL #IMPLIED -- some systems need an additional URL -- + data %URL #IMPLIED -- reference to object's data -- + type CDATA #IMPLIED -- Internet media type for data -- + codetype CDATA #IMPLIED -- Internet media type for code -- + standby CDATA #IMPLIED -- message to show while loading -- + align %OAlign #IMPLIED -- positioning inside document -- + height %Length #IMPLIED -- suggested height -- + width %Length #IMPLIED -- suggested width -- + border %Length #IMPLIED -- suggested link border width -- + hspace %Length #IMPLIED -- suggested horizontal gutter -- + vspace %Length #IMPLIED -- suggested vertical gutter -- + usemap %URL #IMPLIED -- reference to image map -- + shapes (shapes) #IMPLIED -- object has shaped hypertext links -- + name %URL #IMPLIED -- submit as part of form -- + title CDATA #IMPLIED -- advisory title string -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + > + +<!ELEMENT param - O EMPTY -- named property value --> +<!ATTLIST param + name CDATA #REQUIRED -- property name -- + value CDATA #IMPLIED -- property value -- + valuetype (DATA|REF|OBJECT) DATA -- How to interpret value -- + type CDATA #IMPLIED -- Internet media type -- + > + +<!--=================== Java APPLET tag ===================================--> +<!-- + This tag is supported by all java enabled browsers. Applet resources + (including their classes) are normally loaded relative to the document + URL (or <BASE> element if it is defined). The CODEBASE attribute is used + to change this default behavior. If the CODEBASE attribute is defined then + it specifies a different location to find applet resources. The value + can be an absolute URL or a relative URL. The absolute URL is used as is + without modification and is not effected by the documents <BASE> element. + When the codebase attribute is relative, then it is relative to the + document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems + with SGML mixed content. It can always be omitted *except* when the APPLET + element hasn't any content. White space, comments and PARAM elements + don't count as content for this purpose. TEXTFLOW was introduced into + the DTD to satisfy SGML parsers, but is ignored by current Web browsers. +--> +<!ELEMENT APPLET - - (PARAM*, TEXTFLOW)> +<!ATTLIST APPLET + %style; -- id, class, style -- + codebase %URL #IMPLIED -- code base -- + code CDATA #REQUIRED -- class file -- + name CDATA #IMPLIED -- applet name -- + alt CDATA #IMPLIED -- for display in place of applet -- + align %IAlign #IMPLIED -- vertical or horizontal alignment -- + height %Pixels #REQUIRED -- suggested height in pixels -- + width %Pixels #REQUIRED -- suggested width in pixels -- + hspace %Pixels #IMPLIED -- suggested horizontal gutter -- + vspace %Pixels #IMPLIED -- suggested vertical gutter -- + title CDATA #IMPLIED -- advisory title string -- + download NUMBER #IMPLIED -- image download order -- + > + +<!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model --> + +<!-- +Here is an example: + + <applet codebase="applets/NervousText" + code=NervousText.class + width=300 + height=50> + <param name=text value="Java is Cool!"> + <img src=sorry.gif alt="This looks better with Java support"> + </applet> +--> + +<!--=================== Horizontal Rule ===================================--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + %style; -- id, class, style -- + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED + size %Pixels #IMPLIED + width %Length #IMPLIED + > +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + %attrs; -- id, class, style, lang, dir -- + %just; -- text alignment -- + > + +<!--=================== Headings ==========================================--> + +<!-- + There are six levels of headers from H1 (the most important) + to H6 (the least important). +--> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST ( %heading ) + %attrs; -- id, class, style, lang, dir -- + %just; -- text alignment -- + > + +<!--=================== Preformatted Text =================================--> + +<!-- excludes images and changes in font size --> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> +<!ATTLIST PRE + %attrs; -- id, class, style, lang, dir -- + width NUMBER #implied -- is this widely supported? -- + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Block-like Quotes =================================--> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<!ATTLIST BLOCKQUOTE %attrs> + +<!--=================== Lists =============================================--> + +<!-- + HTML 3.2 allows you to control the sequence number for ordered lists. + You can set the sequence number with the START and VALUE attributes. + The TYPE attribute may be used to specify the rendering of ordered + and unordered lists. +--> + +<!-- definition lists - DT for term, DD for its definition --> + +<!ELEMENT DL - - (DT|DD)*> +<!ATTLIST DL + %attrs; -- id, class, style, lang, dir -- + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)*> +<!ELEMENT DD - O %flow;> +<!ATTLIST (DT|DD) %attrs> + +<!-- Ordered lists OL, and unordered lists UL --> +<!ELEMENT (OL|UL) - - (LI)*> + +<!-- + Numbering style + 1 arablic numbers 1, 2, 3, ... + a lower alpha a, b, c, ... + A upper alpha A, B, C, ... + i lower roman i, ii, iii, ... + I upper roman I, II, III, ... + + The style is applied to the sequence number which by default + is reset to 1 for the first list item in an ordered list. + + This can't be expressed directly in SGML due to case folding. +--> + +<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] --> + +<!ATTLIST OL -- ordered lists -- + %attrs; -- id, class, style, lang, dir -- + type %OLStyle #IMPLIED -- numbering style -- + start NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- bullet styles --> + +<!ENTITY % ULStyle "disc|square|circle"> + +<!ATTLIST UL -- unordered lists -- + %attrs; -- id, class, style, lang, dir -- + type (%ULStyle) #IMPLIED -- bullet style -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT (DIR|MENU) - - (LI)* -(%block)> +<!ATTLIST DIR + compact (compact) #IMPLIED + > +<!ATTLIST MENU + compact (compact) #IMPLIED + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!-- The type attribute can be used to change the bullet style + in unordered lists and the numbering style in ordered lists --> + +<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" --> + +<!ELEMENT LI - O %flow -- list item --> +<!ATTLIST LI + %attrs; -- id, class, style, lang, dir -- + type %LIStyle #IMPLIED -- list item style -- + value NUMBER #IMPLIED -- reset sequence number -- + > + +<!--================ Forms ===============================================--> + +<!ELEMENT FORM - - %body.content -(FORM)> +<!ATTLIST FORM + action %URL #REQUIRED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + onSubmit %script #IMPLIED -- intrinsic event -- + > + +<!ELEMENT LABEL - - (%text)* -(LABEL) -- field label text --> +<!ATTLIST LABEL + %attrs; -- id, class, style, lang, dir -- + for IDREF #IMPLIED -- matches field ID value -- + accesskey CDATA #IMPLIED -- accessibility key character -- + title CDATA #IMPLIED -- advisory title string -- + onClick %script #IMPLIED -- intrinsic event -- + > +<!ENTITY % InputType + "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + FILE | HIDDEN | IMAGE | BUTTON)" + > + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + %attrs; -- id, class, style, lang, dir -- + type %InputType TEXT -- what kind of widget is needed -- + name CDATA #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio and checkboxes -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + title CDATA #IMPLIED -- advisory title string -- + size CDATA #IMPLIED -- specific to each type of field -- + maxlength NUMBER #IMPLIED + src %URL #IMPLIED -- for fields with background images -- + align (top|middle|bottom|left|right) top -- image alignment -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onClick %script #IMPLIED -- intrinsic event -- + onFocus %script #IMPLIED -- intrinsic event -- + onBlur %script #IMPLIED -- intrinsic event -- + onSelect %script #IMPLIED -- intrinsic event -- + onChange %script #IMPLIED -- intrinsic event -- + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + %attrs; -- id, class, style, lang, dir -- + name CDATA #REQUIRED + size NUMBER #IMPLIED + multiple (multiple) #IMPLIED + title CDATA #IMPLIED -- advisory title string -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onFocus %script #IMPLIED -- intrinsic event -- + onBlur %script #IMPLIED -- intrinsic event -- + onChange %script #IMPLIED -- intrinsic event -- + > + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + %attrs; -- id, class, style, lang, dir -- + selected (selected) #IMPLIED + value CDATA #IMPLIED -- defaults to element content -- + > + +<!-- Multi-line text input field. --> + +<!ELEMENT TEXTAREA - - (#PCDATA)*> +<!ATTLIST TEXTAREA + %attrs; -- id, class, style, lang, dir -- + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + title CDATA #IMPLIED -- advisory title string -- + tabindex NUMBER #IMPLIED -- position in tabbing order -- + notab (notab) #IMPLIED -- exclude from tabbing order -- + onFocus %script #IMPLIED -- intrinsic event -- + onBlur %script #IMPLIED -- intrinsic event -- + onSelect %script #IMPLIED -- intrinsic event -- + onChange %script #IMPLIED -- intrinsic event -- + > + +<!-- captioned set of related form fields --> + +<!ELEMENT FIELDSET - - (CAPTION?, %body.content)> +<!ATTLIST FIELDSET + %attrs; -- id, class, style, lang, dir -- + title CDATA #IMPLIED -- advisory title string --> + +<!--======================= Tables ========================================--> + +<!-- IETF HTML table standard, see RFC 1942 e.g. at + http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> + +<!-- + The BORDER attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The FRAME attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the VALIGN attribute. + + The value "border" is included for backwards compatibility with + <TABLE BORDER> which yields frame=border and border=implied + For <TABLE BORDER=1> you get border=1 and frame=implied. In this + case, its appropriate to treat this as frame=border for backwards + compatibility with deployed browsers. +--> + +<!ENTITY % Frame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + +<!-- + The RULES attribute defines which rules to draw between cells: + + If RULES is absent then assume: + "none" if BORDER is absent or BORDER=0 otherwise "all" +--> + +<!ENTITY % Rules "(none | groups | rows | cols | all)"> + +<!-- horizontal placement of table relative to window --> +<!ENTITY % Where "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents --> +<!ENTITY % cell.halign + "align (left|center|right|justify|char) #IMPLIED + char CDATA #IMPLIED -- alignment char, e.g. char=':' -- + charoff CDATA #IMPLIED -- offset for alignment char --" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cell.valign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT table - - (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)> +<!ELEMENT caption - - (%text;)+> +<!ELEMENT thead - O (tr+)> +<!ELEMENT tfoot - O (tr+)> +<!ELEMENT tbody O O (tr+)> +<!ELEMENT colgroup - O (col*)> +<!ELEMENT col - O EMPTY> +<!ELEMENT tr - O (th|td)+> +<!ELEMENT (th|td) - O %body.content> + +<!ATTLIST table -- table element -- + %attrs; -- id, lang, style, dir and class -- + align %Where; #IMPLIED -- table position relative to window -- + width CDATA #IMPLIED -- table width relative to window -- + cols NUMBER #IMPLIED -- used for immediate display mode -- + border CDATA #IMPLIED -- controls frame width around table -- + frame %Frame; #IMPLIED -- which parts of table frame to include -- + rules %Rules; #IMPLIED -- rulings between rows and cols -- + cellspacing CDATA #IMPLIED -- spacing between cells -- + cellpadding CDATA #IMPLIED -- spacing within cells -- + > + +<!-- ALIGN is used here for compatibility with deployed browsers --> +<!ENTITY % Caption "(top|bottom|left|right)"> + +<!ATTLIST caption -- table caption -- + %attrs; -- id, lang, style, dir and class -- + align %Caption; #IMPLIED -- relative to table -- + accesskey CDATA #IMPLIED -- accessibility key character -- + > + +<!-- +COLGROUP groups a set of COL elements. It allows you to group +several columns together. +--> + +<!ATTLIST colgroup + %attrs; -- id, lang, style, dir and class -- + span NUMBER 1 -- default number of columns in group -- + width CDATA #IMPLIED -- default width for enclosed COLs -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!-- + COL elements define the alignment properties for cells in a given + column or spanned columns. The WIDTH attribute specifies the + width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 +--> + +<!ATTLIST col -- column groups and properties -- + %attrs; -- id, lang, style, dir and class -- + span NUMBER 1 -- number of columns spanned by group -- + width CDATA #IMPLIED -- column width specification -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!-- + Use THEAD to duplicate headers when breaking table + across page boundaries, or for static headers when + body sections are rendered in scrolling panel. + + Use TFOOT to duplicate footers when breaking table + across page boundaries, or for static footers when + body sections are rendered in scrolling panel. + + Use multiple TBODY sections when rules are needed + between groups of table rows. +--> +<!ATTLIST (thead|tbody|tfoot) -- table section -- + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST tr -- table row -- + %attrs; -- id, lang, style, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + +<!ATTLIST (th|td) -- header or data cell -- + %attrs; -- id, lang, style, dir and class -- + axis CDATA #IMPLIED -- defaults to cell content -- + axes CDATA #IMPLIED -- list of axis names -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + bgcolor %color #IMPLIED -- cell background color -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > +<!--================ Document Head ========================================--> + +<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> + +<!ELEMENT HEAD O O (%head.content) +(%head.misc)> + +<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> +<!ATTLIST TITLE %i18n> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + %i18n; -- lang, dir -- + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives an absolute URL for dereferencing relative + URLs, e.g. + + <BASE href="http://foo.com/index.html"> + ... + <IMG SRC="images/bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif + + In the absence of a BASE element the document URL should be used. + Note that this is not necessarily the same as the URL used to + request the document, as the base URL may be overridden by an HTTP + header accompanying the document. +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + href %URL #REQUIRED + > + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- SCRIPT/STYLE are place holders for transition to next version of HTML --> + +<!ELEMENT STYLE - - CDATA -- style info --> +<!ATTLIST STYLE + %i18n; -- lang, dir for use with title string -- + type CDATA #REQUIRED -- Internet media type for style notation -- + title CDATA #IMPLIED -- advisory title for this style -- + > + +<!ELEMENT SCRIPT - - CDATA -- script statements --> +<!ATTLIST SCRIPT + type CDATA #IMPLIED -- Internet media type for style notation -- + language CDATA #IMPLIED -- predefined script language name -- + src %URL #IMPLIED -- URL for an external script -- + > + +<!--================ Document Structure ===================================--> + +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ATTLIST HTML + %version.attr; + > diff --git a/htdocs/sgml-lib/html-hj.dtd b/htdocs/sgml-lib/html-hj.dtd new file mode 100644 index 0000000..9273916 --- /dev/null +++ b/htdocs/sgml-lib/html-hj.dtd @@ -0,0 +1,1305 @@ +<!-- + html-hj.dtd + + Document Type Definition for the HyperText Markup Language (HTML + DTD) for Sun Microsystems Corp. HotJava environment + + + Date: 24 Jul 95 + + Revisions made by: Mark Gaither (markg@hal.com) + Original Author: Dave Raggett <dsr@hplb.hpl.hp.com> + + I have taken the HTML 3.0 DTD dated 16 Mar 95 and added the APP + element introduced by Sun Microsystems Corp. to accomodate their + Java/HotJava WWW application environment. + + Revised by Gerald Oskoboiny, <gerald@pobox.com>, 3 Feb 1996: + changed 'Sun Micorsystems' in FPI to 'Sun Microsystems'. +--> + +<!ENTITY % HTML.Version + "-//Sun Microsystems Corp.//DTD HotJava HTML//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//Sun Microsystems Corp.//DTD HotJava HTML//EN"> + <html> + ... + </html> + -- + > + +<!--================== Flags for Marked Sections ==========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for compatibility + with widespread usage, but they may compromise the structural + integrity of a document. This feature test entity enables + a more prescriptive document type definition that eliminates + the above features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for compatibility + with earlier versions of the specification, but they tend + to be used an implemented inconsistently, and their use is + deprecated. This feature test entity enables a document type + definition that eliminates these features. + --> + +<!ENTITY % HTML.Obsoleted "IGNORE" + -- The XMP, LISTING and PLAINTEXT tags are incompatible with SGML + and derive from very early versions of HTML. They require non- + standard parsers and will cause problems for processing + documents with standard SGML tools. + --> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URI "CDATA" + -- The term URI means a CDATA attribute + whose value is a Uniform Resource Identifier, + as defined by + "Uniform Resource Identifiers" by Tim Berners-Lee + aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html + aka RFC 1630 + + Note that CDATA attributes are limited by the LITLEN + capacity (1024 in the current version of html.decl), + so that URIs in HTML have a bounded length. + + --> + +<!ENTITY % REAL "CDATA" -- real numbers (not in SGML) --> + +<!ENTITY % SHAPE "CDATA" + -- Shape of hotzone in image. + + All coordinates are assumed to be numbers in the range 0 to 1 + and interpreted as fractional width/height and measured from + the top left corner of the associated image. + + The attribute value is a string taking one of the following forms: + + "default" + + Used to define a default link for the figure background. + + "circle x, y, r" + + (x, y) define the center and r the radius. + + "rect x, y, w, h" + + (x, y) defines upper left, and w and h the width and height. + + "polygon x1, y1, x2, y2, ..." + + Given n pairs of x, y coordinates, the polygon is closed by a + line linking the n'th point to the first. Intersecting polygons + use the non-zero winding number rule to determine if a point lies + inside the polygon.I + -- +> + +<!-- 3.0 Parameter Entities --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<![ %HTML.Obsoleted [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + + +<![ %HTML.Deprecated [ + <!ENTITY % list "UL | OL | DIR | MENU"> + <!ENTITY % blockquote "BLOCKQUOTE | BQ"> +]]> + +<!ENTITY % list "UL | OL"> + +<!ENTITY % blockquote "BQ"> + +<!ENTITY % preformatted "PRE"> + + +<!-- The CLASS attribute is used to subclass HTML elements for + rendering purposes, when used with style sheets, e.g. DSSSL lite --> + +<!ENTITY % attrs -- common attributes for elements -- + 'id ID #IMPLIED -- as target for hrefs (link ends) -- + lang CDATA "en.us" -- ISO language, country code -- + class NAMES #IMPLIED -- for subclassing elements --'> + +<!-- SGML standard forces different NAMES for all attribute values + in the same element, regardless of the attribute name! As a result + CDATA is used for CLEAR attribute to avoid clash with ALIGN attribute.--> + +<!-- +When text flows around a figure or table in the margin, you sometimes want +to start an element like a header, paragraph or list below the figure rather +than alongside it. The CLEAR attribute allows you to move down unconditionally: + + clear=left move down until left margin is clear + clear=right move down until right margin is clear + clear=all move down until both margins are clear + +Alternatively, you can decide to place the element alongside the figure just +so long as there is enough room. The minimum width needed is specified as: + + clear="40 en" move down until there is at least 40 en units free + clear="100 pixels" move down until there is at least 100 pixels free + +The style sheet (or browser defaults) may provide default minimum widths for +each class of block-like elements. +--> + +<!ENTITY % needs -- Attributes for controlling text flow. Used in headers + and other elements to guarantee sufficient room -- + 'clear CDATA #IMPLIED'> + +<!-- + The following attribute may be included where ever a URL can be given: + + md message digest e.g. md="md5:jV2OfH+nnXHU8bnkPAad/mSQlTDZ" + where the digest is base64 encoded and preceded by a prefix + denoting the algorithm (in this case MD5). +--> + +<!ENTITY % url.link -- Attributes associated with URL based links -- + "md CDATA #IMPLIED -- message digest for linked object --"> + +<!--================ Character mnemonic entities ==========================--> + +<!-- The HTML list of Latin-1 entities includes the full range + of characters in widely available Latin-1 fonts, and as such + is a mixture of ISOlat1 and other ISO publishing symbols --> + +<!ENTITY % HTMLlat1 PUBLIC + "-//IETF//ENTITIES Added Latin 1 for HTML//EN"> +%HTMLlat1; + +<!--================ Entities for special symbols =========================--> + +<!ENTITY emsp SDATA "[emsp ]" -- em space --> +<!ENTITY ensp SDATA "[ensp ]" -- en space (1/2-em) --> +<!ENTITY mdash SDATA "[ndash ]" -- em dash --> +<!ENTITY ndash SDATA "[ndash ]" -- en dash (1/2-em) --> +<!ENTITY nbsp SDATA "[nbsp ]" -- non breaking space --> +<!ENTITY shy SDATA "[shy ]" -- soft hyphen --> +<!ENTITY copy SDATA "[copy ]" -- copyright sign --> +<!ENTITY trade SDATA "[trade ]" -- trade mark sign --> +<!ENTITY reg SDATA "[reg ]" -- registered sign --> + +<!--================ Entities for standard icons ==========================--> + +<!-- a range of standard icons such as &folder; for use + in speeding up display of directory listings etc. --> + +<!ENTITY % HTMLicons PUBLIC + "-//IETF//ENTITIES icons for HTML//EN"> +%HTMLicons; + +<!--================ Entities for math symbols ============================--> + +<!-- ISO subset chosen for use with the widely available Adobe math font --> + +<!ENTITY % HTMLmath PUBLIC + "-//IETF//ENTITIES Math and Greek for HTML//EN"> +%HTMLmath; + +<!--=================== Text Markup =======================================--> + +<!ENTITY % font " U | S | TT | I | BIG | SMALL"> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE"> + +<!ENTITY % misc "Q | LANG | AU | DFN | PERSON | ACRONYM | ABBREV | INS | DEL"> + +<!ENTITY % special "TAB | MATH | A | IMG | BR"> + +<!ENTITY % notmath "%font | %phrase | %special | %misc"> + +<!ENTITY % text "#PCDATA | SUB | SUP | B | %notmath"> + + +<!ENTITY % pre.exclusion "TAB|MATH|IMG|BIG|SMALL|SUB|SUP"> + +<!ELEMENT (%font|B|%phrase|%misc) - - (%text)+> +<!ATTLIST (%font|B|%phrase|%misc) %attrs;> + +<!-- Subscripts and superscripts. The ALIGN attribute is only used for math --> + +<!ELEMENT (SUB|SUP) - - (%text)+> +<!ATTLIST (SUB|SUP) + %attrs; + align (left|center|right) #IMPLIED + > + +<!-- Forced line break --> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + %attrs; + %needs; -- for control of text flow -- + > + +<!-- Named left, center and right tab stops (independent of '\t' char) --> + +<!ELEMENT TAB - O EMPTY> +<!ATTLIST TAB + id ID #IMPLIED -- defines named tab stop -- + indent NUMBER 0 -- en units before new tab stop -- + to IDREF #IMPLIED -- jump to named tab stop -- + align (left|center|right|decimal) left + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + > + +<!--================== Link Markup ========================================--> + +<!-- + With HTML 3.0 you can use ID attributes on most elements for named + link ends. The use of the NAME attribute on anchors is deprecated. + + Do we want to support arbitrary elements for link starts? This would + involve adding HREF and related attributes to most elements. +--> + +<![ %HTML.Deprecated [ + <!ENTITY % linkName "name CDATA #IMPLIED -- named link end --"> +]]> + +<!ENTITY % linkName ""> + + +<!ENTITY % ToolBar "home|toc|index|glossary|copyright| + up|previous|next|help|bookmark" + + -- LINK RELationship values which are used to create toolbar + buttons or menu items for navigation, where toc stands + for table of contents and bookmark provides for an open + ended set of links, i.e. you can use multiple bookmarks + for key entry points. Use the optional TITLE attribute + to override default names. + --> + +<!ENTITY % linkType "NAME" + -- A definitive list will be specified at a later date. + + They are used + + a) by stylesheets to control how collections of + html nodes are rendered into printed documents + + b) for document specific toolbars/menus when used + with the LINK element in document head: + + "home|toc|index|glossary|copyright| + up|previous|next|help|bookmark" + + where toc stands for table of contents and + bookmark provides for an open ended set of links, + i.e. you can use several bookmarks for key entry + points. Use the optional TITLE attribute to + override default names. + + c) for hypertext paths or guided tours, + with REL=NODE and REL=PATH. + + d) to make a link to a style sheet, e.g. rel=stylesheet + (used only with the LINK element). + + e) to make a link to a separate banner, e.g. rel=banner + (used only with the LINK element). + --> + + +<!ENTITY % linkExtraAttributes -- URN moved to %url.link -- + "rel %linkType #IMPLIED -- forward relationship type -- + rev %linkType #IMPLIED -- reversed relationship type + to referent data -- + title CDATA #IMPLIED -- advisory only -- + methods NAMES #IMPLIED -- supported public methods of the object: + TEXTSEARCH, GET, HEAD, ... -- + "> + +<![ %HTML.Deprecated [ + <!ENTITY % A.content "(%heading|%text)+"> +]]> + +<!ENTITY % A.content "(%text)+"> + +<!ELEMENT A - - %A.content -(A)> + +<!ATTLIST A + %attrs; + href %URI; #IMPLIED + %url.link; -- standard link attributes -- + %linkName; -- name attribute is deprecated; use ID instead -- + shape %SHAPE; #IMPLIED -- for shaped hotzones in FIGs -- + %linkExtraAttributes; + > + +<!--=================== Images ============================================--> + +<!-- Desired widths are used for negotiating image size + with the module responsible for painting the image. + align=left or right cause image to float to margin + and for subsequent text to wrap around image --> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + %attrs; + src %URI; #REQUIRED -- URI of image to embed -- + %url.link; -- standard link attributes -- + alt CDATA #IMPLIED -- for display in place of image -- + align (top|middle|bottom|left|right) top -- relative to baseline + -- width NUMBER #IMPLIED -- desired width in en's or pixels -- + height NUMBER #IMPLIED -- desired height in en's or pixels -- + units (en|pixels) pixels -- units for width and height -- + ismap (ismap) #IMPLIED -- pass clicks to server -- + > + +<!--=================== Paragraphs=========================================--> + +<!ELEMENT P - O (%text)+> +<!ATTLIST P + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--=================== Headings, Titles, Sections ========================--> + +<!ELEMENT HR - O EMPTY -- customizable horizontal rule --> +<!ATTLIST HR + %attrs; + src %URI; #IMPLIED -- URI of custom rule graphic -- + %url.link; -- standard link attributes -- + %needs; -- for control of text flow -- + > + +<!-- + Headers can be numbered, although this is a matter for style sheets. + The style sheet controls the numbering style: + + a) whether the parent numbering is inherited, e.g. 5.i.c + where 5 is the current sequence number for H1 headers, and + 1 is the number for H2 headers and 3 for H3 headers. + + b) what style is used for current sequence number + e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman + or a numbering scheme appropriate for the current language + + The skip attribute is used to skip over sequence numbers for items + which have been left out of the list, e.g. skip=3 advances the + sequence number past 3 omitted items. The seqnum sets the sequence + number to a specified value. Note that the style sheet may take + advantage of the sequence number for higher level headers. + + The dingbat or src attributes may be used to specify a bullet like + image to be placed adjacent to the header. Defining this in the + header element simplifies the document markup and avoids the need + to use the clear or needs attribute in the following element to + prevent it flowing around this image. +--> + +<!ELEMENT ( %heading ) - - (%text;)+> +<!ATTLIST ( %heading ) + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + skip NUMBER 0 -- skip seq nums for missing items -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src (%URI;) #IMPLIED -- bullet defined by graphic -- + %url.link; -- standard link attributes -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!ELEMENT TITLE - - (#PCDATA) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + +<!--=================== Text Flows ========================================--> + +<!ENTITY % block + "P | %list | DL + | %preformatted + | %blockquote + | FORM | ISINDEX | FN + | TABLE | FIG | NOTE"> + +<!-- + ((%block)* | (%text)*) would be much nicer as it would avoid the need + for a <P> tag when all you want is a few words of text. The problem + is that it also prevents: "<LI> <P>some text" since it forbids PCDATA + and hence the white space between the <LI> and the <P>. +--> + +<![ %HTML.Recommended [ + <!ENTITY % flow "(%block)*"> +]]> + +<!ENTITY % flow "(%text | %block)*"> + +<!ELEMENT PRE - - (%text)* -(%pre.exclusion)> + +<!ATTLIST PRE + %attrs; + width NUMBER #implied + %needs; -- for control of text flow -- + > + +<![ %HTML.Obsoleted [ + +<!ENTITY % literal "CDATA" + -- special non-conforming parsing mode where + the only markup signal is the end tag + in full. This will cause problems for + standard SGML tools! + --> + +<!ELEMENT XMP - - %literal> +<!ELEMENT LISTING - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + +<!--=================== Lists =============================================--> + +<!ELEMENT DL - - (LH?, (DT|DD)+) -- this is perhaps too lax? --> +<!ATTLIST DL + %attrs; + %needs; -- for control of text flow -- + compact (compact) #IMPLIED -- more compact style -- + > + +<!ELEMENT DT - O (%text)+> +<!ELEMENT DD - O %flow;> +<!ATTLIST (DT|DD) + %attrs; + %needs; -- for control of text flow -- + > + + +<!ELEMENT (OL|UL) - - (LH?, LI+) -- should we allow a list header ? --> + +<!-- style sheet controls numbering style + a) whether the parent numbering is inherited, e.g. 5.1.c + b) what style is used for current sequence number + e.g. arabic, upperalpha, loweralpha, upperroman, lowerroman + or a numbering scheme for the current language +--> +<!ATTLIST OL + %attrs; + %needs; -- for control of text flow -- + continue (continue) #IMPLIED -- don't restart sequence number -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!-- Unordered lists: + + o single or multicolumn with + horizontal or vertical wrapping + + o plain or bulletted list items + + o bullets can be customised via: + - entities (dingbats in HTMLicons) + - external graphic via URL + - individual attributes on LI tags +--> +<!ATTLIST UL + %attrs; + %needs; -- for control of text flow -- + wrap (vert|horiz|none) none -- multicolumn list style -- + plain (plain) #IMPLIED -- suppress bullets -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src (%URI;) #IMPLIED -- bullet defined by graphic -- + %url.link; -- standard link attributes -- + compact (compact) #IMPLIED -- reduced interitem spacing -- + > + +<!ELEMENT LH - O (%text;)+ -- list header --> +<!ATTLIST LH %attrs;> + +<!-- + For unordered lists, you can override the standard bullet with + a custom graphic specified via a URI e.g. src="splash.gif" or + a reference to one of the HTMLicons graphics e.g. dingbat=folder + + The skip attribute is used with ordered lists to skip over sequence + numbers for items which have been left out of the list, e.g. skip=3 + advances the sequence number past 3 omitted items. +--> + +<!ELEMENT LI - O %flow; -- list item --> +<!ATTLIST LI + %attrs; + %needs; -- for control of text flow -- + dingbat ENTITY #IMPLIED -- dingbat entity from HTMLicons -- + src (%URI;) #IMPLIED -- custom bullet graphic -- + %url.link; -- standard link attributes -- + skip NUMBER 0 -- skip seq nums for missing items -- + > + +<!-- DIR and MENU are now subsumed by UL with type=plain. Use the + wrap attribute to control wrapping style for multicolumn lists --> + +<![ %HTML.Deprecated [ + <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> + <!ATTLIST (DIR|MENU) + compact (compact) #IMPLIED> +]]> + +<!--=================== Document Body =====================================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(DIV|%heading|%block|HR|ADDRESS|APP)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(DIV | %heading | %text | %block | HR | ADDRESS | APP)*"> + +<!ELEMENT BODY O O (BANNER?, BODYTEXT) +(SPOT)> +<!ATTLIST BODY + %attrs; + background %URI; #IMPLIED -- texture tile for document background -- + > + +<!ELEMENT BODYTEXT O O %body.content -- dummy element --> + +<!-- + The BANNER element is used for a banner section which appears at + the top of the window and doesn't scroll with window contents. + This can be used for corporate logos, copyright statements and + disclaimers, as well as customized navigation/search controls. +--> +<!ELEMENT BANNER - - %body.content> +<!ATTLIST BANNER %attrs; > + +<!-- SPOT is used to insert IDs at arbitrary places + e.g. for end points of a marked range (see RANGE) --> +<!ELEMENT SPOT - O EMPTY> +<!ATTLIST SPOT id ID #REQUIRED> + +<!ELEMENT (%blockquote) - - (BODYTEXT, CREDIT?)> +<!ATTLIST (%blockquote) + %attrs; + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!ENTITY % address.content "((%text;)* | P*)"> + +<!ELEMENT ADDRESS - - %address.content> +<!ATTLIST ADDRESS + %attrs; + %needs; -- for control of text flow -- + > + +<!ELEMENT APP - O EMPTY> +<!ATTLIST APP + class CDATA #REQUIRED + src %URI; #IMPLIED + align (bottom|top|middle) #IMPLIED + width NUMBER #IMPLIED + height NUMBER #IMPLIED + > + +<!-- + DIV can be used with the CLASS attribute to represent different + kinds of container, e.g. chapter, section, abstract, appendix. +--> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + %attrs; + %needs; -- for control of text flow -- + align (left|center|right) left -- alignment of following text -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--================ Forms ===============================================--> + +<!-- + As HTML 2.0 plus a few extensions: + + a) A RANGE control which varies between pair of values + specified with the size attribute, e.g. SIZE="1, 10" + + b) FILE widget for uploading one or more files to a server + + c) SCRIBBLE on image widget that sends the "ink" to the server + + d) SUBMIT/RESET buttons can now be customised with an image. + This subsumes the IMAGE type which is now deprecated. + + e) Graphical SELECTion menus are now supported, using + the new SHAPE attribute on OPTION elements. + + Further extensions are in the pipeline (e.g. table entry, + multiple data formats for textarea fields and client-side + scripts with custom widgets) but will have to wait until + the backlog of implementation work diminishes. +--> + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + action %URI #REQUIRED -- server-side form handler -- + method (%HTTP-Method) GET -- see HTTP specification -- + enctype %Content-Type; "application/x-www-form-urlencoded" + script %URI #IMPLIED -- link to client-side script -- + > + +<![ %HTML.Deprecated [ + <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | RANGE | FILE | SCRIBBLE | HIDDEN | IMAGE)"> +]]> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT + | RESET | RANGE | FILE | SCRIBBLE | HIDDEN)"> + +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + %attrs; + type %InputType TEXT + name NAME #IMPLIED -- required for all but submit and reset -- + value CDATA #IMPLIED -- required for radio buttons & checkboxes -- + disabled (disabled) #IMPLIED -- read-only fields -- + error CDATA #IMPLIED -- why field is in error -- + checked (checked) #IMPLIED -- for radio buttons and check boxes -- + size NUMBER #IMPLIED -- visible width of TEXT fields -- + maxlength NUMBER #IMPLIED -- max number of chars for TEXT fields -- + min %REAL #IMPLIED -- lower limit for RANGE fields -- + max %REAL #IMPLIED -- upper limit for RANGE fields -- + accept CDATA #IMPLIED -- list of MIME types for file fields -- + src %URI #IMPLIED -- for fields with background images -- + %url.link; -- standard link attributes -- + align (top|middle|bottom|left|right) top + > + +<!-- + SRC attribute added for graphical selection menus + The WIDTH, HEIGHT and UNITS attributes apply to the + image specified by the SRC attribute. + --> + +<!ELEMENT SELECT - - (OPTION+) -(INPUT|TEXTAREA|SELECT)> +<!ATTLIST SELECT + %attrs; + name CDATA #REQUIRED + multiple (multiple) #IMPLIED + disabled (disabled) #IMPLIED -- read-only menu -- + error CDATA #IMPLIED -- why selections are in error -- + src %URI #IMPLIED -- for graphical selection menus -- + %url.link; -- standard link attributes -- + width NUMBER #IMPLIED -- desired width of in en's or pixels -- + height NUMBER #IMPLIED -- desired height in en's or pixels -- + units (en|pixels) pixels -- units for width and height -- + align (top|middle|bottom|left|right) top + > + +<!ELEMENT OPTION - O (#PCDATA)> +<!ATTLIST OPTION + %attrs; + selected (selected) #IMPLIED + value CDATA #IMPLIED -- default to element content -- + shape %SHAPE; #IMPLIED -- for graphical selection menus -- + disabled (disabled) #IMPLIED -- unselectable option -- + error CDATA #IMPLIED -- why this choice is in error -- + > + +<!-- + Multi-line text input field. align=left or right + causes the field to float to margin and for + subsequent text to wrap around the field. +--> + +<!ELEMENT TEXTAREA - - (#PCDATA) -(INPUT|TEXTAREA|SELECT)> +<!ATTLIST TEXTAREA + %attrs; + name CDATA #REQUIRED + rows NUMBER #REQUIRED + cols NUMBER #REQUIRED + disabled (disabled) #IMPLIED -- read-only field -- + error CDATA #IMPLIED -- why field is in error -- + align (top|middle|bottom|left|right) top + > + +<!--======================= Captions ======================================--> + +<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption --> +<!ATTLIST CAPTION + %attrs; + align (top|bottom|left|right) #IMPLIED + > +<!--======================= Tables ========================================--> + +<!-- + Tables and figures can be aligned in several ways: + + bleedleft flush left with the left (window) border + left flush left with the left text margin + center centered (text flow is disabled for this mode) + right flush right with the right text margin + bleedright flush right with the right (window) border + justify when applicable the table/figure should stretch + to fill space between the text margins + + Note: text will flow around the table or figure if the browser + judges there is enough room and the alignment is not centered + or justified. The table or figure may itself be part of the + text flow around some earlier figure. You can in this case use + the clear or needs attributes to move the new table or figure + down the page beyond the obstructing earlier figure. Similarly, + you can use the clear or needs attributes with other elements + such as headers and lists to move them further down the page. +--> + +<!ENTITY % block.align + "align (bleedleft|left|center|right|bleedright|justify) center"> + +<!-- + The HTML 3.0 table model has been chosen for its simplicity + and the ease in writing filters from common DTP packages. + + By default the table is automatically sized according to the + cell contents and the current window size. Specifying the columns + widths using the colspec attribute allows browsers to start + displaying the table without having to wait for last row. + + The colspec attribute is a list of column widths and alignment + specifications. The columns are listed from left to right with + a capital letter followed by a number, e.g. COLSPEC="L20 C8 L40". + The letter is L for left, C for center, R for right alignment of + cell contents. J is for justification, when feasible, otherwise + this is treated in the same way as L for left alignment. + Column entries are delimited by one or more space characters. + + The number specifies the width in en's, pixels or as a + fractional value of the table width, as according to the + associated units attribute. This approach is more compact + than used with most SGML table models and chosen to simplify + hand entry. The width attribute allows you to specify the + width of the table in pixels, en units or as a percentage + of the space between the current left and right margins. + + To assist with rendering to speech, row and column headers + can be given short names using the AXIS attribute. The AXES + attribute is used to explicitly specify the row and column + names for use with each cell. Otherwise browsers can follow + up columns and left along rows (right for some languages) + to find the corresponding header cells. + + Table content model: Braille limits the width of tables, + placing severe limits on column widths. User agents need + to render big cells by moving the content to a note placed + before the table. The cell is then rendered as a link to + the corresponding note. + + To assist with formatting tables to paged media, authors + can differentiate leading and trailing rows that are to + be duplicated when splitting tables across page boundaries. + The recommended way is to subclass rows with the CLASS attribute + For example: <TR CLASS=Header>, <TR CLASS=Footer> are used for + header and footer rows. Paged browsers insert footer rows at + the bottom of the current page and header rows at the top of + the new page, followed by the remaining body rows. +--> + +<!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data --> +<!ATTLIST TABLE + %attrs; + %needs; -- for control of text flow -- + border (border) #IMPLIED -- draw borders -- + colspec CDATA #IMPLIED -- column widths and alignment -- + units (en|pixels|relative) en -- units for column widths -- + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + width NUMBER #IMPLIED -- absolute or percentage width -- + %block.align; -- horizontal alignment -- + noflow (noflow) #IMPLIED -- noflow around table -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + > + +<!ENTITY % cell "TH | TD"> +<!ENTITY % horiz.align "left|center|right|justify"> +<!ENTITY % vert.align "top|middle|bottom|baseline"> + +<!-- + Browsers should tolerate an omission of the first <TR> + tag as it is implied by the context. Missing trailing + <TR>s implied by rowspans should be ignored. + + The alignment attributes act as defaults for rows + overriding the colspec attribute and being in turn + overridden by alignment attributes on cell elements. + Use valign=baseline when you want to ensure that text + in different cells on the same row is aligned on the + same baseline regardless of fonts. It only applies + when the cells contain a single line of text. +--> + +<!ELEMENT TR - O (%cell)* -- row container --> +<!ATTLIST TR + %attrs; + align (%horiz.align) #IMPLIED -- horizontal alignment -- + valign (%vert.align) top -- vertical alignment -- + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + > + +<!-- + Note that table cells can include nested tables. + Missing cells are considered to be empty, while + missing rows should be ignored, i.e. if a cell + spans a row and there are no further TR elements + then the implied row should be ignored. +--> + +<!ELEMENT (%cell) - O %body.content> +<!ATTLIST (%cell) + %attrs; + colspan NUMBER 1 -- columns spanned -- + rowspan NUMBER 1 -- rows spanned -- + align (%horiz.align) #IMPLIED -- horizontal alignment -- + valign (%vert.align) top -- vertical alignment -- + dp CDATA #IMPLIED -- decimal point e.g. dp="," -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + axis CDATA #IMPLIED -- axis name, defaults to element content -- + axes CDATA #IMPLIED -- comma separated list of axis names -- + > + +<!--====================== Figures ========================================--> + +<!-- + The element contains text for use in non-graphical displays. Note that + you can use the shape attribute in anchors to specify hotzones on images. + This provides for local processing of pointer clicks and a unified method + for dealing with graphical and non-graphical displays. + + Text is flowed around figures when the figure is left or right aligned. + You can request the browser to move down until there is enough room for + the next element, see the CLEAR and NEED attributes (in %needs) + + Figures offer a path towards embedding arbitrary information formats + via some kind of OLE/OpenDoc mechanism. +--> + +<!ELEMENT FIG - - (OVERLAY*, CAPTION?, FIGTEXT, CREDIT?) -(FIG|IMG)> +<!ATTLIST FIG + %attrs; + %needs; -- for control of text flow -- + src %URI; #REQUIRED -- URI of document to embed -- + %url.link; -- standard link attributes -- + %block.align; -- horizontal alignment -- + noflow (noflow) #IMPLIED -- noflow around figure -- + width NUMBER #IMPLIED -- desired width in units -- + height NUMBER #IMPLIED -- desired height in units -- + units (en|pixels) pixels -- specifies units as en's or pixels -- + imagemap (%URI) #IMPLIED -- pass background clicks to server -- + > + +<!ELEMENT FIGTEXT O O %body.content -- dummy element --> + +<!-- + Figure overlays. When combined with local caching, overlays + provide a cheap way of modifying a larger base image sent as + part of a previous page. +--> + +<!ELEMENT OVERLAY - O EMPTY -- image overlay --> +<!ATTLIST OVERLAY + src %URI; #REQUIRED -- URI of image overlay -- + %url.link; -- standard link attributes -- + units (en|pixels) pixels -- specifies units as en's or pixels -- + x NUMBER 0 -- offset from left in units -- + y NUMBER 0 -- offset from top in units -- + width NUMBER #IMPLIED -- desired width in units -- + height NUMBER #IMPLIED -- desired height in units -- + imagemap (%URI) #IMPLIED -- pass background clicks to server -- + > + +<!ELEMENT CREDIT - - (%text;)* -- source of image --> +<!ATTLIST CREDIT + %attrs; + > + +<!--======================== Notes ========================================--> + +<!-- +The NOTE element is used for admonishments. The CLASS attribute +is used to differentiate NOTE's, e.g. Note, Caution or Warning. +--> + +<!ELEMENT NOTE - - %body.content; -- admonishment --> +<!ATTLIST NOTE + %attrs; + src %URI; #IMPLIED -- URI of custom graphic -- + %url.link; -- standard link attributes -- + %needs; -- for control of text flow -- + > + +<!--======================== Footnotes ====================================--> + +<!-- +Typically rendered as popup note. These elements are referenced +by hypertext links specified with the anchor element. +--> +<!ELEMENT FN - - %body.content;> +<!ATTLIST FN %attrs;> + +<!--======================== Math ========================================--> + +<!-- Use     etc for greater control of spacing. --> + +<!-- Subscripts and Superscripts + + <SUB> and <SUP> are used for subscripts and superscripts. + + i j + X <SUP>i</SUP>Y<SUP>j</SUP> is X Y + + i.e. the space following the X disambiguates the binding. + The align attribute can be used for horizontal alignment, + e.g. to explicitly place an index above an element: + i + X<sup align=center>i</sup> produces X + +Short references are defined for superscripts, subscripts and boxes +to save typing when manually editing HTML math, e.g. + + x^2^ is mapped to x<sup>2</sup> + y_z_ is mapped to y<sub>z</sub> + {a+b} is mapped to <box>a + b</box> + +Note that these only apply within the MATH element and can't be +used in normal text! +--> +<!ENTITY REF1 STARTTAG "SUP"> +<!ENTITY REF2 ENDTAG "SUP"> +<!ENTITY REF3 STARTTAG "SUB"> +<!ENTITY REF4 ENDTAG "SUB"> +<!ENTITY REF5 STARTTAG "BOX"> +<!ENTITY REF6 ENDTAG "BOX"> + +<!USEMAP MAP1 MATH> +<!USEMAP MAP2 SUP> +<!USEMAP MAP3 SUB> +<!USEMAP MAP4 BOX> + +<!SHORTREF MAP1 "^" REF1 + "_" REF3 + "{" REF5 > + +<!SHORTREF MAP2 "^" REF2 + "_" REF3 + "{" REF5 > + +<!SHORTREF MAP3 "_" REF4 + "^" REF1 + "{" REF5 > + +<!SHORTREF MAP4 "}" REF6 + "^" REF1 + "_" REF3 + "{" REF5 > + +<!-- + The inclusion of %math and exclusion of %notmath is used here + to alter the content model for the B, SUB and SUP elements, + to limit them to formulae rather than general text elements. +--> + +<!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents --> +<!ENTITY % mathface "B|T|BT" -- control of font face --> +<!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface"> +<!ENTITY % formula "#PCDATA|%math"> + +<!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)> +<!ATTLIST MATH + id ID #IMPLIED + class NAMES #IMPLIED -- e.g. class=chem --> + +<!-- The BOX element acts as brackets. Delimiters are optional and + stretch to match the height of the box. The OVER element is used + when you want a line between numerator and denominator. This line + is suppressed with the alternative ATOP element. CHOOSE acts like + ATOP but adds enclosing round brackets as a convenience for binomial + coefficients. Note the use of { and } as shorthand for <BOX> and + </BOX> respectively: + + 1 + X + {1 + X<OVER>Y} is _______ + Y + + a + b + {a + b<ATOP>c - d} is + c - d + + The delimiters are represented using the LEFT and RIGHT + elements as in: + + {[<LEFT>x + y<RIGHT>]} is [ x + y ] + {(<LEFT>a<RIGHT>]} is (a] + {||<LEFT>a<RIGHT>||} is || a || + + Use { and } for "{" and "}" respectively as + these symbols are used as shorthand for BOX, e.g. + + {{<LEFT>a+b<RIGHT>}} is {a+b} + + You can stretch definite integrals to match the integrand, e.g. + + {∫<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx} + + b + / f(x) + | ----- dx + / 1 + x + a + + Note the complex content model for BOX is a work around + for the absence of support for infix operators in SGML. + + You can get oversize delimiters with the SIZE attribute, + for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX> + + Note that the names of common functions are recognized + by the parser without the need to use "&" and ";" around + them, e.g. int, sum, sin, cos, tan, ... +--> + +<!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?, + ((OVER|ATOP|CHOOSE), (%formula)*)?, + (RIGHT, (%formula)*)?)> +<!ATTLIST BOX + size (normal|medium|large|huge) normal -- oversize delims --> + +<!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY> + +<!-- Horizontal line drawn ABOVE contents + The symbol attribute allows authors to supply + an entity name for an accent, arrow symbol etc. + Generalisation of LaTeX's overline command. + + e.g. <above sym=ssmile>x</above> + places an upwardly turning curve above the "x" + --> + +<!ELEMENT ABOVE - - (%formula)+> +<!ATTLIST ABOVE sym ENTITY #IMPLIED> + +<!-- Horizontal line drawn BELOW contents + The symbol attribute allows authors to + supply an entity name for an arrow symbol etc. + Generalisation of LaTeX's underline command. + --> + +<!ELEMENT BELOW - - (%formula)+> +<!ATTLIST BELOW sym ENTITY #IMPLIED> + +<!-- Convenience tags for common accents: + vec, bar, dot, ddot, hat and tilde +--> + +<!ELEMENT (%mathvec) - - (%formula)+> + +<!-- + T and BT are used to designate terms which should + be rendered in an upright font (& bold face for BT) +--> + +<!ELEMENT (T|BT) - - (%formula)+> +<!ATTLIST (T|BT) class NAMES #IMPLIED> + +<!-- Roots e.g. <ROOT>3<OF>1+x</ROOT> --> + +<!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)> +<!ELEMENT OF - O (%formula)* -- what the root applies to --> + +<!ELEMENT SQRT - - (%formula)* -- square root convenience tag --> + +<!-- LaTeX like arrays. The COLDEF attribute specifies + a single capital letter for each column determining + how the column should be aligned, e.g. coldef="CCC" + + "L" left + "C" center + "R" right + + An optional separator letter can occur between columns + and should be one of + - or =, e.g. "C+C+C+C=C". + Whitespace within coldef is ignored. By default, the + columns are all centered. + + The ALIGN attribute alters the vertical position of the + array as compared with preceding and following expressions. + + Use LDELIM and RDELIM attributes for delimiter entities. + When the LABELS attribute is present, the array is + displayed with the first row and the first column as + labels displaced from the other elements. In this case, + the first element of the first row should normally be + left blank. + + Use &vdots; &cdots; and &ddots; for vertical, horizontal + and diagonal ellipsis dots. Use &dotfill; to fill an array + cell with horizontal dots (e.g. for a full row). + Note &ldots; places the dots on the baseline, while &cdots; + places them higher up. +--> + +<!ELEMENT ARRAY - - (ROW)+> +<!ATTLIST ARRAY + align (top|middle|bottom) middle -- vertical alignment -- + coldef CDATA #IMPLIED -- column alignment and separator -- + ldelim CDATA #IMPLIED -- stretchy left delimiter -- + rdelim CDATA #IMPLIED -- stretchy right delimiter -- + labels (labels) #IMPLIED -- TeX's \bordermatrix style --> + +<!ELEMENT ROW - O (ITEM)*> +<!ELEMENT ITEM - O (%formula)*> +<!ATTLIST ITEM + align CDATA #IMPLIED -- override coldef alignment -- + colspan NUMBER 1 -- merge columns as per TABLE -- + rowspan NUMBER 1 -- merge rows as per TABLE --> + +<!--================ Document Head ========================================--> + +<![ %HTML.Deprecated [ + <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? + & META* & LINK* & RANGE* & NEXTID?"> +]]> + +<!ENTITY % head.nextid ""> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? + & META* & LINK* & RANGE*"> + +<!ELEMENT HEAD O O (%head.content)> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + href %URI #REQUIRED + %linkExtraAttributes; > + +<!ELEMENT RANGE - O EMPTY> +<!ATTLIST RANGE + id ID #IMPLIED -- for naming marked range -- + class NAMES #IMPLIED -- for subclassing -- + from IDREF #REQUIRED -- start of marked range -- + until IDREF #REQUIRED -- end of marked range -- + > + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + href %URI #IMPLIED -- server handling queries -- + prompt CDATA #IMPLIED -- prompt message --> + +<!-- + The BASE element gives the base URL for + dereferencing relative URLs, e.g. + + <BASE href="http://foo.com/images"> + ... + <IMG SRC="bar.gif"> + + The image is deferenced to + + http://foo.com/images/bar.gif +--> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + id ID #IMPLIED + href %URI; #REQUIRED + > + +<![ %HTML.Deprecated [ + <!ELEMENT NEXTID - O EMPTY> + <!ATTLIST NEXTID N CDATA #REQUIRED> +]]> + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + http-equiv NAME #IMPLIED -- HTTP response header name -- + name NAME #IMPLIED -- metainformation name -- + content CDATA #REQUIRED -- associated information -- + > + +<!-- + A style sheet can be associated with the document using the + LINK element, e.g. <LINK rel=style href="housestyle.dsssl">. + Style overrides can be placed in the document head using the + STYLE element, e.g. + + <style notation=dsssl-lite> + dsss-lite stuff + </style> + + Later on in the document you can use: + + <h2 class=bigcaps>Header with bigger than normal capitals</h2> + <p class=abstract>A paragraph with a unique style of its own + ... + + Statements in the given style notation + + The tag names, class and id attributes are used in the style sheet + notation to describe how to render matching elements. +--> + +<!ENTITY % style-notations "dsssl-lite | w3c-style"> + +<!-- +<!NOTATION dsssl-lite PUBLIC + "ISO/IEC 10179:1995//NOTATION DSSSL Style Language//EN"> + +<!NOTATION w3c-style PUBLIC "IETF/RFC nnn/W3C Style Language//EN"> +--> + +<!ELEMENT STYLE - O (#PCDATA)> +<!ATTLIST STYLE + notation NOTATION (%style-notations;) #REQUIRED +> + +<!--================ Document Structure ===================================--> + +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ENTITY % version.attr 'VERSION CDATA #FIXED "%HTML.Version;"'> + +<!-- suggested roles are: TOC, DOC, DOCPART, HITLIST, DIALOG --> + +<!ATTLIST HTML + %version.attr; -- report DTD version to application -- + urn CDATA #IMPLIED -- universal resource name for this document -- + class NAMES #IMPLIED -- role of this document, eg table of contents -- + > + +<!-- The END --> diff --git a/htdocs/sgml-lib/html-hjs.dtd b/htdocs/sgml-lib/html-hjs.dtd new file mode 100644 index 0000000..151a756 --- /dev/null +++ b/htdocs/sgml-lib/html-hjs.dtd @@ -0,0 +1,27 @@ +<!-- html-hjs.dtd + + Document Type Definition for the HyperText Markup Language + with strict validation of the HotJava DTD. + + Author: Daniel W. Connolly <connolly@w3.org> + Applet additions by: Mark Gaither (markg@hal.com) 24 Jul 95 + +--> + +<!ENTITY % HTML.Version + "-//Sun Microsystems Corp.//DTD HotJava Strict HTML//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//Sun Microsystems Corp.//DTD HotJava HTML//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html PUBLIC "-//Sun Microsystems Corp.//DTD HotJava HTML//EN"> +%html; diff --git a/htdocs/sgml-lib/html-i18n.decl b/htdocs/sgml-lib/html-i18n.decl new file mode 100644 index 0000000..270ec49 --- /dev/null +++ b/htdocs/sgml-lib/html-i18n.decl @@ -0,0 +1,91 @@ +<!SGML "ISO 8879:1986" +-- + SGML Declaration for HyperText Markup Language version 2.x + (HTML 2.x = HTML 2.0 + i18n). + +-- + +CHARSET + BASESET "ISO Registration Number 177//CHARSET + ISO/IEC 10646-1:1993 UCS-4 with + implementation level 3//ESC 2/5 2/15 4/6" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + 128 32 UNUSED + 160 2147483486 160 +-- + In ISO 10646, the positions with hexadecimal + values 0000D800 - 0000DFFF, used in the UTF-16 + encoding of UCS-4, are reserved, as well as the last + two code values in each plane of UCS-4, i.e. all + values of the hexadecimal form xxxxFFFE or xxxxFFFF. + These code values or the corresponding numeric + character references must not be included when + generating a new HTML document, and they should be + ignored if encountered when processing a HTML + document. +-- + +CAPACITY SGMLREF + TOTALCAP 150000 + GRPCAP 150000 + ENTCAP 150000 + +SCOPE DOCUMENT +SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + + BASESET "ISO 646IRV:1991//CHARSET + International Reference Version + (IRV)//ESC 2/8 4/2" + DESCSET 0 128 0 + + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + NAMING LCNMSTRT "" + UCNMSTRT "" + LCNMCHAR ".-" + UCNMCHAR ".-" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTSPLEN 2100 + LITLEN 1024 + NAMELEN 72 -- somewhat arbitrary; taken from + internet line length conventions -- + PILEN 1024 + TAGLVL 100 + TAGLEN 2100 + GRPGTCNT 150 + GRPCNT 64 + +FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO "SDA" -- conforming SGML Document Access application + -- +> diff --git a/htdocs/sgml-lib/html-icons.sgml b/htdocs/sgml-lib/html-icons.sgml new file mode 100644 index 0000000..6eeb32c --- /dev/null +++ b/htdocs/sgml-lib/html-icons.sgml @@ -0,0 +1,8 @@ +<!-- + HTMLicons fake entity declarations to get the html-3.dtd to work +--> + +<!ENTITY folder SDATA "[folder ]" -- folder icon --> +<!-- should have a bunch more icons, like the internal icons = + + in Mosaic and Netscape --> diff --git a/htdocs/sgml-lib/html-latin.sgml b/htdocs/sgml-lib/html-latin.sgml new file mode 100644 index 0000000..0ed82b5 --- /dev/null +++ b/htdocs/sgml-lib/html-latin.sgml @@ -0,0 +1,161 @@ +<!-- Portions of this text are copyright ISO: + + (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLlat1 PUBLIC + "-//W3O//ENTITIES W3 Latin 1 for HTML//EN"> + %HTMLlat1; +--> +<!-- Modified for use in HTML + $Id: html-latin.sgml,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ = + +--> +<!-- Modified to add characters in the range &161; to &191; in + the ISO Latin-1 character set, which could only be referred = + + to by numeric references. Entity names based on relevant entities in + ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN" + Also added the standard lt gt amp entities from HTML 2.0 + Chris Lilley, 13 March 1995 + = + + This covers all of Latin 1, but we are still unable to display a = + + Trade Mark (TM) +--> + +<!ENTITY AElig CDATA "Æ" -- capital AE diphthong (ligature) --> +<!ENTITY Aacute CDATA "Á" -- capital A, acute accent --> +<!ENTITY Acirc CDATA "Â" -- capital A, circumflex accent --> +<!ENTITY Agrave CDATA "À" -- capital A, grave accent --> +<!ENTITY Aring CDATA "Å" -- capital A, ring --> +<!ENTITY Atilde CDATA "Ã" -- capital A, tilde --> +<!ENTITY Auml CDATA "Ä" -- capital A, dieresis or umlaut mark --> +<!ENTITY Ccedil CDATA "Ç" -- capital C, cedilla --> +<!ENTITY ETH CDATA "Ð" -- capital Eth, Icelandic --> +<!ENTITY Eacute CDATA "É" -- capital E, acute accent --> +<!ENTITY Ecirc CDATA "Ê" -- capital E, circumflex accent --> +<!ENTITY Egrave CDATA "È" -- capital E, grave accent --> +<!ENTITY Euml CDATA "Ë" -- capital E, dieresis or umlaut mark --> +<!ENTITY Iacute CDATA "Í" -- capital I, acute accent --> +<!ENTITY Icirc CDATA "Î" -- capital I, circumflex accent --> +<!ENTITY Igrave CDATA "Ì" -- capital I, grave accent --> +<!ENTITY Iuml CDATA "Ï" -- capital I, dieresis or umlaut mark --> +<!ENTITY Ntilde CDATA "Ñ" -- capital N, tilde --> +<!ENTITY Oacute CDATA "Ó" -- capital O, acute accent --> +<!ENTITY Ocirc CDATA "Ô" -- capital O, circumflex accent --> +<!ENTITY Ograve CDATA "Ò" -- capital O, grave accent --> +<!ENTITY Oslash CDATA "Ø" -- capital O, slash --> +<!ENTITY Otilde CDATA "Õ" -- capital O, tilde --> +<!ENTITY Ouml CDATA "Ö" -- capital O, dieresis or umlaut mark --> +<!ENTITY THORN CDATA "Þ" -- capital THORN, Icelandic --> +<!ENTITY Uacute CDATA "Ú" -- capital U, acute accent --> +<!ENTITY Ucirc CDATA "Û" -- capital U, circumflex accent --> +<!ENTITY Ugrave CDATA "Ù" -- capital U, grave accent --> +<!ENTITY Uuml CDATA "Ü" -- capital U, dieresis or umlaut mark --> +<!ENTITY Yacute CDATA "Ý" -- capital Y, acute accent --> +<!ENTITY aacute CDATA "á" -- small a, acute accent --> +<!ENTITY acirc CDATA "â" -- small a, circumflex accent --> +<!ENTITY aelig CDATA "æ" -- small ae diphthong (ligature) --> +<!ENTITY agrave CDATA "à" -- small a, grave accent --> +<!ENTITY aring CDATA "å" -- small a, ring --> +<!ENTITY atilde CDATA "ã" -- small a, tilde --> +<!ENTITY auml CDATA "ä" -- small a, dieresis or umlaut mark --> +<!ENTITY ccedil CDATA "ç" -- small c, cedilla --> +<!ENTITY eacute CDATA "é" -- small e, acute accent --> +<!ENTITY ecirc CDATA "ê" -- small e, circumflex accent --> +<!ENTITY egrave CDATA "è" -- small e, grave accent --> +<!ENTITY eth CDATA "ð" -- small eth, Icelandic --> +<!ENTITY euml CDATA "ë" -- small e, dieresis or umlaut mark --> +<!ENTITY iacute CDATA "í" -- small i, acute accent --> +<!ENTITY icirc CDATA "î" -- small i, circumflex accent --> +<!ENTITY igrave CDATA "ì" -- small i, grave accent --> +<!ENTITY iuml CDATA "ï" -- small i, dieresis or umlaut mark --> +<!ENTITY ntilde CDATA "ñ" -- small n, tilde --> +<!ENTITY oacute CDATA "ó" -- small o, acute accent --> +<!ENTITY ocirc CDATA "ô" -- small o, circumflex accent --> +<!ENTITY ograve CDATA "ò" -- small o, grave accent --> +<!ENTITY oslash CDATA "ø" -- small o, slash --> +<!ENTITY otilde CDATA "õ" -- small o, tilde --> +<!ENTITY ouml CDATA "ö" -- small o, dieresis or umlaut mark --> +<!ENTITY szlig CDATA "ß" -- small sharp s, German (sz ligature) --> +<!ENTITY thorn CDATA "þ" -- small thorn, Icelandic --> +<!ENTITY uacute CDATA "ú" -- small u, acute accent --> +<!ENTITY ucirc CDATA "û" -- small u, circumflex accent --> +<!ENTITY ugrave CDATA "ù" -- small u, grave accent --> +<!ENTITY uuml CDATA "ü" -- small u, dieresis or umlaut mark --> +<!ENTITY yacute CDATA "ý" -- small y, acute accent --> +<!ENTITY yuml CDATA "ÿ" -- small y, dieresis or umlaut mark --> +<!-- = + + Ones that aren't accented characters, and so not in ISO Added Latin = +1. + + umlaut. macron, acute, cedilla + were not in ISO Numeric and Special Graphic + either; I took their names from the numeric entity list in + http://www.hpl.hp.co.uk/people/dsr/html/latin1.html = + + Chris Lilley, 13 March 1995 = + +--> + +<!ENTITY iexcl SDATA "=A1" --=3D inverted exclamation mark &161; --> +<!ENTITY cent SDATA "=A2" --=3D cent sign &162; --> +<!ENTITY pound SDATA "=A3" --=3D pound sterling sign &163; --> +<!ENTITY curren SDATA "=A4" --=3D general currency sign &164; --> +<!ENTITY yen SDATA "=A5" --=3D yen sign &165; --> +<!ENTITY brvbar SDATA "=A6" --=3D broken (vertical) bar &166; --> +<!ENTITY sect SDATA "=A7" --=3D section sign &167; --> +<!ENTITY umlaut SDATA "=A8" --=3D umlaut (dieresis) &168; --> +<!ENTITY copy SDATA "=A9" --=3D copyright sign &169; --> +<!ENTITY ordf SDATA "=AA" --=3D ordinal indicator, feminine &170; --> +<!ENTITY laquo SDATA "=AB" --=3D angle quotation mark, left &171; --> +<!ENTITY not SDATA "=AC" --=3D not sign &172; --> +<!ENTITY shy SDATA "=AD" --=3D soft hyphen &173;--> +<!ENTITY reg SDATA "=AE" --=3D registered trademark &174; --> +<!ENTITY macron SDATA "=AF" --=3D macron &175; --> +<!ENTITY deg SDATA "=B0" --=3D degree sign &176; --> +<!ENTITY plusmn SDATA "=B1" --=3D plus-or-minus sign &177; --> +<!ENTITY sup2 SDATA "=B2" --=3D superscript two &178; --> +<!ENTITY sup3 SDATA "=B3" --=3D superscript three &179; --> +<!ENTITY acute SDATA "=B4" --=3D acute accent &180; --> +<!ENTITY micro SDATA "=B5" --=3D micro sign &181; --> +<!ENTITY para SDATA "=B6" --=3D pilcrow (paragraph sign) &182; --> +<!ENTITY middot SDATA "=B7" --=3D middle dot (centred decimal point) &183; --> +<!ENTITY cedilla SDATA "=B8" --=3D cedilla accent &184; --> +<!ENTITY sup1 SDATA "=B9" --=3D superscript one --> +<!ENTITY ordm SDATA "=BA" --=3D ordinal indicator, masculine --> +<!ENTITY raquo SDATA "=BB" --=3D angle quotation mark, right --> +<!ENTITY frac14 SDATA "=BC" --=3D fraction one-quarter --> +<!ENTITY frac12 SDATA "=BD" --=3D fraction one-half --> +<!ENTITY frac34 SDATA "=BE" --=3D fraction three-quarters --> +<!ENTITY iquest SDATA "=BF" --=3D inverted question mark --> +<!-- the odd ones tucked in amongs the accented letters --> +<!ENTITY times SDATA "=D7" --=3D multiply sign --> +<!ENTITY divide SDATA "=F7" --=3D divide sign --> + +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> + +<!-- + Should the dollar sign and such like also be given entity names? + There are suitable ones around. For example, people using = + + internationalised keyboards in various countries might not be = + + readily able to access some of these characters. + = + + On such grounds, I suggest entity names for these: + ! " # $ % ' ( ) * + , - . / : ; =3D ? [ \ ] ^ _ ` { | } ~ + Lastly, what about &tab; for those whose editors convert all + tabs to spaces? + +--> diff --git a/htdocs/sgml-lib/html-math.sgml b/htdocs/sgml-lib/html-math.sgml new file mode 100644 index 0000000..2d292a8 --- /dev/null +++ b/htdocs/sgml-lib/html-math.sgml @@ -0,0 +1,53 @@ +<!-- all these entities copied from = + + ftp://ifi.uio.no/pub/SGML/ENTITIES/ISOgrk1 --> + +<!ENTITY agr SDATA "[agr ]"--small alpha, Greek--> +<!ENTITY Agr SDATA "[Agr ]"--capital Alpha, Greek--> +<!ENTITY bgr SDATA "[bgr ]"--small beta, Greek--> +<!ENTITY Bgr SDATA "[Bgr ]"--capital Beta, Greek--> +<!ENTITY ggr SDATA "[ggr ]"--small gamma, Greek--> +<!ENTITY Ggr SDATA "[Ggr ]"--capital Gamma, Greek--> +<!ENTITY dgr SDATA "[dgr ]"--small delta, Greek--> +<!ENTITY Dgr SDATA "[Dgr ]"--capital Delta, Greek--> +<!ENTITY egr SDATA "[egr ]"--small epsilon, Greek--> +<!ENTITY Egr SDATA "[Egr ]"--capital Epsilon, Greek--> +<!ENTITY zgr SDATA "[zgr ]"--small zeta, Greek--> +<!ENTITY Zgr SDATA "[Zgr ]"--capital Zeta, Greek--> +<!ENTITY eegr SDATA "[eegr ]"--small eta, Greek--> +<!ENTITY EEgr SDATA "[EEgr ]"--capital Eta, Greek--> +<!ENTITY thgr SDATA "[thgr ]"--small theta, Greek--> +<!ENTITY THgr SDATA "[THgr ]"--capital Theta, Greek--> +<!ENTITY igr SDATA "[igr ]"--small iota, Greek--> +<!ENTITY Igr SDATA "[Igr ]"--capital Iota, Greek--> +<!ENTITY kgr SDATA "[kgr ]"--small kappa, Greek--> +<!ENTITY Kgr SDATA "[Kgr ]"--capital Kappa, Greek--> +<!ENTITY lgr SDATA "[lgr ]"--small lambda, Greek--> +<!ENTITY Lgr SDATA "[Lgr ]"--capital Lambda, Greek--> +<!ENTITY mgr SDATA "[mgr ]"--small mu, Greek--> +<!ENTITY Mgr SDATA "[Mgr ]"--capital Mu, Greek--> +<!ENTITY ngr SDATA "[ngr ]"--small nu, Greek--> +<!ENTITY Ngr SDATA "[Ngr ]"--capital Nu, Greek--> +<!ENTITY xgr SDATA "[xgr ]"--small xi, Greek--> +<!ENTITY Xgr SDATA "[Xgr ]"--capital Xi, Greek--> +<!ENTITY ogr SDATA "[ogr ]"--small omicron, Greek--> +<!ENTITY Ogr SDATA "[Ogr ]"--capital Omicron, Greek--> +<!ENTITY pgr SDATA "[pgr ]"--small pi, Greek--> +<!ENTITY Pgr SDATA "[Pgr ]"--capital Pi, Greek--> +<!ENTITY rgr SDATA "[rgr ]"--small rho, Greek--> +<!ENTITY Rgr SDATA "[Rgr ]"--capital Rho, Greek--> +<!ENTITY sgr SDATA "[sgr ]"--small sigma, Greek--> +<!ENTITY Sgr SDATA "[Sgr ]"--capital Sigma, Greek--> +<!ENTITY sfgr SDATA "[sfgr ]"--final small sigma, Greek--> +<!ENTITY tgr SDATA "[tgr ]"--small tau, Greek--> +<!ENTITY Tgr SDATA "[Tgr ]"--capital Tau, Greek--> +<!ENTITY ugr SDATA "[ugr ]"--small upsilon, Greek--> +<!ENTITY Ugr SDATA "[Ugr ]"--capital Upsilon, Greek--> +<!ENTITY phgr SDATA "[phgr ]"--small phi, Greek--> +<!ENTITY PHgr SDATA "[PHgr ]"--capital Phi, Greek--> +<!ENTITY khgr SDATA "[khgr ]"--small chi, Greek--> +<!ENTITY KHgr SDATA "[KHgr ]"--capital Chi, Greek--> +<!ENTITY psgr SDATA "[psgr ]"--small psi, Greek--> +<!ENTITY PSgr SDATA "[PSgr ]"--capital Psi, Greek--> +<!ENTITY ohgr SDATA "[ohgr ]"--small omega, Greek--> +<!ENTITY OHgr SDATA "[OHgr ]"--capital Omega, Greek--> diff --git a/htdocs/sgml-lib/html-mcom.dtd b/htdocs/sgml-lib/html-mcom.dtd new file mode 100644 index 0000000..afa0d76 --- /dev/null +++ b/htdocs/sgml-lib/html-mcom.dtd @@ -0,0 +1,541 @@ +<!-- html-mcom.dtd + + Document Type Definition for the HyperText Markup Language (HTML DTD) + with Netscape Communications Corp Extensions + + Date: 27 Oct. 1994 + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: html.decl, ISOlat1.sgml + http://home.netscape.com/assist/net_sites/html_extensions.html + http://www.halsoft.com/sgml/Mozilla/DTD-HOME.html + http://www.hpl.hp.co.uk/people/dsr/html3/Contents.html + + Maintanence by: Mark Gaither (markg@webtechs.com) + + Copyright 1996 - WebTechs - Austin, TX + http://www.webtechs.com/ +--> + +<!ENTITY % HTML.Version + "-//WebTechs//DTD Mozilla HTML 2.0//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//WebTechs//DTD Mozilla HTML 2.0//EN"> + <html> + ... + </html> + -- + > + + +<!--================== Feature Test Entities ==============================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for compatibility + with widespread usage, but they may compromise the structural + integrity of a document. This feature test entity enables + a more prescriptive document type definition that eliminates + the above features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for compatibility + with earlier versions of the specification, but they tend + to be used an implemented inconsistently, and their use is + deprecated. This feature test entity enables a document type + definition that eliminates these features. + --> + +<!ENTITY % HTML.Highlighting "INCLUDE"> +<!ENTITY % HTML.Forms "INCLUDE"> + +<!--================== Imported Names =====================================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning a MIME content type, as per RFC1521 + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification + --> + +<!ENTITY % URI "CDATA" + -- The term URI means a CDATA attribute + whose value is a Uniform Resource Identifier, + as defined by + "Universal Resource Identifiers" by Tim Berners-Lee + aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html + aka RFC 1630 + + Note that CDATA attributes are limited by the LITLEN + capacity (1024 in the current version of html.decl), + so that URIs in HTML have a bounded length. + + --> + + +<!-- DTD "macros" --> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list " UL | OL | DIR | MENU " > + + +<!--================ Character mnemonic entities ==========================--> + +<!ENTITY % ISOlat1 PUBLIC + "-//IETF//ENTITIES Added Latin 1 for HTML//EN"> +%ISOlat1; + +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> + +<!ENTITY reg CDATA "®" -- registered trademark --> +<!ENTITY copy CDATA "©" -- copyright --> + +<!--=================== Text Markup =======================================--> + +<![ %HTML.Highlighting [ + +<!ENTITY % font " TT | B | I | FONT | BIG | SMALL | SUB | SUP "> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE | BLINK"> + +<!ENTITY % text "#PCDATA | A | IMG | BR | WBR | NOBR | BASEFONT + | %phrase | %font"> + +<!ENTITY % text.nonparseable "A | IMG | BR | WBR | NOBR | BASEFONT + | %phrase | %font"> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase"> + +<!ELEMENT (%font;|%phrase) - - (%text)+> + +<!ELEMENT basefont - - ANY> + +<!ATTLIST (font|basefont) + SIZE CDATA #IMPLIED -- should be NUTOKEN, using size=plus3, -- + COLOR CDATA #IMPLIED -- color attribute -- + > +]]> + +<!ENTITY % text "#PCDATA | A | IMG | BR | WBR | NOBR | CENTER"> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + CLEAR (left|right|all) #IMPLIED> + +<!ELEMENT NOBR - - (%text)+> +<!ELEMENT WBR - O EMPTY> + +<!--================== Link Markup ========================================--> + +<![ %HTML.Recommended [ + <!ENTITY % linkName "ID"> +]]> + +<!ENTITY % linkName "CDATA"> + +<!ENTITY % linkType "NAME" + -- a list of these will be specified at a later date --> + +<!ENTITY % linkExtraAttributes + "REL %linkType #IMPLIED -- forward relationship type -- + REV %linkType #IMPLIED -- reversed relationship type + to referent data -- + URN CDATA #IMPLIED -- universal resource number -- + + TITLE CDATA #IMPLIED -- advisory only -- + METHODS NAMES #IMPLIED -- supported public methods of the object: + TEXTSEARCH, GET, HEAD, ... -- + "> + +<![ %HTML.Recommended [ + <!ENTITY % A.content "(%text)+" + -- <H1><a name="xxx">Heading</a></H1> + is preferred to + <a name="xxx"><H1>Heading</H1></a> + --> +]]> + +<!ENTITY % A.content "(%heading|%text)+"> + +<!ELEMENT A - - %A.content -(A)> + +<!ATTLIST A + HREF %URI #IMPLIED + NAME %linkName #IMPLIED + %linkExtraAttributes; + > + +<!--=================== Images ============================================--> + +<!ENTITY % img.alt.default "#IMPLIED" + -- ALT attribute required in Level 0 docs --> + +<!ELEMENT IMG - O EMPTY -- Embedded image --> +<!ATTLIST IMG + SRC %URI; #REQUIRED -- URI of document to embed -- + LOWSRC %URI; #IMPLIED -- low resolution images spec -- + USEMAP %URI; #IMPLIED -- client-side mape -- + ALT CDATA %img.alt.default; + ALIGN (left|right|center|top|texttop|middle| + absmiddle|baseline|bottom|absbottom) baseline + WIDTH CDATA #IMPLIED + HEIGHT NUMBER #IMPLIED + BORDER NUMBER #IMPLIED + VSPACE NUMBER #IMPLIED + HSPACE NUMBER #IMPLIED + ISMAP (ISMAP) #IMPLIED + > +<!ELEMENT MAP - - (AREA)+> +<!ATTLIST MAP + NAME CDATA #REQUIRED -- name of client side map -- + > + +<!ELEMENT AREA - O EMPTY> +<!ATTLIST AREA + SHAPE (rect|poly|circle|default) rect -- shape of area -- + COORDS CDATA #REQUIRED -- coordinates of shape -- + HREF %URI; #IMPLIED -- reference -- + NOHREF (nohref) #IMPLIED -- do nothing on a click -- + > + +<!--=================== Paragraphs=========================================--> + +<!ENTITY % attrs -- common attributes for elements -- + 'id ID #IMPLIED -- as target for hrefs (link ends) -- + lang CDATA "en.us" -- ISO language, country code -- + class NAMES #IMPLIED -- for subclassing elements --'> + +<!ENTITY % needs -- Attributes for controlling text flow. Used in headers + and other elements to guarantee sufficient room -- + 'clear CDATA "no" -- (left|right|all|no) move down past figures -- + needs CDATA #IMPLIED -- minimum width needed in em"s or pixels -- + -- e.g. "40 em" or "100 pixels" --'> + +<!ELEMENT P - O (%text)+> +<!ATTLIST P + %attrs; + align (left|center|right) #IMPLIED + %needs; -- for control of text flow -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--=================== Headings, Titles, Sections ========================--> + +<!ELEMENT HR - O EMPTY -- horizontal rule --> +<!ATTLIST HR + SIZE NUMBER #IMPLIED + WIDTH CDATA #IMPLIED + ALIGN (left|right|center) #IMPLIED + NOSHADE (NOSHADE) #IMPLIED> + +<!ELEMENT ( %heading ) - - (%text;)+> +<!ATTLIST ( %heading ) + %attrs; + align (left|center|right|justify) #IMPLIED + %needs; -- for control of text flow -- + > + + +<!ELEMENT TITLE - - (#PCDATA) + -- The TITLE element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. + --> + + +<!--=================== Text Flows ========================================--> + +<![ %HTML.Forms [ + <!ENTITY % block.forms "FORM | TABLE | ISINDEX"> +]]> + +<!ENTITY % block.forms ""> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!ENTITY % block "P | %list | DL + | %preformatted + | BLOCKQUOTE | APPLET | CENTER | %block.forms"> + +<!ENTITY % flow "(%text|%block)*"> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR"> +<!ELEMENT PRE - - (%pre.content)+> + +<!ATTLIST PRE + WIDTH NUMBER #implied + > + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- special non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT XMP - - %literal> +<!ELEMENT LISTING - - %literal> +<!ELEMENT PLAINTEXT - O %literal> + +]]> + + +<!--=================== Lists =============================================--> + +<!ELEMENT DL - - (DT*, DD?)+> +<!ATTLIST DL + COMPACT (COMPACT) #IMPLIED> + +<!ELEMENT DT - O (%text)+> +<!ELEMENT DD - O %flow> + +<!ELEMENT (OL|UL) - - (LI)+> +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST (UL) + COMPACT (COMPACT) #IMPLIED + TYPE (disc|circle|square) disc + > +<!ATTLIST (OL) + START NUMBER #IMPLIED + COMPACT (COMPACT) #IMPLIED + TYPE (a|i|1) 1 + > + +<!ELEMENT LI - O %flow> +<!ATTLIST LI + TYPE (disc|circle|square|a|i|1) disc + VALUE NUMBER #IMPLIED + > + +<!--=================== Document Body =====================================--> +<![ %HTML.Recommended [ + <!ENTITY % body.content "(MAP|DIV|%heading|%block|HR|ADDRESS)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(MAP | DIV | %heading | %text | %block | HR | ADDRESS)*"> + +<!ELEMENT BODY O O %body.content> +<!ATTLIST BODY + BACKGROUND %URI; #IMPLIED + BGCOLOR CDATA #IMPLIED + TEXT CDATA #IMPLIED + LINK CDATA #IMPLIED + VLINK CDATA #IMPLIED + ALINK CDATA #IMPLIED + > + +<!ELEMENT BLOCKQUOTE - - %body.content> + +<!ELEMENT CENTER - - %body.content> + +<![ %HTML.Recommended [ + <!ENTITY % address.content "(%text)*"> +]]> +<!ENTITY % address.content "(%text|P)*"> +<!ELEMENT ADDRESS - - %address.content> + +<!ELEMENT DIV - - %body.content> +<!ATTLIST DIV + %attrs; + %needs; -- for control of text flow -- + align (left|center|right) left -- alignment of following text -- + nowrap (nowrap) #IMPLIED -- disable wordwrap -- + > + +<!--================ Forms ===============================================--> + +<![ %HTML.Forms [ + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + ACTION %URI #REQUIRED + METHOD (%HTTP-Method) GET + ENCTYPE %Content-Type; "application/x-www-form-urlencoded" + > + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + IMAGE | HIDDEN )"> +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + TYPE %InputType TEXT + NAME CDATA #IMPLIED -- required for all but submit and reset -- + VALUE CDATA #IMPLIED + SRC %URI #IMPLIED -- for image inputs -- + CHECKED (CHECKED) #IMPLIED + SIZE CDATA #IMPLIED -- like NUMBERS, + but delimited with comma, not space -- + MAXLENGTH NUMBER #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + > + +<!ELEMENT SELECT - - (OPTION+)> +<!ATTLIST SELECT + NAME CDATA #REQUIRED + SIZE NUMBER #IMPLIED + MULTIPLE (MULTIPLE) #IMPLIED + > + +<!ELEMENT OPTION - O (#PCDATA)> +<!ATTLIST OPTION + SELECTED (SELECTED) #IMPLIED + VALUE CDATA #IMPLIED + > + +<!ELEMENT TEXTAREA - - (#PCDATA)> +<!ATTLIST TEXTAREA + NAME CDATA #REQUIRED + ROWS NUMBER #REQUIRED + COLS NUMBER #REQUIRED + > + +]]> + + +<!--================ Document Head ========================================--> + +<!ENTITY % head.link "& LINK*"> + +<![ %HTML.Recommended [ + <!ENTITY % head.nextid ""> +]]> +<!ENTITY % head.nextid "& NEXTID?"> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META* + %head.nextid + %head.link"> + +<!ELEMENT HEAD O O (%head.content)> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + HREF %URI #REQUIRED + %linkExtraAttributes; > + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + PROMPT CDATA "This is a searchable index. Enter search keywords:"> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + HREF %URI; #REQUIRED + > + +<!ELEMENT NEXTID - O EMPTY> +<!ATTLIST NEXTID N %linkName #REQUIRED> + +<!ELEMENT META - O EMPTY -- Generic Metainformation --> +<!ATTLIST META + HTTP-EQUIV NAME #IMPLIED -- HTTP response header name -- + NAME NAME #IMPLIED -- metainformation name -- + CONTENT CDATA #REQUIRED -- associated information -- + > + +<!--================ Tables ===================================--> + + +<!ENTITY % block.align + "align (bleedleft|left|center|right|bleedright|justify) center"> + +<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption --> +<!ATTLIST CAPTION + %attrs; + align (top|bottom|left|right) #IMPLIED + > + +<!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data --> +<!ATTLIST TABLE + %attrs; + %needs; -- for control of text flow -- + border NUMBER #IMPLIED -- draw borders -- + colspec CDATA #IMPLIED -- column widths and alignment -- + units (em|pixels|relative) em -- units for column widths -- + width CDATA #IMPLIED -- absolute or percentage width -- + %block.align; -- horizontal alignment -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + cellspacing NUMBER 2 -- insert space between cells -- + cellpadding NUMBER 1 -- pad between cell border and content -- + > + +<!ENTITY % cell "TH | TD"> +<!ENTITY % vertical.align "top|middle|bottom|baseline"> + +<!ELEMENT TR - O (%cell)* -- row container --> +<!ATTLIST TR + %attrs; + align (left|center|right|justify) #IMPLIED + valign (%vertical.align) top -- vertical alignment -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + > + +<!ELEMENT (%cell) - O %body.content> +<!ATTLIST (%cell) + %attrs; + colspan NUMBER 1 -- columns spanned -- + rowspan NUMBER 1 -- rows spanned -- + align (left|center|right|justify) #IMPLIED + valign (%vertical.align) top -- vertical alignment -- + nowrap (nowrap) #IMPLIED -- don't wrap words -- + width CDATA #IMPLIED -- allow width for cells -- + axis CDATA #IMPLIED -- axis name, defaults to element content -- + axes CDATA #IMPLIED -- comma separated list of axis names -- + > + +<!--===============Applet======================================--> + +<!ELEMENT param - O EMPTY> +<!ATTLIST param + name NAME #REQUIRED -- The name of the parameter -- + value CDATA #IMPLIED -- The value of the parameter -- +> + +<!ELEMENT applet - - (param*, (%text.nonparseable;)*)> +<!ATTLIST applet + codebase CDATA #IMPLIED -- code base -- + code CDATA #REQUIRED -- code file -- + name CDATA #IMPLIED -- applet name -- + width NUMBER #REQUIRED + height NUMBER #REQUIRED + align (left|right|top|texttop|middle| + absmiddle|baseline|bottom|absbottom) baseline + vspace NUMBER #IMPLIED + hspace NUMBER #IMPLIED +> + +<!--================ Document Structure ===================================--> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ENTITY % version.attr "VERSION CDATA #FIXED "%HTML.Version;""> + +<!ATTLIST HTML + %version.attr;-- report DTD version to application -- + > + + diff --git a/htdocs/sgml-lib/html-mcoms.dtd b/htdocs/sgml-lib/html-mcoms.dtd new file mode 100644 index 0000000..81067d8 --- /dev/null +++ b/htdocs/sgml-lib/html-mcoms.dtd @@ -0,0 +1,36 @@ +<!-- html-mcom.dtd + + Document Type Definition for the HyperText Markup Language (HTML DTD) + with Mosaic Communications Copr Extensions and with strict + validation (HTML Strict DTD). + + $Id: html-mcoms.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: html.decl, ISOlat1.sgml + http://home.netscape.com/assist/net_sites/html_extensions.html + http://www.halsoft.com/sgml/Mozilla/DTD-HOME.html + http://www.hpl.hp.co.uk/people/dsr/html3/Contents.html + + Table addtions by: Mark Gaither (markg@hal.com) 26 Jun 95 +--> + +<!ENTITY % HTML.Version + "-//Netscape Comm. Corp. Strict//DTD HTML//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//Netscape Comm. Corp. Strict//DTD HTML//EN"> + <html> + ... + </html> + -- + > + + +<!--================== Feature Test Entities ==============================--> + +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html PUBLIC "-//Netscape Comm. Corp.//DTD HTML//EN"> +%html; diff --git a/htdocs/sgml-lib/html-old.decl b/htdocs/sgml-lib/html-old.decl new file mode 100644 index 0000000..4f3cac0 --- /dev/null +++ b/htdocs/sgml-lib/html-old.decl @@ -0,0 +1,79 @@ +<!SGML "ISO 8879:1986"
+--
+SGML Declaration for HyperText Markup Language (HTML, all versions).
+--
+CHARSET
+ BASESET "ISO 646:1983//CHARSET
+ International Reference Version
+ (IRV)//ESC 2/5 4/0"
+ DESCSET 0 9 UNUSED
+ 9 2 9
+ 11 2 UNUSED
+ 13 1 13
+ 14 18 UNUSED
+ 32 95 32
+ 127 1 UNUSED
+ BASESET "ISO Registration Number 100//CHARSET
+ ECMA-94 Right Part of
+ Latin Alphabet Nr. 1//ESC 2/13 4/1"
+ DESCSET 128 32 UNUSED
+ 160 96 32
+CAPACITY SGMLREF
+ TOTALCAP 150000
+ GRPCAP 150000
+ENTCAP 150000
+SCOPE DOCUMENT
+SYNTAX
+ SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127
+ BASESET "ISO 646:1983//CHARSET
+ International Reference Version
+ (IRV)//ESC 2/5 4/0"
+ DESCSET 0 128 0
+ FUNCTION
+ RE 13
+ RS 10
+ SPACE 32
+ TAB SEPCHAR 9
+ NAMING LCNMSTRT ""
+ UCNMSTRT ""
+ LCNMCHAR ".-"
+ UCNMCHAR ".-"
+ NAMECASE GENERAL YES
+ ENTITY NO
+ DELIM GENERAL SGMLREF
+ SHORTREF SGMLREF
+ NAMES SGMLREF
+ QUANTITY SGMLREF
+ ATTSPLEN 2100
+ LITLEN 1024
+ NAMELEN 72 -- somewhat arbitrary; taken from
+ internet line length conventions --
+ PILEN 1024
+ TAGLVL 100
+ TAGLEN 2100
+ GRPGTCNT 150
+ GRPCNT 64
+ ATTCNT 128
+FEATURES
+ MINIMIZE
+ DATATAG NO
+ OMITTAG YES
+ RANK NO
+ SHORTTAG YES
+ LINK
+ SIMPLE NO
+ IMPLICIT NO
+ EXPLICIT NO
+ OTHER
+ CONCUR NO
+ SUBDOC NO
+ FORMAL YES
+ APPINFO "SDA" -- conforming SGML Document Access application
+ -->
+
+<!-- Original source:
+$Id: html-old.decl,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $
+Author: Daniel W. Connolly <connolly@w3.org>
+See also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
+ -->
diff --git a/htdocs/sgml-lib/html-old2.decl b/htdocs/sgml-lib/html-old2.decl new file mode 100644 index 0000000..5138446 --- /dev/null +++ b/htdocs/sgml-lib/html-old2.decl @@ -0,0 +1,81 @@ +<!SGML "ISO 8879:1986" + -- + SGML Declaration for HTML 3.2 + style + + With support for ISO Latin-1 and increased limits + for tag and literal lengths etc. + -- + + CHARSET + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + BASESET "ISO Registration Number 100//CHARSET + ECMA-94 Right Part of + Latin Alphabet Nr. 1//ESC 2/13 4/1" + DESCSET 128 32 UNUSED + 160 96 32 + + CAPACITY SGMLREF + TOTALCAP 200000 + GRPCAP 150000 + ENTCAP 150000 + + SCOPE DOCUMENT + SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 128 0 + + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + NAMING LCNMSTRT "" + UCNMSTRT "" + LCNMCHAR ".-" + UCNMCHAR ".-" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTSPLEN 30000 + LITLEN 30000 + NAMELEN 239 + PILEN 30000 + TAGLVL 100 + TAGLEN 30000 + GRPGTCNT 150 + GRPCNT 64 + + FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO NONE +> + diff --git a/htdocs/sgml-lib/html-orig.decl b/htdocs/sgml-lib/html-orig.decl new file mode 100644 index 0000000..8ccf9b1 --- /dev/null +++ b/htdocs/sgml-lib/html-orig.decl @@ -0,0 +1,88 @@ +<!SGML "ISO 8879:1986" +-- + SGML Declaration for HyperText Markup Language (HTML). + +-- + +CHARSET + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + BASESET "ISO Registration Number 100//CHARSET + ECMA-94 Right Part of + Latin Alphabet Nr. 1//ESC 2/13 4/1" + + DESCSET 128 32 UNUSED + 160 96 32 + +CAPACITY SGMLREF + TOTALCAP 150000 + GRPCAP 150000 + ENTCAP 150000 + +SCOPE DOCUMENT +SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 128 0 + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + + NAMING LCNMSTRT "" + UCNMSTRT "" + LCNMCHAR ".-" + UCNMCHAR ".-" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTSPLEN 2100 + LITLEN 1024 + NAMELEN 72 -- somewhat arbitrary; taken from + internet line length conventions -- + PILEN 1024 + TAGLVL 100 + TAGLEN 2100 + GRPGTCNT 150 + GRPCNT 64 + +FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO "SDA" -- conforming SGML Document Access application + -- +> +<!-- + $Id: html-orig.decl,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + + See also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html + --> diff --git a/htdocs/sgml-lib/html-s.dtd b/htdocs/sgml-lib/html-s.dtd new file mode 100644 index 0000000..ac3aea6 --- /dev/null +++ b/htdocs/sgml-lib/html-s.dtd @@ -0,0 +1,29 @@ +<!-- html-s.dtd + + Document Type Definition for the HyperText Markup Language + with strict validation (HTML Strict DTD). + + $Id: html-s.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0 Strict//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC + "-//IETF//DTD HTML Strict//EN"> + <html> + ... + </html> + -- + > + +<!-- Feature Test Entities --> +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!ENTITY % html PUBLIC "-//IETF//DTD HTML 2.0//EN"> +%html; diff --git a/htdocs/sgml-lib/html-sq.dtd b/htdocs/sgml-lib/html-sq.dtd new file mode 100644 index 0000000..c507db9 --- /dev/null +++ b/htdocs/sgml-lib/html-sq.dtd @@ -0,0 +1,962 @@ +<!-- @(#)hmpro2.dtd 1.1 9/12/95 SoftQuad --> +<!-- This is the DTD as used by HoTMetaL PRO 2.0. + Copyright 1995 SoftQuad, Inc. + + Based on the: + + Document Type Definition for the HyperText Markup Language + (HTML DTD) + + $Id: html-sq.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: html.decl, html-1.dtd + http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + + +<!--============ General Comments =====================================--> +<!-- The DTD used here has Highlighting and Forms set to INCLUDE. The + HTML3 and Netscape additions should only be made to a DTD that is + Level 2 conformant, ie with Highlighting and Forms turned on. It + makes no sense to have level 3 features without Level 1 or + Level 2 features in the DTD. --> +<!-- Recommended is also set to INCLUDE --> + + +<!--============ Feature Test Entities ========================--> + +<!ENTITY % HTML.Recommended "INCLUDE" + -- Certain features of the language are necessary for + compatibility with widespread usage, but they may + compromise the structural integrity of a document. + This feature test entity enables a more prescriptive + document type definition that eliminates + those features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for + compatibility with earlier versions of the specification, + but they tend to be used an implemented inconsistently, + and their use is deprecated. This feature test entity + enables a document type definition that eliminates + these features. + --> + +<!--============== Braille On/Off Switch =======================--> + +<!ENTITY % SDA.Attributes "IGNORE" + -- Use this switch to effectively remove the ICADD + attributes wherever they are used by themselves in a + declaration list. Those which are part of a longer list + of attributes are commented out. This allows software + which displays attributes to not display these (since + they are all set as FIXED by this DTD). + --> + +<!--============== Imported Names ==============================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning an internet media type + (aka MIME content type, as per RFC1521) + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification, in progress + --> + +<!--========= DTD "Macros" =====================--> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list " UL | OL | DIR | MENU " > + + +<!--======= Character mnemonic entities =================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!ENTITY amp SDATA "&" -- ampersand --> +<!ENTITY gt SDATA ">" -- greater than --> +<!ENTITY lt SDATA "<" -- less than --> +<!ENTITY quot SDATA '"' -- double quote --> + +<!--================ Entities for special symbols =========================--> + +<!ENTITY emsp SDATA "[emsp ]" -- em space --> +<!ENTITY ensp SDATA "[ensp ]" -- en space (1/2-em) --> +<!ENTITY mdash SDATA "[ndash ]" -- em dash --> +<!ENTITY ndash SDATA "[ndash ]" -- en dash (1/2-em) --> +<!ENTITY nbsp SDATA "[nbsp ]" -- non breaking space --> +<!ENTITY shy SDATA "[shy ]" -- soft hyphen --> +<!ENTITY copy SDATA "[copy ]" -- copyright sign --> +<!ENTITY trade SDATA "[trade ]" -- trade mark sign --> +<!ENTITY reg SDATA "[reg ]" -- registered sign --> + + +<!--========= SGML Document Access (SDA) Parameter Entities =====--> + +<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes +in support of easy transformation to the International Committee +for Accessible Document Design (ICADD) DTD + "-//EC-USA-CDA/ICADD//DTD ICADD22//EN". +ICADD applications are designed to support usable access to +structured information by print-impaired individuals through +Braille, large print and voice synthesis. For more information on +SDA & ICADD: + - ISO 12083:1993, Annex A.8, Facilities for Braille, + large print and computer voice + - ICADD ListServ + <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu> + - Usenet news group bit.listserv.easi + - Recording for the Blind, +1 800 221 4792 +--> + +<![ %SDA.Attributes; [ +<!ENTITY % SDAFORM "SDAFORM CDATA #FIXED" + -- one to one mapping --> +<!ENTITY % SDARULE "SDARULE CDATA #FIXED" + -- context-sensitive mapping --> +<!ENTITY % SDAPREF "SDAPREF CDATA #FIXED" + -- generated text prefix --> +<!ENTITY % SDASUFF "SDASUFF CDATA #FIXED" + -- generated text suffix --> +<!ENTITY % SDASUSP "SDASUSP NAME #FIXED" + -- suspend transform process --> +]]> + +<!--========== Text Markup =====================--> + +<!ENTITY % font " U | S | TT | B | I |BIG | SMALL | FONT"> +<!-- blink and font are Netscape extensions, the rest HTML 3 --> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE | DFN | BLINK "> + +<!-- add SUP and SUB from HTML3 to the Netscape extensions --> +<!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font | NOBR | WBR | SUB | SUP"> +<!ELEMENT (SUB|SUP) - - (%text)* > + +<!-- Two Netscape extensions --> +<!ELEMENT NOBR - - (%text;)* -(NOBR) > +<!ELEMENT WBR - O EMPTY > + +<!ELEMENT (%font;|%phrase) - - (%text)*> +<!ATTLIST font size CDATA #REQUIRED > +<![ %SDA.Attributes; [ +<!ATTLIST ( TT | CODE | SAMP | KBD | VAR ) + %SDAFORM; "Lit" + > +<!ATTLIST ( B | STRONG ) + %SDAFORM; "B" + > +<!ATTLIST ( I | EM | CITE ) + %SDAFORM; "It" + > +]]> + +<!-- <TT> Typewriter text --> +<!-- <B> Bold text --> +<!-- <I> Italic text --> + +<!-- <EM> Emphasized phrase --> +<!-- <STRONG> Strong emphasis --> +<!-- <CODE> Source code phrase --> +<!-- <SAMP> Sample text or characters --> +<!-- <KBD> Keyboard phrase, e.g. user input --> +<!-- <VAR> Variable phrase or substitutable --> +<!-- <CITE> Name or title of cited work --> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase"> + + +<!ELEMENT BR - O EMPTY> + +<!-- <BR> Line break --> + +<![ %SDA.Attributes; [ +<!ENTITY % br.sda "%SDAPREF; '&#RE;'"> +]]> +<!ENTITY % br.sda ""> + +<!ATTLIST BR + clear CDATA #IMPLIED + %br.sda; + > +<!-- Netscape accepts values left, right, all --> + +<!--========= Link Markup ======================--> + +<!ENTITY % linkType "NAMES"> + +<!ENTITY % linkExtraAttributes + "METHODS NAMES #IMPLIED + REL %linkType #IMPLIED + REV %linkType #IMPLIED + URN CDATA #IMPLIED + TITLE CDATA #IMPLIED + "> + +<![ %HTML.Recommended [ + <!ENTITY % A.content "(%text)*" + -- <H1><a name="xxx">Heading</a></H1> + is preferred to + <a name="xxx"><H1>Heading</H1></a> + --> +]]> + +<!ENTITY % A.content "(%heading|%text)*"> + +<!ELEMENT A - - %A.content -(A)> +<![ %SDA.Attributes; [ +<!ENTITY % a.sda "%SDAPREF; '<Anchor: #AttList>'"> +]]> +<!ENTITY % a.sda ""> +<!ATTLIST A + %linkExtraAttributes; + HREF CDATA #IMPLIED + NAME CDATA #IMPLIED + %a.sda; + > +<!-- <A> Anchor; source/destination of link --> +<!-- <A NAME="..."> Name of this anchor --> +<!-- <A HREF="..."> Address of link destination --> +<!-- <A URN="..."> Permanent address of destination --> +<!-- <A REL=...> Relationship to destination --> +<!-- <A REV=...> Relationship of destination to this --> +<!-- <A TITLE="..."> Title of destination (advisory) --> +<!-- <A METHODS="..."> Operations on destination (advisory) --> + + +<!--========== Images ==========================--> + +<!ELEMENT IMG - O EMPTY> + +<!ENTITY % img.align "left|right|top|texttop|middle|absmiddle|baseline| + bottom|absbottom"> +<!-- top, middle, bottom HTML2; left, right HTML3; rest Netscape --> + +<![ %SDA.Attributes; [ +<!ENTITY % img.sda "%SDAPREF; '<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>'"> +]]> +<!ENTITY % img.sda ""> + +<!ATTLIST IMG + ALIGN (%img.align;) #IMPLIED + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ISMAP (ISMAP) #IMPLIED + %img.sda; + lowsrc CDATA #IMPLIED + border NUMBER #IMPLIED + vspace NUMBER #IMPLIED + hspace NUMBER #IMPLIED + width CDATA #IMPLIED -- number for HTML 3, cdata for Netscape -- + height CDATA #IMPLIED -- number for HTML 3 cdata for Netscape-- + > + +<!-- <IMG> Image; icon, glyph or illustration --> +<!-- <IMG SRC="..."> Address of image object --> +<!-- <IMG ALT="..."> Textual alternative --> +<!-- <IMG ALIGN=...> Position relative to text --> +<!-- <IMG ISMAP> Each pixel can be a link --> + +<!--========== Paragraphs=======================--> + +<!ELEMENT P - O (%text)*> +<!-- HTML 3, except for center which is also Netscape --> +<![ %SDA.Attributes; [ +<!ENTITY % p.sda "%SDAFORM; 'Para'"> +]]> +<!ENTITY % p.sda ""> +<!ATTLIST P + align (left|center|right|justify) #IMPLIED + %p.sda; + > + +<!-- note that need HTML3 to get SDA. OK for hmpro --> +<!-- <P> Paragraph --> + + +<!--========== Headings, Titles, Sections ===============--> + +<!ELEMENT HR - O EMPTY> + +<![ %SDA.Attributes; [ +<!ENTITY % hr.sda "%SDAPREF; '&#RE;&#RE;'"> +]]> +<!ENTITY % hr.sda ""> + +<!ATTLIST HR + %hr.sda; + size NUMBER #IMPLIED + width CDATA #IMPLIED -- number or percent => CDATA -- + align (left|right|center) #IMPLIED + noshade (noshade) #IMPLIED -- these four only Netscape -- + src CDATA #IMPLIED -- URI of custom rule graphic (HTML 3) -- + > + + +<!-- <HR> Horizontal rule --> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!-- HTML 3, except for center which is also supported by Netscape --> +<!ENTITY % head.att " + align (left|center|right|justify) #IMPLIED +"> +<![ %SDA.Attributes; [ +<!ENTITY % h1.sda "%SDAFORM; 'H1'"> +<!ENTITY % h2.sda "%SDAFORM; 'H2'"> +<!ENTITY % h3.sda "%SDAFORM; 'H3'"> +<!ENTITY % h4.sda "%SDAFORM; 'H4'"> +<!ENTITY % h5.sda "%SDAFORM; 'H5'"> +<!ENTITY % h6.sda "%SDAFORM; 'H6'"> +]]> +<!ENTITY % h1.sda ""> +<!ENTITY % h2.sda ""> +<!ENTITY % h3.sda ""> +<!ENTITY % h4.sda ""> +<!ENTITY % h5.sda ""> +<!ENTITY % h6.sda ""> + +<!ATTLIST H1 + %head.att; + %h1.sda; + > +<!ATTLIST H2 + %head.att; + %h2.sda; + > +<!ATTLIST H3 + %head.att; + %h3.sda; + > +<!ATTLIST H4 + %head.att; + %h4.sda; + > +<!ATTLIST H5 + %head.att; + %h5.sda; + > +<!ATTLIST H6 + %head.att; + %h6.sda; + > + +<!-- <H1> Heading, level 1 --> +<!-- <H2> Heading, level 2 --> +<!-- <H3> Heading, level 3 --> +<!-- <H4> Heading, level 4 --> +<!-- <H5> Heading, level 5 --> +<!-- <H6> Heading, level 6 --> + + +<!--========== Text Flows ======================--> + +<!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX | TABLE"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!ENTITY % block "P | %list | DL + | %preformatted + | %block.forms"> + +<!ENTITY % flow "(%text|%block|CENTER)*"> +<!-- center is a Netscape extension --> + +<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP"> +<!ELEMENT PRE - - (%pre.content)* -(%pre.exclusion;) > + +<![ %SDA.Attributes; [ +<!ENTITY % pre.sda "%SDAFORM; 'Lit'"> +]]> +<!ENTITY % pre.sda ""> + +<!ATTLIST PRE + WIDTH NUMBER #implied + %pre.sda; + > + +<!-- <PRE> Preformatted text --> +<!-- <PRE WIDTH=...> Maximum characters per line --> + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<![ %SDA.Attributes; [ +<!ATTLIST XMP + %SDAFORM; "Lit" + %SDAPREF; "Example:&#RE;" + > +<!ATTLIST LISTING + %SDAFORM; "Lit" + %SDAPREF; "Listing:&#RE;" + > +]]> + +<!-- <XMP> Example section --> +<!-- <LISTING> Computer listing --> + +<!ELEMENT PLAINTEXT - O %literal> +<!-- <PLAINTEXT> Plain text passage --> + +<![ %SDA.Attributes; [ +<!ATTLIST PLAINTEXT + %SDAFORM; "Lit" + > +]]> +]]> +<!-- end of deprecated marked section --> + + +<!--========== Lists ==================--> + +<!ELEMENT DL - - (DT | DD)+> +<![ %SDA.Attributes; [ +<!ENTITY % dl.sda "%SDAFORM; 'List' + %SDAPREF; 'Definition List:' + "> +]]> +<!ENTITY % dl.sda ""> +<!ATTLIST DL + COMPACT (COMPACT) #IMPLIED + %dl.sda; + > + +<!ELEMENT DT - O (%text)*> +<![ %SDA.Attributes; [ +<!ATTLIST DT + %SDAFORM; "Term" + > +]]> + +<!ELEMENT DD - O %flow> +<![ %SDA.Attributes; [ +<!ATTLIST DD + %SDAFORM; "LItem" + > +]]> + +<!-- <DL> Definition list, or glossary --> +<!-- <DL COMPACT> Compact style list --> +<!-- <DT> Term in definition list --> +<!-- <DD> Definition of term --> + +<!ELEMENT (OL|UL) - - (LI)+> +<!-- deleted the HTML3 sttributes %url.link;, %attrs; and %needs; + from these lists --> + +<![ %SDA.Attributes; [ +<!ENTITY % ol.sda "%SDAFORM; 'List'"> +]]> +<!ENTITY % ol.sda ""> + +<!ATTLIST OL + continue (continue) #IMPLIED -- don't restart sequence number -- + seqnum NUMBER #IMPLIED -- starting sequence number -- + -- above two HTML 3-- + type CDATA #IMPLIED -- Netscape -- + start NUMBER #IMPLIED -- Netscape -- + COMPACT (COMPACT) #IMPLIED + %ol.sda; + > +<![ %SDA.Attributes; [ +<!ENTITY % ul.sda "%SDAFORM; 'List'"> +]]> +<!ENTITY % ul.sda ""> + +<!ATTLIST UL + wrap (vert|horiz|none) none -- multicolumn list style -- + plain (plain) #IMPLIED -- suppress bullets -- + dingbat CDATA #IMPLIED -- dingbat entity from HTMLicons -- + src CDATA #IMPLIED -- bullet defined by graphic -- + -- these four HTML 3. dingbat usually ENTITY, but sets + not yet defined -- + type (disc|circle|square) #IMPLIED -- Netscape -- + COMPACT (COMPACT) #IMPLIED + %ul.sda; + > +<!-- <UL> Unordered list --> +<!-- <UL COMPACT> Compact list style --> +<!-- <OL> Ordered, or numbered list --> +<!-- <OL COMPACT> Compact list style --> + +<![ %SDA.Attributes; [ +<!ENTITY % dir.sda " + %SDAFORM; 'List' + %SDAPREF; '<LHead>Directory</LHead>' + "> +]]> +<!ENTITY % dir.sda ""> + +<![ %SDA.Attributes; [ +<!ENTITY % menu.sda " + %SDAFORM; 'List' + %SDAPREF; '<LHead>Menu</LHead>' + "> +]]> +<!ENTITY % menu.sda ""> + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST DIR + COMPACT (COMPACT) #IMPLIED + %dir.sda; + > +<!ATTLIST MENU + COMPACT (COMPACT) #IMPLIED + %menu.sda; + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!ELEMENT LI - O %flow> +<![ %SDA.Attributes; [ +<!ENTITY % li.sda " + %SDAFORM; "LItem" + "> +]]> +<!ENTITY % li.sda ""> +<!ATTLIST LI + dingbat CDATA #IMPLIED -- dingbat entity from HTMLicons -- + src CDATA #IMPLIED -- custom bullet graphic -- + skip NUMBER 0 -- skip seq nums for missing items -- + -- above three HTML 3 -- + type CDATA #IMPLIED -- Netscape -- + value NUMBER #IMPLIED -- Netscape -- + %li.sda; + > + +<!-- <LI> List item --> + +<!ELEMENT center - - (%heading;|%text;|ADDRESS|TABLE|P|%list;|DL)* > + + + +<!--========== Document Body ===================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG|CENTER)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(%heading | %text | %block | CENTER | + HR | ADDRESS)*"> + + +<!ELEMENT BODY O O %body.content> + +<!ATTLIST BODY + background CDATA #IMPLIED -- background image -- + -- both HTML 3 and Netscape -- + bgcolor CDATA #IMPLIED -- background colour in hex #rrggbb format -- + text CDATA #IMPLIED -- colour of normal text in #rrggbb format -- + link CDATA #IMPLIED -- colour of link text in #rrggbb format -- + vlink CDATA #IMPLIED -- colour of visited link text in #rrggbb -- + alink CDATA #IMPLIED -- colour of active link text in #rrggbb -- + -- these last five all Netscape --> + +<!-- <BODY> Document body --> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<![ %SDA.Attributes; [ +<!ATTLIST BLOCKQUOTE + %SDAFORM; "BQ" + > +]]> + +<!-- <BLOCKQUOTE> Quoted passage --> + +<!ELEMENT ADDRESS - - (%text|P)*> +<![ %SDA.Attributes; [ +<!ATTLIST ADDRESS + %SDAFORM; "Lit" + %SDAPREF; "Address:&#RE;" + > +]]> + +<!-- <ADDRESS> Address, signature, or byline --> + + +<!--======= Forms ====================--> + +<![ %SDA.Attributes; [ +<!ENTITY % form.sda " + %SDAPREF; '<Para>Form:</Para>' + %SDASUFF; '<Para>Form End.</Para>' + "> +]]> +<!ENTITY % form.sda ""> +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + ACTION CDATA #IMPLIED + METHOD (%HTTP-Method) GET + ENCTYPE %Content-Type; "application/x-www-form-urlencoded" + %form.sda; + > + +<!-- <FORM> Fill-out or data-entry form --> +<!-- <FORM ACTION="..."> Address for completed form --> +<!-- <FORM METHOD=...> Method of submitting form --> +<!-- <FORM ENCTYPE="..."> Representation of form data --> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + IMAGE | HIDDEN )"> +<![ %SDA.Attributes; [ +<!ENTITY % input.sda " + %SDAPREF; 'Input: ' + "> +]]> +<!ENTITY % input.sda ""> +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + TYPE %InputType TEXT + NAME CDATA #IMPLIED + VALUE CDATA #IMPLIED + SRC CDATA #IMPLIED + CHECKED (CHECKED) #IMPLIED + SIZE CDATA #IMPLIED + MAXLENGTH NUMBER #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + %input.sda; + > + +<!-- <INPUT> Form input datum --> +<!-- <INPUT TYPE=...> Type of input interaction --> +<!-- <INPUT NAME=...> Name of form datum --> +<!-- <INPUT VALUE="..."> Default/initial/selected value --> +<!-- <INPUT SRC="..."> Address of image --> +<!-- <INPUT CHECKED> Initial state is "on" --> +<!-- <INPUT SIZE=...> Field size hint --> +<!-- <INPUT MAXLENGTH=...> Data length maximum --> +<!-- <INPUT ALIGN=...> Image alignment --> + +<![ %SDA.Attributes; [ +<!ENTITY % select.sda " + %SDAFORM; 'List' + %SDAPREF; + '<LHead>Select #AttVal(Multiple)</LHead>' + "> +]]> +<!ENTITY % select.sda ""> +<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST SELECT + NAME CDATA #REQUIRED + SIZE NUMBER #IMPLIED + MULTIPLE (MULTIPLE) #IMPLIED + %select.sda; + > + +<!-- <SELECT> Selection of option(s) --> +<!-- <SELECT NAME=...> Name of form datum --> +<!-- <SELECT SIZE=...> Options displayed at a time --> +<!-- <SELECT MULTIPLE> Multiple selections allowed --> + +<![ %SDA.Attributes; [ +<!ENTITY % option.sda " + %SDAFORM; 'LItem' + %SDAPREF; + 'Option: #AttVal(Value) #AttVal(Selected)' + "> +]]> +<!ENTITY % option.sda ""> + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + SELECTED (SELECTED) #IMPLIED + VALUE CDATA #IMPLIED + %option.sda; + > + +<!-- <OPTION> A selection option --> +<!-- <OPTION SELECTED> Initial state --> +<!-- <OPTION VALUE="..."> Form datum value for this option--> + +<![ %SDA.Attributes; [ +<!ENTITY % textarea.sda " + %SDAFORM; 'Para' + %SDAPREF; 'Input Text -- #AttVal(Name): ' + "> +]]> +<!ENTITY % textarea.sda ""> + +<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST TEXTAREA + NAME CDATA #REQUIRED + ROWS NUMBER #REQUIRED + COLS NUMBER #REQUIRED + %textarea.sda; + > + +<!-- <TEXTAREA> An area for text input --> +<!-- <TEXTAREA NAME=...> Name of form datum --> +<!-- <TEXTAREA ROWS=...> Height of area --> +<!-- <TEXTAREA COLS=...> Width of area --> + + +<!--======= Document Head ======================--> + +<![ %HTML.Recommended [ + <!ENTITY % head.extra ""> +]]> + +<!ENTITY % head.extra "& NEXTID?"> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra"> + +<!ELEMENT HEAD O O (%head.content) +(META|LINK)> + +<!-- <HEAD> Document head --> + +<!ELEMENT TITLE - - (#PCDATA)* -(META|LINK) > +<![ %SDA.Attributes; [ +<!ATTLIST TITLE + %SDAFORM; "Ti" > +]]> + +<!-- <TITLE> Title of document --> + +<![ %SDA.Attributes; [ +<!ENTITY % link.sda " + %SDAPREF; 'Linked to : #AttVal (TITLE) (URN) (HREF)>' + "> +]]> +<!ENTITY % link.sda ""> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + HREF CDATA #REQUIRED + %linkExtraAttributes; + %link.sda; + > + +<!-- <LINK> Link from this document --> +<!-- <LINK HREF="..."> Address of link destination --> +<!-- <LINK URN="..."> Lasting name of destination --> +<!-- <LINK REL=...> Relationship to destination --> +<!-- <LINK REV=...> Relationship of destination to this --> +<!-- <LINK TITLE="..."> Title of destination (advisory) --> +<!-- <LINK METHODS="..."> Operations allowed (advisory) --> + +<!ELEMENT ISINDEX - O EMPTY> + +<![ %SDA.Attributes; [ +<!ENTITY % isindex.sda " + %SDAPREF; + '<Para>[Document is indexed/searchable.]</Para>' + "> +]]> +<!ENTITY % isindex.sda ""> + +<!ATTLIST ISINDEX + prompt CDATA #IMPLIED + %isindex.sda; + > + +<!-- <ISINDEX> Document is a searchable index --> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + HREF CDATA #REQUIRED > + +<!-- <BASE> Base context document --> +<!-- <BASE HREF="..."> Address for this document --> + +<![ %HTML.Deprecated [ +<!ELEMENT NEXTID - O EMPTY> +<!ATTLIST NEXTID + N CDATA #REQUIRED > + +<!-- <NEXTID> Next ID to use for link name --> +<!-- <NEXTID N=...> Next ID to use for link name --> +]]> + + +<!ELEMENT META - O EMPTY> +<!ATTLIST META + HTTP-EQUIV NAME #IMPLIED + NAME NAME #IMPLIED + CONTENT CDATA #REQUIRED + url CDATA #IMPLIED -- Netscape --> + +<!-- <META> Generic Metainformation --> +<!-- <META HTTP-EQUIV=...> HTTP response header name --> +<!-- <META NAME=...> Metainformation name --> +<!-- <META CONTENT="..."> Associated information --> + +<!--======= Document Structure =================--> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> + +<![ %SDA.Attributes; [ +<!ENTITY % html.sda " + %SDAFORM; 'Book' + "> +]]> +<!ENTITY % html.sda ""> + +<!ATTLIST HTML + VERSION CDATA #IMPLIED + %html.sda; + > + + +<!--================= Tables : Added Support for HoTMetaL =================--> + +<!-- Tables --> + +<!-- + SoftQuad's Canonical Table DTD fragment modified for compatibility + with the proposed ICADD-HTML harmonized table model. + Changed a lot by Lauren for the SQ HoTMetaL PRO 2.0. + + Copyright (c) 1991, 1994, 1995 by SoftQuad Inc. + + This DTD fragment defines the table structure used internally by + SoftQuad Author/Editor and uses names from the proposed + ICADD-HTML model. + + It expects there to be a table.map file point to by SQCONFIG + and containing the following lines: +TBODY COLDEFS COLDEF ROWS TR TD + +The CellMdl parameter entity should be modified to the current proposed +model for table cells. +--> + +<!ENTITY % TblBody "TBody"> +<!ENTITY % TblCDfs "ColDefs"> +<!ENTITY % TblCDef "ColDef"> +<!ENTITY % TblRows "Rows"> +<!ENTITY % TblRow "TR"> +<!ENTITY % TblCell "(TD|TH)"> +<!ENTITY % CellMdl "(%heading|%text|%block|ADDRESS|HR)* "> +<!-- this allows <img>, fonts etc. --> + +<!ENTITY % VBorder + "(VSingle|VNone)"> +<!ENTITY % HBorder + "(HSingle|HNone)"> +<!ENTITY % VAlign "(Top|Middle|Bottom|baseline)"> +<!ENTITY % HAlign "(Left|Center|Right|justify)"> +<!-- justify only HTML 3, others both --> + +<!ENTITY % TblUnit "(percent|pixels|points|picas|mm|cm|inches)"> + +<!ENTITY % RProps + 'VAlign %VAlign; #IMPLIED'> +<!ENTITY % CProps + 'Align %HAlign; #IMPLIED'> + +<!ELEMENT TABLE - O (Caption?, TBody) > + +<!-- Netscape and HTML 3 --> +<!ATTLIST TABLE + border (border|0|1|2|3|4|5|6|7|8|9|10) #IMPLIED + -- Netscape has BORDER and numbers as possible values. -- + cellpadding NUMBER #IMPLIED + cellspacing NUMBER #IMPLIED + height CDATA #IMPLIED + width CDATA #IMPLIED + align (bleedleft|left|center|right|bleedright|justify) #IMPLIED + -- left, center, right are Netscape, all values are valid HTML 3-- + nowrap (nowrap) #IMPLIED -- HTML 3 -- + clear CDATA #IMPLIED -- HTML 3 -- + > + +<!-- TblBody is the top-level table element --> +<!ELEMENT TBody O O ((%TblCDfs;), (Rows))> +<!ATTLIST %TblBody; + SQTABLE CDATA #FIXED 'TBLBODY' -- needed for program -- + TblWd CDATA #IMPLIED + TblHt CDATA #IMPLIED +> + +<!-- Table Column Definitions: --> +<!ELEMENT %TblCDfs; O O (%TblCDef;)+> +<!ATTLIST %TblCDfs; + SQTABLE CDATA #FIXED 'TBLCDEFS' -- needed for program -- + -- CProps with default values to apply to all columns -- + Align %HAlign; "Left" +> +<!-- there is exactly one TblCDef for each column in the table --> +<!ELEMENT %TblCDef; - O EMPTY -- Only exists to hold attributes --> +<!ATTLIST %TblCDef; + SQTABLE CDATA #FIXED 'TBLCDEF' -- needed for program -- + %CProps; -- overrides settings in TblCDfs -- + -- need the following two because of Keyword conversion -- + ColWd CDATA #IMPLIED + TblUnits %TblUnit; #IMPLIED +> + +<!-- Table Rows: --> +<!ELEMENT Rows O O (TR)+> +<!ATTLIST %TblRows; + SQTABLE CDATA #FIXED 'TBLROWS' -- needed for program -- + -- RProps with default values to apply to all rows -- + VAlign %VAlign; "top" +> +<!ELEMENT %TblRow; - O (TH|TD)*> +<!ATTLIST %TblRow; + SQTABLE CDATA #FIXED 'TBLROW' -- needed for program -- + VAlign %VAlign; top + -- HTML 3 setting; Netscape uses Middle-- + Align %HAlign; Left + -- we need a setting for our table model -- + nowrap (nowrap) #IMPLIED -- HTML 3 -- +> + +<!-- Table Cells --> +<!ELEMENT %TblCell; - - %CellMdl; -(table)> +<!ATTLIST %TblCell; + SQTABLE CDATA #FIXED 'TBLCELL' -- needed for program -- + VAlign %VAlign; #IMPLIED + -- Netscape has VAlign set to Middle. In HTML 3, it's implied from TR -- + Align %HAlign; #IMPLIED + -- #IMPLIED for HTML 3, Left for Netscape TD, center for TH -- + -- cell positioning -- + ColStart NUMBER #IMPLIED + ColSpan NUMBER "1" -- span >= 1 -- + RowStart NUMBER #IMPLIED + RowSpan NUMBER "1" -- span >= 1 -- + -- colspan and rowspan Netscape and HTML 3 -- + nowrap (nowrap) #IMPLIED -- Netscape and HTML 3 -- + width CDATA #IMPLIED -- Netscape only -- +> +<!-- need colstart and rowstart attributes for internals --> + +<!ELEMENT caption - O (%text;)* > +<!-- both HTML 3 and Netscape, values "left", "right" only HTML 3 --> +<!ATTLIST caption + align (top|bottom|left|right) #IMPLIED + > diff --git a/htdocs/sgml-lib/html.dtd b/htdocs/sgml-lib/html.dtd new file mode 100644 index 0000000..a7061c7 --- /dev/null +++ b/htdocs/sgml-lib/html.dtd @@ -0,0 +1,599 @@ +<!-- html.dtd + + Document Type Definition for the HyperText Markup Language + (HTML DTD) + + $Id: html.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: html.decl, html-1.dtd + http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!ENTITY % HTML.Version + "-//IETF//DTD HTML 2.0//EN" + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> + <html> + ... + </html> + -- + > + + +<!--============ Feature Test Entities ========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for + compatibility with widespread usage, but they may + compromise the structural integrity of a document. + This feature test entity enables a more prescriptive + document type definition that eliminates + those features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for + compatibility with earlier versions of the specification, + but they tend to be used and implemented inconsistently, + and their use is deprecated. This feature test entity + enables a document type definition that eliminates + these features. + --> + +<!ENTITY % HTML.Highlighting "INCLUDE" + -- Use this feature test entity to validate that a + document uses no highlighting tags, which may be + ignored on minimal implementations. + --> + +<!ENTITY % HTML.Forms "INCLUDE" + -- Use this feature test entity to validate that a document + contains no forms, which may not be supported in minimal + implementations + --> + +<!--============== Imported Names ==============================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning an internet media type + (aka MIME content type, as per RFC1521) + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification, in progress + --> + +<!--========= DTD "Macros" =====================--> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list " UL | OL | DIR | MENU " > + + +<!--======= Character mnemonic entities =================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> + + +<!--========= SGML Document Access (SDA) Parameter Entities =====--> + +<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes +in support of easy transformation to the International Committee +for Accessible Document Design (ICADD) DTD + "-//EC-USA-CDA/ICADD//DTD ICADD22//EN". +ICADD applications are designed to support usable access to +structured information by print-impaired individuals through +Braille, large print and voice synthesis. For more information on +SDA & ICADD: + - ISO 12083:1993, Annex A.8, Facilities for Braille, + large print and computer voice + - ICADD ListServ + <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu> + - Usenet news group bit.listserv.easi + - Recording for the Blind, +1 800 221 4792 +--> + +<!ENTITY % SDAFORM "SDAFORM CDATA #FIXED" + -- one to one mapping --> +<!ENTITY % SDARULE "SDARULE CDATA #FIXED" + -- context-sensitive mapping --> +<!ENTITY % SDAPREF "SDAPREF CDATA #FIXED" + -- generated text prefix --> +<!ENTITY % SDASUFF "SDASUFF CDATA #FIXED" + -- generated text suffix --> +<!ENTITY % SDASUSP "SDASUSP NAME #FIXED" + -- suspend transform process --> + + +<!--========== Text Markup =====================--> + +<![ %HTML.Highlighting [ + +<!ENTITY % font " TT | B | I "> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE "> + +<!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font"> + +<!ELEMENT (%font;|%phrase) - - (%text)*> +<!ATTLIST ( TT | CODE | SAMP | KBD | VAR ) + %SDAFORM; "Lit" + > +<!ATTLIST ( B | STRONG ) + %SDAFORM; "B" + > +<!ATTLIST ( I | EM | CITE ) + %SDAFORM; "It" + > + +<!-- <TT> Typewriter text --> +<!-- <B> Bold text --> +<!-- <I> Italic text --> + +<!-- <EM> Emphasized phrase --> +<!-- <STRONG> Strong emphasis --> +<!-- <CODE> Source code phrase --> +<!-- <SAMP> Sample text or characters --> +<!-- <KBD> Keyboard phrase, e.g. user input --> +<!-- <VAR> Variable phrase or substitutable --> +<!-- <CITE> Name or title of cited work --> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase"> + +]]> + +<!ENTITY % text "#PCDATA | A | IMG | BR"> + +<!ELEMENT BR - O EMPTY> +<!ATTLIST BR + %SDAPREF; "&#RE;" + > + +<!-- <BR> Line break --> + + +<!--========= Link Markup ======================--> + +<!ENTITY % linkType "NAMES"> + +<!ENTITY % linkExtraAttributes + "REL %linkType #IMPLIED + REV %linkType #IMPLIED + URN CDATA #IMPLIED + TITLE CDATA #IMPLIED + METHODS NAMES #IMPLIED + "> + +<![ %HTML.Recommended [ + <!ENTITY % A.content "(%text)*" + -- <H1><a name="xxx">Heading</a></H1> + is preferred to + <a name="xxx"><H1>Heading</H1></a> + --> +]]> + +<!ENTITY % A.content "(%heading|%text)*"> + +<!ELEMENT A - - %A.content -(A)> +<!ATTLIST A + HREF CDATA #IMPLIED + NAME CDATA #IMPLIED + %linkExtraAttributes; + %SDAPREF; "<Anchor: #AttList>" + > +<!-- <A> Anchor; source/destination of link --> +<!-- <A NAME="..."> Name of this anchor --> +<!-- <A HREF="..."> Address of link destination --> +<!-- <A URN="..."> Permanent address of destination --> +<!-- <A REL=...> Relationship to destination --> +<!-- <A REV=...> Relationship of destination to this --> +<!-- <A TITLE="..."> Title of destination (advisory) --> +<!-- <A METHODS="..."> Operations on destination (advisory) --> + + +<!--========== Images ==========================--> + +<!ELEMENT IMG - O EMPTY> +<!ATTLIST IMG + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + ISMAP (ISMAP) #IMPLIED + %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>" + > + +<!-- <IMG> Image; icon, glyph or illustration --> +<!-- <IMG SRC="..."> Address of image object --> +<!-- <IMG ALT="..."> Textual alternative --> +<!-- <IMG ALIGN=...> Position relative to text --> +<!-- <IMG ISMAP> Each pixel can be a link --> + +<!--========== Paragraphs=======================--> + +<!ELEMENT P - O (%text)*> +<!ATTLIST P + %SDAFORM; "Para" + > + +<!-- <P> Paragraph --> + + +<!--========== Headings, Titles, Sections ===============--> + +<!ELEMENT HR - O EMPTY> +<!ATTLIST HR + %SDAPREF; "&#RE;&#RE;" + > + +<!-- <HR> Horizontal rule --> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!ATTLIST H1 + %SDAFORM; "H1" + > +<!ATTLIST H2 + %SDAFORM; "H2" + > +<!ATTLIST H3 + %SDAFORM; "H3" + > +<!ATTLIST H4 + %SDAFORM; "H4" + > +<!ATTLIST H5 + %SDAFORM; "H5" + > +<!ATTLIST H6 + %SDAFORM; "H6" + > + +<!-- <H1> Heading, level 1 --> +<!-- <H2> Heading, level 2 --> +<!-- <H3> Heading, level 3 --> +<!-- <H4> Heading, level 4 --> +<!-- <H5> Heading, level 5 --> +<!-- <H6> Heading, level 6 --> + + +<!--========== Text Flows ======================--> + +<![ %HTML.Forms [ + <!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX"> +]]> + +<!ENTITY % block.forms "BLOCKQUOTE"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!ENTITY % block "P | %list | DL + | %preformatted + | %block.forms"> + +<!ENTITY % flow "(%text|%block)*"> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR"> +<!ELEMENT PRE - - (%pre.content)*> +<!ATTLIST PRE + WIDTH NUMBER #implied + %SDAFORM; "Lit" + > + +<!-- <PRE> Preformatted text --> +<!-- <PRE WIDTH=...> Maximum characters per line --> + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ATTLIST XMP + %SDAFORM; "Lit" + %SDAPREF; "Example:&#RE;" + > +<!ATTLIST LISTING + %SDAFORM; "Lit" + %SDAPREF; "Listing:&#RE;" + > + +<!-- <XMP> Example section --> +<!-- <LISTING> Computer listing --> + +<!ELEMENT PLAINTEXT - O %literal> +<!-- <PLAINTEXT> Plain text passage --> + +<!ATTLIST PLAINTEXT + %SDAFORM; "Lit" + > +]]> + + +<!--========== Lists ==================--> + +<!ELEMENT DL - - (DT | DD)+> +<!ATTLIST DL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "Definition List:" + > + +<!ELEMENT DT - O (%text)*> +<!ATTLIST DT + %SDAFORM; "Term" + > + +<!ELEMENT DD - O %flow> +<!ATTLIST DD + %SDAFORM; "LItem" + > + +<!-- <DL> Definition list, or glossary --> +<!-- <DL COMPACT> Compact style list --> +<!-- <DT> Term in definition list --> +<!-- <DD> Definition of term --> + +<!ELEMENT (OL|UL) - - (LI)+> +<!ATTLIST OL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + > +<!ATTLIST UL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + > +<!-- <UL> Unordered list --> +<!-- <UL COMPACT> Compact list style --> +<!-- <OL> Ordered, or numbered list --> +<!-- <OL COMPACT> Compact list style --> + + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST DIR + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "<LHead>Directory</LHead>" + > +<!ATTLIST MENU + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "<LHead>Menu</LHead>" + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!ELEMENT LI - O %flow> +<!ATTLIST LI + %SDAFORM; "LItem" + > + +<!-- <LI> List item --> + +<!--========== Document Body ===================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(%heading | %text | %block | + HR | ADDRESS)*"> + +<!ELEMENT BODY O O %body.content> + +<!-- <BODY> Document body --> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<!ATTLIST BLOCKQUOTE + %SDAFORM; "BQ" + > + +<!-- <BLOCKQUOTE> Quoted passage --> + +<!ELEMENT ADDRESS - - (%text|P)*> +<!ATTLIST ADDRESS + %SDAFORM; "Lit" + %SDAPREF; "Address:&#RE;" + > + +<!-- <ADDRESS> Address, signature, or byline --> + + +<!--======= Forms ====================--> + +<![ %HTML.Forms [ + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + ACTION CDATA #IMPLIED + METHOD (%HTTP-Method) GET + ENCTYPE %Content-Type; "application/x-www-form-urlencoded" + %SDAPREF; "<Para>Form:</Para>" + %SDASUFF; "<Para>Form End.</Para>" + > + +<!-- <FORM> Fill-out or data-entry form --> +<!-- <FORM ACTION="..."> Address for completed form --> +<!-- <FORM METHOD=...> Method of submitting form --> +<!-- <FORM ENCTYPE="..."> Representation of form data --> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + IMAGE | HIDDEN )"> +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + TYPE %InputType TEXT + NAME CDATA #IMPLIED + VALUE CDATA #IMPLIED + SRC CDATA #IMPLIED + CHECKED (CHECKED) #IMPLIED + SIZE CDATA #IMPLIED + MAXLENGTH NUMBER #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + %SDAPREF; "Input: " + > + +<!-- <INPUT> Form input datum --> +<!-- <INPUT TYPE=...> Type of input interaction --> +<!-- <INPUT NAME=...> Name of form datum --> +<!-- <INPUT VALUE="..."> Default/initial/selected value --> +<!-- <INPUT SRC="..."> Address of image --> +<!-- <INPUT CHECKED> Initial state is "on" --> +<!-- <INPUT SIZE=...> Field size hint --> +<!-- <INPUT MAXLENGTH=...> Data length maximum --> +<!-- <INPUT ALIGN=...> Image alignment --> + +<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST SELECT + NAME CDATA #REQUIRED + SIZE NUMBER #IMPLIED + MULTIPLE (MULTIPLE) #IMPLIED + %SDAFORM; "List" + %SDAPREF; + "<LHead>Select #AttVal(Multiple)</LHead>" + > + +<!-- <SELECT> Selection of option(s) --> +<!-- <SELECT NAME=...> Name of form datum --> +<!-- <SELECT SIZE=...> Options displayed at a time --> +<!-- <SELECT MULTIPLE> Multiple selections allowed --> + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + SELECTED (SELECTED) #IMPLIED + VALUE CDATA #IMPLIED + %SDAFORM; "LItem" + %SDAPREF; + "Option: #AttVal(Value) #AttVal(Selected)" + > + +<!-- <OPTION> A selection option --> +<!-- <OPTION SELECTED> Initial state --> +<!-- <OPTION VALUE="..."> Form datum value for this option--> + +<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST TEXTAREA + NAME CDATA #REQUIRED + ROWS NUMBER #REQUIRED + COLS NUMBER #REQUIRED + %SDAFORM; "Para" + %SDAPREF; "Input Text -- #AttVal(Name): " + > + +<!-- <TEXTAREA> An area for text input --> +<!-- <TEXTAREA NAME=...> Name of form datum --> +<!-- <TEXTAREA ROWS=...> Height of area --> +<!-- <TEXTAREA COLS=...> Width of area --> + +]]> + + +<!--======= Document Head ======================--> + +<![ %HTML.Recommended [ + <!ENTITY % head.extra ""> +]]> +<!ENTITY % head.extra "& NEXTID?"> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra"> + +<!ELEMENT HEAD O O (%head.content) +(META|LINK)> + +<!-- <HEAD> Document head --> + +<!ELEMENT TITLE - - (#PCDATA)* -(META|LINK)> +<!ATTLIST TITLE + %SDAFORM; "Ti" > + +<!-- <TITLE> Title of document --> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + HREF CDATA #REQUIRED + %linkExtraAttributes; + %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>" > + +<!-- <LINK> Link from this document --> +<!-- <LINK HREF="..."> Address of link destination --> +<!-- <LINK URN="..."> Lasting name of destination --> +<!-- <LINK REL=...> Relationship to destination --> +<!-- <LINK REV=...> Relationship of destination to this --> +<!-- <LINK TITLE="..."> Title of destination (advisory) --> +<!-- <LINK METHODS="..."> Operations allowed (advisory) --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + %SDAPREF; + "<Para>[Document is indexed/searchable.]</Para>"> + +<!-- <ISINDEX> Document is a searchable index --> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + HREF CDATA #REQUIRED > + +<!-- <BASE> Base context document --> +<!-- <BASE HREF="..."> Address for this document --> + +<!ELEMENT NEXTID - O EMPTY> +<!ATTLIST NEXTID + N CDATA #REQUIRED > + +<!-- <NEXTID> Next ID to use for link name --> +<!-- <NEXTID N=...> Next ID to use for link name --> + +<!ELEMENT META - O EMPTY> +<!ATTLIST META + HTTP-EQUIV NAME #IMPLIED + NAME NAME #IMPLIED + CONTENT CDATA #REQUIRED > + +<!-- <META> Generic Meta-information --> +<!-- <META HTTP-EQUIV=...> HTTP response header name --> +<!-- <META NAME=...> Meta-information name --> +<!-- <META CONTENT="..."> Associated information --> + +<!--======= Document Structure =================--> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<!ATTLIST HTML + %version.attr; + %SDAFORM; "Book" + > + +<!-- <HTML> HTML Document --> diff --git a/htdocs/sgml-lib/htmli.decl b/htdocs/sgml-lib/htmli.decl new file mode 100644 index 0000000..c465429 --- /dev/null +++ b/htdocs/sgml-lib/htmli.decl @@ -0,0 +1,80 @@ + +<!SGML "ISO 8879:1986" +-- + SGML Declaration for HyperText Markup Language version 2.x + (HTML 2.x = HTML 2.0 + i18n). + +-- + +CHARSET + BASESET "ISO Registration Number 177//CHARSET + ISO/IEC 10646-1:1993 UCS-4 with + implementation level 3//ESC 2/5 2/15 4/6" + DESCSET 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + 128 32 UNUSED + 160 2147483486 160 + +CAPACITY SGMLREF + TOTALCAP 150000 + GRPCAP 150000 + ENTCAP 150000 + +SCOPE DOCUMENT +SYNTAX + SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 + BASESET "ISO 646:1983//CHARSET + International Reference Version + (IRV)//ESC 2/5 4/0" + DESCSET 0 128 0 + + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + NAMING LCNMSTRT "" + UCNMSTRT "" + LCNMCHAR ".-" + UCNMCHAR ".-" + NAMECASE GENERAL YES + ENTITY NO + DELIM GENERAL SGMLREF + SHORTREF SGMLREF + NAMES SGMLREF + QUANTITY SGMLREF + ATTSPLEN 2100 + LITLEN 1024 + NAMELEN 72 -- somewhat arbitrary; taken from + internet line length conventions -- + PILEN 1024 + TAGLVL 100 + TAGLEN 2100 + GRPGTCNT 150 + GRPCNT 64 + +FEATURES + MINIMIZE + DATATAG NO + OMITTAG YES + RANK NO + SHORTTAG YES + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL YES + APPINFO "SDA" -- conforming SGML Document Access application + -- +> + diff --git a/htdocs/sgml-lib/ie30-s.dtd b/htdocs/sgml-lib/ie30-s.dtd new file mode 100644 index 0000000..7d893f3 --- /dev/null +++ b/htdocs/sgml-lib/ie30-s.dtd @@ -0,0 +1,23 @@ +<!-- html-s.dtd
+
+ Document Type Definition for strict HTML that works with Internet Explorer.
+-->
+
+<!ENTITY % HTML.Version
+ "-//Microsoft//DTD Internet Explorer 3.0 HTML Strict//EN"
+
+ -- Typical usage:
+
+ <!DOCTYPE HTML PUBLIC
+ "-//Microsoft//DTD Internet Explorer 3.0 HTML Strict//EN">
+ <html>
+ ...
+ </html>
+ --
+ >
+
+<!-- Feature Test Entities -->
+<!ENTITY % HTML.Recommended "INCLUDE">
+
+<!ENTITY % html PUBLIC "-//Microsoft//DTD Internet Explorer 3.0 HTML//EN">
+%html;
diff --git a/htdocs/sgml-lib/ie30.dtd b/htdocs/sgml-lib/ie30.dtd new file mode 100644 index 0000000..f317a8f --- /dev/null +++ b/htdocs/sgml-lib/ie30.dtd @@ -0,0 +1,853 @@ +<!--
+ Microsoft Document Type Definition for Internet Explorer 3.0 HTML.
+
+ Version: 0.9 Date: 11/7/96
+
+ Author: Mark Buckley <mbuckley@microsoft.com>
+
+ This markup is based as much as possible on the DTD for HTML 3.2
+ published by W3C (also known as the Wilbur DTD), dated 5/31/96.
+-->
+
+<!ENTITY % HTML.Version
+ "-//Microsoft//DTD Internet Explorer 3.0 HTML//EN" >
+
+<!--================== Deprecated Features Switch =========================-->
+
+<!ENTITY % HTML.Recommended "IGNORE" >
+
+<![ %HTML.Recommended [
+ <!ENTITY % HTML.Deprecated "IGNORE">
+]]>
+
+<!ENTITY % HTML.Deprecated "INCLUDE">
+
+<!--================== Imported Names =====================================-->
+
+<!ENTITY % Content-Type "CDATA"
+ -- meaning a MIME content type, as per RFC1521
+ -->
+
+<!ENTITY % HTTP-Method "GET | POST"
+ -- as per HTTP specification
+ -->
+
+<!ENTITY % URL "CDATA"
+ -- The term URL means a CDATA attribute
+ whose value is a Uniform Resource Locator,
+ See RFC1808 (June 95) and RFC1738 (Dec 94).
+ -->
+
+<!--========= Common attributes ============================================-->
+
+<!ENTITY % attrs -- common attributes. Taken from the HTML 3 DTD --
+ 'id ID #IMPLIED -- as target for hrefs (link ends) --
+ lang CDATA "en.us" -- ISO language, country code --
+ class NAMES #IMPLIED -- for subclassing elements --
+ style CDATA #IMPLIED'>
+
+<!--========= Color attribute ============================================-->
+
+<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->
+
+
+<!--================ Character mnemonic entities ==========================-->
+
+<!ENTITY % ISOlat1 PUBLIC
+ "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
+%ISOlat1;
+
+<!--================ Entities for special symbols =========================-->
+<!-- &trade ­ and &cbsp are not widely deployed and so not included here -->
+
+<!ENTITY copy CDATA "©" -- copyright sign -->
+<!ENTITY reg CDATA "®" -- registered sign -->
+<!ENTITY amp CDATA "&" -- ampersand -->
+<!ENTITY gt CDATA ">" -- greater than -->
+<!ENTITY lt CDATA "<" -- less than -->
+<!ENTITY quot CDATA """ -- double quote -->
+<!ENTITY nbsp CDATA " " -- non breaking space -->
+
+<!-- Parameter Entities -->
+
+<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
+
+
+<!--=================== Text Content =======================================-->
+
+<![ %HTML.Deprecated [
+<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP | FONT | S">
+]]>
+
+<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP | FONT">
+
+<![ %HTML.Deprecated [
+ <!ENTITY % phrase "EM | STRONG | DFN |CODE | SAMP | KBD | VAR | CITE | ENTITY">
+]]>
+
+<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | SPAN">
+
+<!ENTITY % break "BR | NOBR | WBR" >
+
+<!ENTITY % anchors "A" >
+
+<![ %HTML.Deprecated [
+<!ENTITY % mmobjects "IMG | APPLET | SCRIPT | NOSCRIPT | MAP | BGSOUND | MARQUEE | OBJECT | EMBED" >
+]]>
+
+<!ENTITY % mmobjects "IMG | APPLET | SCRIPT | NOSCRIPT | MAP | BGSOUND | MARQUEE | OBJECT" >
+
+<!ENTITY % formitems "INPUT | SELECT | TEXTAREA">
+
+<![ %HTML.Deprecated [
+ <!ENTITY % text "#PCDATA | %font | %phrase | %break | %anchors | %mmobjects | %formitems">
+]]>
+
+<!ENTITY % text "#PCDATA | %font | %phrase | %break | %anchors | %mmobjects">
+
+<!--=================== Flow Content =======================================-->
+
+<!ENTITY % list "UL | OL | DL | DIR | MENU">
+
+<![ %HTML.Deprecated [
+ <!ENTITY % preformatted "PRE | XMP | LISTING | PLAINTEXT">
+]]>
+
+<!ENTITY % preformatted "PRE">
+
+
+<![ %HTML.Deprecated [
+<!ENTITY % block
+ "P | %list | %preformatted | DIV | BLOCKQUOTE | FORM | ISINDEX |
+ HR | TABLE | IFRAME | CENTER">
+]]>
+
+<!ENTITY % block
+ "P | %list | %preformatted | DIV | BLOCKQUOTE | FORM | ISINDEX |
+ HR | TABLE | IFRAME">
+
+
+<![ %HTML.Deprecated [
+<!ENTITY % mixed.content "(%heading|%text|%block|ADDRESS|BASEFONT)*" >
+]]>
+
+<!-- %flow is used for DD and LI -->
+
+<![ %HTML.Deprecated [
+<!ENTITY % flow "(%mixed.content)*">
+]]>
+
+<!ENTITY % flow "(%text | %block)*">
+
+<![ %HTML.Deprecated [
+<!ENTITY % font.content "(%mixed.content)*">
+]]>
+
+<!ENTITY % font.content "(%text)*">
+
+
+<!-- Text Elements -->
+
+<!ELEMENT (%font) - - %font.content >
+
+<!ATTLIST FONT
+ %attrs;
+ size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
+ color %color #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --
+ face CDATA #IMPLIED
+ >
+
+<!ATTLIST (TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP)
+ %attrs;
+ size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
+ color %color #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --
+ face CDATA #IMPLIED
+ >
+
+<![ %HTML.Deprecated [
+ <!ATTLIST S
+ %attrs;
+ >
+]]>
+
+<!ELEMENT (%phrase) - - (%text)*>
+<!ATTLIST (%phrase)
+ %attrs;
+ >
+
+<!ELEMENT (%break) - O EMPTY -- forced line break -->
+
+<!ATTLIST BR
+ %attrs;
+ clear (left|all|right|none) none -- control of text flow --
+ >
+
+<!ATTLIST (NOBR | WBR)
+ %attrs;
+ >
+
+<!--=================== Document Body =====================================-->
+
+<![ %HTML.Recommended [
+ <!ENTITY % body.content "(%heading|%block|%mmobjects|ADDRESS|BASEFONT)*" >
+]]>
+
+<![ %HTML.Deprecated [
+<!ENTITY % body.content "%mixed.content" >
+]]>
+
+<!ENTITY % body-color-attrs "
+ bgcolor %color #IMPLIED
+ text %color #IMPLIED
+ link %color #IMPLIED
+ vlink %color #IMPLIED
+ alink %color #IMPLIED
+ ">
+
+<!ELEMENT BODY O O %body.content>
+<!ATTLIST BODY
+ %attrs;
+ background %URL #IMPLIED -- texture tile for document background --
+ %body-color-attrs; -- bgcolor, text, link, vlink, alink --
+ bgproperties CDATA #IMPLIED
+ leftmargin NUMBER #IMPLIED
+ topmargin NUMBER #IMPLIED
+ >
+
+<![ %HTML.Deprecated [
+ <!ENTITY % address.content "((%text;) | P | CENTER)*">
+]]>
+
+<!ENTITY % address.content "((%text;) | P )*">
+
+<!ELEMENT ADDRESS - - %address.content>
+<!ATTLIST ADDRESS
+ %attrs;
+ >
+
+<!ELEMENT DIV - - %body.content>
+<!ATTLIST DIV
+ %attrs
+ align (left|center|right) left -- alignment of following text --
+ >
+
+<![ %HTML.Deprecated [
+ <!-- CENTER is a shorthand for DIV with ALIGN=CENTER -->
+ <!ELEMENT center - - %mixed.content>
+ <!ATTLIST center
+ %attrs
+ >
+]]>
+
+<!--================== The Anchor Element =================================-->
+
+<!ELEMENT A - - (%text)* -(A)>
+<!ATTLIST A
+ %attrs
+ name CDATA #IMPLIED -- named link end --
+ href %URL #IMPLIED -- URL for linked resource --
+ rel CDATA #IMPLIED -- forward link types --
+ rev CDATA #IMPLIED -- reverse link types --
+ title CDATA #IMPLIED -- advisory title string --
+ target CDATA #IMPLIED -- frame target --
+ >
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ENTITY % SHAPE "(rect|rectangle|circ|circle|poly|polygon|default)">
+<!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->
+
+<!ELEMENT MAP - - (AREA)*>
+<!ATTLIST MAP
+ name CDATA #IMPLIED
+ >
+
+<!ELEMENT AREA - O EMPTY>
+<!ATTLIST AREA
+ %attrs
+ shape %SHAPE rect
+ coords %COORDS #IMPLIED -- always needed except for shape=default --
+ href %URL #IMPLIED -- this region acts as hypertext link --
+ nohref (nohref) #IMPLIED -- this region has no action --
+ alt CDATA #IMPLIED
+ target CDATA #IMPLIED
+ >
+
+<!--================== The LINK Element ==================================-->
+
+<!ENTITY % Types "CDATA"
+ -- See Internet Draft: draft-ietf-html-relrev-00.txt
+ LINK has been part of HTML since the early days
+ although few browsers as yet take advantage of it.
+
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the LINK element in document head:
+ b) to link to a separate style sheet (rel=stylesheet)
+ c) to make a link to a script (rel=script)
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a postscript or pdf version (rel=print)
+-->
+
+<!ELEMENT LINK - O EMPTY>
+<!ATTLIST LINK
+ %attrs;
+ href %URL #IMPLIED -- URL for linked resource --
+ rel %Types #IMPLIED -- forward link types --
+ rev %Types #IMPLIED -- reverse link types --
+ title CDATA #IMPLIED -- advisory title string --
+ >
+
+<!--=================== Images ============================================-->
+
+<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
+<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
+
+<!-- Suggested widths are used for negotiating image size
+ with the module responsible for painting the image.
+ align=left or right cause image to float to margin
+ and for subsequent text to wrap around image -->
+
+<!ENTITY % IAlign "(top|middle|bottom|left|right)">
+
+<!ELEMENT IMG - O EMPTY -- Embedded image -->
+<!ATTLIST IMG
+ %attrs;
+ src %URL #REQUIRED -- URL of image to embed --
+ alt CDATA #IMPLIED -- for display in place of image --
+ align %IAlign #IMPLIED -- vertical or horizontal alignment --
+ height %Pixels #IMPLIED -- suggested height in pixels --
+ width %Pixels #IMPLIED -- suggested width in pixels --
+ border %Pixels #IMPLIED -- suggested link border width --
+ hspace %Pixels #IMPLIED -- suggested horizontal gutter --
+ vspace %Pixels #IMPLIED -- suggested vertical gutter --
+ usemap %URL #IMPLIED -- use client-side image map --
+ ismap (ismap) #IMPLIED -- use server image map --
+ dynsrc %URL #IMPLIED -- URL of image to embed --
+ start NAMES #IMPLIED
+ loop NMTOKEN #IMPLIED
+ controls (controls) #IMPLIED
+ vrml CDATA #IMPLIED
+ >
+
+<!-- USEMAP points to a MAP element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--=================== Java APPLET tag ===================================-->
+<!--
+ This tag is supported by all java enabled browsers. Applet resources
+ (including their classes) are normally loaded relative to the document
+ URL (or <BASE> element if it is defined). The CODEBASE attribute is used
+ to change this default behavior. If the CODEBASE attribute is defined then
+ it specifies a different location to find applet resources. The value
+ can be an absolute URL or a relative URL. The absolute URL is used as is
+ without modification and is not effected by the documents <BASE> element.
+ When the codebase attribute is relative, then it is relative to the
+ document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems
+ with SGML mixed content. It can always be omitted *except* when the APPLET
+ element hasn't any content. White space, comments and PARAM elements
+ don't count as content for this purpose. TEXTFLOW was introduced into
+ the DTD to satisfy SGML parsers, but is ignored by current Web browsers.
+-->
+<!ELEMENT APPLET - - (PARAM*, TEXTFLOW)>
+<!ATTLIST APPLET
+ %attrs
+ codebase %URL #IMPLIED -- code base --
+ code CDATA #REQUIRED -- class file --
+ name CDATA #IMPLIED -- applet name --
+ alt CDATA #IMPLIED -- for display in place of applet --
+ align %IAlign #IMPLIED -- vertical or horizontal alignment --
+ height %Pixels #REQUIRED -- suggested height in pixels --
+ width %Pixels #REQUIRED -- suggested width in pixels --
+ hspace %Pixels #IMPLIED -- suggested horizontal gutter --
+ vspace %Pixels #IMPLIED -- suggested vertical gutter --
+ border NUMBER #IMPLIED
+ >
+
+
+<!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model -->
+
+<!--
+Here is an example:
+
+ <applet codebase="applets/NervousText"
+ code=NervousText.class
+ width=300
+ height=50>
+ <param name=text value="Java is Cool!">
+ <img src=sorry.gif alt="This looks better with Java support">
+ </applet>
+-->
+
+<!--=================== Horizontal Rule ===================================-->
+
+<!ELEMENT HR - O EMPTY>
+<!ATTLIST HR
+ %attrs;
+ align (left|right|center) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels #IMPLIED
+ width %Length #IMPLIED
+ color %color #IMPLIED
+ >
+
+<!--=================== Paragraphs=========================================-->
+
+<![ %HTML.Deprecated [
+ <!ENTITY % P.content "(%text|CENTER)*" >
+]]>
+
+<!ENTITY % P.content "(%text)*" >
+
+<!ELEMENT P - O %P.content >
+<!ATTLIST P
+ %attrs;
+ align (left|center|right) #IMPLIED
+ >
+
+
+<!--=================== Base Font =========================================-->
+
+<!ELEMENT BASEFONT - O EMPTY>
+<!ATTLIST BASEFONT
+ %attrs;
+ size NUMBER #IMPLIED
+ color %color #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--=================== Background Sound =================================-->
+
+<!ELEMENT BGSOUND - O EMPTY>
+<!ATTLIST BGSOUND
+ %attrs;
+ src %URL #IMPLIED
+ loop NMTOKEN #IMPLIED
+ start CDATA #IMPLIED
+ >
+
+<!--=================== Marquee =========================================-->
+
+<!ELEMENT MARQUEE - O (%text)*>
+<!ATTLIST MARQUEE
+ %attrs;
+ align (top|middle|bottom) top
+ behavior (scroll|slide|alternate) SCROLL
+ bgcolor %color #IMPLIED
+ direction (left|right) LEFT
+ height CDATA #IMPLIED
+ hspace NUMBER #IMPLIED
+ loop CDATA #IMPLIED
+ scrollamount NUMBER #IMPLIED
+ scrolldelay NUMBER #IMPLIED
+ vspace NUMBER #IMPLIED
+ width CDATA #IMPLIED
+ border NUMBER #IMPLIED
+ background %URL #IMPLIED -- texture tile for document background --
+ >
+
+<!--=================== Headings ==========================================-->
+
+<!--
+ There are six levels of headers from H1 (the most important)
+ to H6 (the least important).
+-->
+
+<!ELEMENT ( %heading ) - - %P.content >
+<!ATTLIST ( %heading )
+ %attrs
+ align (left|center|right) #IMPLIED
+ >
+
+<!--=================== Preformatted Text =================================-->
+
+<!-- excludes images and changes in font size -->
+
+<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">
+
+<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
+<!ATTLIST PRE
+ %attrs;
+ width NUMBER #implied
+ >
+
+<![ %HTML.Deprecated [
+
+<!ENTITY % literal "CDATA"
+ -- historical, non-conforming parsing mode where
+ the only markup signal is the end tag
+ in full
+ -->
+
+<!ELEMENT (XMP|LISTING) - - %literal>
+<!ELEMENT PLAINTEXT - O %literal>
+
+<!ATTLIST (XMP|LISTING|PLAINTEXT)
+ %attrs;
+ >
+
+]]>
+
+<!--=================== Block-like Quotes =================================-->
+
+<!ELEMENT BLOCKQUOTE - - %body.content>
+<!ATTLIST BLOCKQUOTE
+ %attrs;
+ >
+
+<!--=================== Lists =============================================-->
+
+<!--
+ HTML 3.2 allows you to control the sequence number for ordered lists.
+ You can set the sequence number with the START and VALUE attributes.
+ The TYPE attribute may be used to specify the rendering of ordered
+ and unordered lists.
+-->
+
+<!-- definition lists - DT for term, DD for its definition -->
+
+<!ELEMENT DL - - (DT|DD)*>
+<!ATTLIST DL
+ %attrs;
+ compact (compact) #IMPLIED -- more compact style --
+ >
+
+<!ELEMENT DT - O (%text)*>
+<!ATTLIST DT
+ %attrs;
+ >
+
+<!ELEMENT DD - O %flow;>
+<!ATTLIST DD
+ %attrs;
+ >
+
+<!-- Ordered lists OL, and unordered lists UL -->
+<!ELEMENT (OL|UL) - - (LI)*>
+
+<!--
+ Numbering style
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+
+ This can't be expressed directly in SGML due to case folding.
+-->
+
+<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] -->
+
+<!ATTLIST OL -- ordered lists --
+ %attrs;
+ type %OLStyle #IMPLIED -- numbering style --
+ start NUMBER #IMPLIED -- starting sequence number --
+ compact (compact) #IMPLIED -- reduced interitem spacing --
+ >
+
+<!-- bullet styles -->
+
+<!ENTITY % ULStyle "disc|square|circle">
+
+<!ATTLIST UL -- unordered lists --
+ %attrs;
+ type (%ULStyle) #IMPLIED -- bullet style --
+ compact (compact) #IMPLIED -- reduced interitem spacing --
+ >
+
+<!ELEMENT (DIR|MENU) - - (LI)* -(%block)>
+<!ATTLIST (DIR|MENU)
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- The type attribute can be used to change the bullet style
+ in unordered lists and the numbering style in ordered lists -->
+
+<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" -->
+
+<!ELEMENT LI - O %flow -- list item -->
+<!ATTLIST LI
+ %attrs;
+ type %LIStyle #IMPLIED -- list item style --
+ value NUMBER #IMPLIED -- reset sequence number --
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT FORM - - %body.content -(FORM) +(%formitems)>
+<!ATTLIST FORM
+ %attrs;
+ action %URL #REQUIRED -- server-side form handler --
+ method (%HTTP-Method) GET -- see HTTP specification --
+ enctype %Content-Type; "application/x-www-form-urlencoded"
+ name CDATA #IMPLIED
+ target CDATA #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(TEXT | TEXTAREA | PASSWORD | CHECKBOX | RADIO | SUBMIT
+ | RESET | FILE | HIDDEN | IMAGE)">
+
+<!ELEMENT INPUT - O EMPTY>
+<!ATTLIST INPUT
+ %attrs;
+ type %InputType TEXT -- what kind of widget is needed --
+ name CDATA #IMPLIED -- required for all but submit and reset --
+ value CDATA #IMPLIED -- required for radio and checkboxes --
+ checked (checked|true|false) #IMPLIED -- for radio buttons and check boxes --
+ size CDATA #IMPLIED -- specific to each type of field --
+ maxlength NUMBER #IMPLIED
+ src %URL #IMPLIED -- for fields with background images --
+ align (top|middle|bottom|left|right) top -- image alignment --
+ >
+
+<!ELEMENT SELECT - - (OPTION+)>
+<!ATTLIST SELECT
+ %attrs;
+ name CDATA #REQUIRED
+ size NUMBER #IMPLIED
+ multiple (multiple) #IMPLIED
+ >
+
+<!ELEMENT OPTION - O (#PCDATA)*>
+<!ATTLIST OPTION
+ %attrs;
+ selected (selected) #IMPLIED
+ value CDATA #IMPLIED -- defaults to element content --
+ >
+
+<!-- Multi-line text input field. -->
+
+<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
+<!ATTLIST TEXTAREA
+ %attrs;
+ name CDATA #REQUIRED
+ rows NUMBER #REQUIRED
+ cols NUMBER #REQUIRED
+ >
+
+<!--======================= Tables ========================================-->
+
+<!-- Invoke TABLES DTD -->
+<!ENTITY % ietables PUBLIC "-//Microsoft//DTD Internet Explorer 3.0 Tables//EN" >
+%ietables;
+
+<!--================ Document Head ========================================-->
+
+<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|BGSOUND" -- repeatable head elements -->
+
+<![ %HTML.Deprecated [
+ <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & NEXTID?">
+]]>
+
+<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
+
+<!ELEMENT HEAD O O (%head.content) +(%head.misc)>
+
+<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc)
+ -- The TITLE element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title.
+ -->
+
+<!ELEMENT ISINDEX - O EMPTY>
+<!ATTLIST ISINDEX
+ %attrs
+ prompt CDATA #IMPLIED -- prompt message --
+ action CDATA #IMPLIED >
+
+<!--
+ The BASE element gives an absolute URL for dereferencing relative
+ URLs, e.g.
+
+ <BASE href="http://foo.com/index.html">
+ ...
+ <IMG SRC="images/bar.gif">
+
+ The image is deferenced to
+
+ http://foo.com/images/bar.gif
+
+ In the absence of a BASE element the document URL should be used.
+ Note that this is not necessarily the same as the URL used to
+ request the document, as the base URL may be overridden by an HTTP
+ header accompanying the document.
+-->
+
+<!ELEMENT BASE - O EMPTY>
+<!ATTLIST BASE
+ href %URL #REQUIRED
+ target CDATA #IMPLIED
+ >
+
+<![ %HTML.Deprecated [
+ <!ELEMENT NEXTID - O EMPTY>
+ <!ATTLIST NEXTID
+ N CDATA #REQUIRED >
+]]>
+
+<!ELEMENT META - O EMPTY -- Generic Metainformation -->
+<!ATTLIST META
+ http-equiv NAME #IMPLIED -- HTTP response header name --
+ name NAME #IMPLIED -- metainformation name --
+ content CDATA #REQUIRED -- associated information --
+ charset CDATA #IMPLIED
+ >
+
+<!-- SCRIPT/STYLE are place holders for transition to next version of HTML -->
+
+<!ELEMENT STYLE - - (#PCDATA)* -(%head.misc) -- style info -->
+<!ATTLIST STYLE
+ type CDATA #IMPLIED
+ title CDATA #IMPLIED >
+
+<!-- Script markup taken from WD-script-960208 found at
+ http://www.w3.org/pub/WWW/TR/WD-script.html -->
+
+<!-- SCRIPT is a character-like element for embedding script code
+ that can be placed anywhere in the document HEAD or BODY -->
+
+<!ENTITY % Event "CDATA" -- event name and optional param list -->
+
+<!ELEMENT SCRIPT - - (#PCDATA)* -(%head.misc)>
+<!ATTLIST SCRIPT
+ %attrs;
+ type CDATA #IMPLIED -- script language media type --
+ language CDATA #IMPLIED -- predefined script language name --
+ src %URL #IMPLIED -- URL for an external script --
+ name CDATA #IMPLIED
+ >
+
+<!ELEMENT NOSCRIPT - - (%body.content)>
+<!ATTLIST NOSCRIPT
+ %attrs;
+ >
+
+<!--================ Document Structure ===================================-->
+
+<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
+
+<!ELEMENT HTML O O (HEAD, (BODY|FRAMESET) )>
+<!ATTLIST HTML
+ %attrs
+ %version.attr
+ >
+
+<!-- Frames -->
+
+<!ELEMENT FRAMESET - - (FRAMESET|FRAME|NOFRAMES)+ >
+<!ATTLIST FRAMESET
+ %attrs;
+ layout (TILES|PAGES) TILES
+ rows CDATA #IMPLIED
+ cols CDATA #IMPLIED
+ framespacing CDATA #IMPLIED
+ frameborder NUMBER #IMPLIED
+ >
+
+<!ELEMENT FRAME - O EMPTY >
+<!ATTLIST FRAME
+ %attrs;
+ src CDATA #REQUIRED
+ name CDATA #IMPLIED
+ height NUMBER #IMPLIED
+ hspace NUMBER #IMPLIED
+ width NUMBER #IMPLIED
+ vspace NUMBER #IMPLIED
+ marginwidth NUMBER #IMPLIED -- check this --
+ marginheight NUMBER #IMPLIED -- check this --
+ frameborder CDATA #IMPLIED -- need to check with IE --
+ framespacing NUMBER #IMPLIED
+ scrolling (YES|NO|AUTO) AUTO
+ noresize (NORESIZE) #IMPLIED
+ align (LEFT|CENTER|RIGHT|TOP|TEXTTOP|MIDDLE|ABSMIDDLE|
+ BASELINE|BOTTOM|ABSBOTTOM) #IMPLIED
+ >
+
+<!ELEMENT IFRAME - O EMPTY >
+<!ATTLIST IFRAME
+ %attrs;
+ src CDATA #REQUIRED
+ name CDATA #IMPLIED
+ marginwidth NUMBER #IMPLIED
+ marginheight NUMBER #IMPLIED
+ border CDATA #IMPLIED
+ frameborder CDATA #IMPLIED
+ framespacing NUMBER #IMPLIED
+ scrolling (YES|NO|AUTO) AUTO
+ noresize (NORESIZE) #IMPLIED
+ align (LEFT|CENTER|RIGHT|TOP|MIDDLE|BOTTOM) #IMPLIED
+ >
+
+<!ELEMENT NOFRAMES - - %body.content >
+
+<!-- Objects
+
+Adapted from
+WD-object-960422: Inserting objects into HTM
+http://www.w3.org/pub/WWW/TR/WD-object.html
+5/9/96
+
+-->
+
+<!ENTITY % OAlign "(texttop|middle|textmiddle|baseline|
+ textbottom|left|center|right)">
+
+<!-- OBJECT is a character-like element for inserting objects -->
+<!ELEMENT OBJECT - - (PARAM | %body.content;)*>
+<!ATTLIST OBJECT
+ %attrs -- id, class, style, lang, dir --
+ declare (declare) #IMPLIED -- declare but don't instantiate flag --
+ classid %URL #IMPLIED -- identifies an implementation --
+ codebase %URL #IMPLIED -- some systems need an additional URL --
+ data %URL #IMPLIED -- reference to object's data --
+ type CDATA #IMPLIED -- Internet media type for data --
+ codetype CDATA #IMPLIED -- Internet media type for code --
+ standby CDATA #IMPLIED -- message to show while loading --
+ align %OAlign #IMPLIED -- positioning inside document --
+ height %Length #IMPLIED -- suggested height --
+ width %Length #IMPLIED -- suggested width --
+ border %Length #IMPLIED -- suggested link border width --
+ hspace %Length #IMPLIED -- suggested horizontal gutter --
+ vspace %Length #IMPLIED -- suggested vertical gutter --
+ ismap (ismap) #IMPLIED -- use server image map --
+ usemap %URL #IMPLIED -- reference to image map --
+ shapes (shapes) #IMPLIED -- object has shaped hypertext links --
+ name %URL #IMPLIED -- submit as part of form --
+ >
+
+<!ELEMENT PARAM - O EMPTY -- named property value -->
+<!ATTLIST PARAM
+ name CDATA #REQUIRED -- property name --
+ value CDATA #IMPLIED -- property value --
+ valuetype (DATA|REF|OBJECT) DATA -- How to interpret value --
+ type CDATA #IMPLIED -- Internet media type --
+ >
+
+<![ %HTML.Deprecated [
+
+<!ELEMENT EMBED - - (NOEMBED | %body.content;)* >
+<!ATTLIST EMBED
+ %attrs;
+ name CDATA #IMPLIED
+ height CDATA #IMPLIED
+ width CDATA #IMPLIED
+ param CDATA #IMPLIED
+ src %URL #REQUIRED -- URL of image to embed --
+ >
+
+<!ELEMENT NOEMBED - - EMPTY>
+
+]]>
+
+
diff --git a/htdocs/sgml-lib/ie30tables.dtd b/htdocs/sgml-lib/ie30tables.dtd new file mode 100644 index 0000000..219bb6e --- /dev/null +++ b/htdocs/sgml-lib/ie30tables.dtd @@ -0,0 +1,181 @@ +<!-- Note: I originally excerpted this from the document entitled
+"The HTML3 Table Model" by Dave Raggett, which I found at
+http://www.w3.org/hypertext/WWW/TR/WD-tables. This file
+identified itself as W3C Working Draft, dated 12/22/95. There are
+slight modifications.
+
+Added width attribute to th and td elements.
+
+Version: 11/11/96
+
+-->
+
+<!-- Content model entities imported from parent DTD:
+
+ %body.content; allows table cells to contain headers, paras,
+ lists, form elements and even arbitrarily nested tables.
+
+ %text; is text characters, including character entities and
+ character emphasis elements, IMG and anchors
+-->
+
+<!ENTITY % attrs
+ "id ID #IMPLIED -- element identifier --
+ class NAMES #IMPLIED -- for subclassing elements --
+ style CDATA #IMPLIED -- rendering annotation --
+ lang NAME #IMPLIED -- as per RFC 1766 --
+ -- dir (ltr|rtl) #IMPLIED -- -- I18N text direction --">
+
+<!--
+ The BORDER attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The FRAME attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the VALIGN attribute.
+
+ The value "border" is included for backwards compatibility with
+ <TABLE BORDER> which yields frame=border and border=implied
+ For <TABLE BORDER=1> you get border=1 and frame=implied. In this
+ case, its appropriate to treat this as frame=border for backwards
+ compatibility with deployed browsers.
+-->
+
+<!ENTITY % Frame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The RULES attribute defines which rules to draw between cells:
+
+ If RULES is absent then assume:
+ "none" if BORDER is absent or BORDER=0 otherwise "all"
+-->
+
+<!ENTITY % Rules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to window -->
+<!ENTITY % Where "(left|center|right)">
+<!-- horizontal alignment attributes for cell contents -->
+<!ENTITY % cell.halign
+ "align (left|center|right|justify|char) #IMPLIED
+ char CDATA #IMPLIED -- alignment char, e.g. char=':' --
+ charoff CDATA #IMPLIED -- offset for alignment char --"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cell.valign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table - - (caption?, colgroup*, thead?, tfoot?, tbody+)>
+<!ELEMENT caption - - (%text;)+>
+<!ELEMENT thead - O (tr+)>
+<!ELEMENT tfoot - O (tr+)>
+<!ELEMENT tbody O O (tr+)>
+<!ELEMENT colgroup - O (col*)>
+<!ELEMENT col - O EMPTY>
+<!ELEMENT tr - O (th|td)+>
+<!ELEMENT (th|td) - O %body.content>
+
+<!ATTLIST table -- table element --
+ %attrs; -- id, lang, style, dir and class --
+ align %Where; #IMPLIED -- table position relative to window --
+ width CDATA #IMPLIED -- table width relative to window --
+ cols NUMBER #IMPLIED -- used for immediate display mode --
+ border CDATA #IMPLIED -- controls frame width around table --
+ frame %Frame; #IMPLIED -- which parts of table frame to include --
+ rules %Rules; #IMPLIED -- rulings between rows and cols --
+ cellspacing CDATA #IMPLIED -- spacing between cells --
+ cellpadding CDATA #IMPLIED -- spacing within cells --
+ background %URL #IMPLIED -- background picture --
+ bgcolor CDATA #IMPLIED -- table background color --
+ bordercolor CDATA #IMPLIED -- table border color --
+ bordercolorlight CDATA #IMPLIED -- 3D table border color --
+ bordercolordark CDATA #IMPLIED -- 3D table border color --
+ >
+
+<!-- ALIGN is used here for compatibility with deployed browsers -->
+<!ENTITY % Caption "(top|bottom)">
+
+<!ATTLIST caption -- table caption --
+ %attrs; -- id, lang, style, dir and class --
+ align %Caption; #IMPLIED -- relative to table --
+ height CDATA #IMPLIED -- added for IE3 --
+ width CDATA #IMPLIED -- added for IE3 --
+ >
+
+<!--
+COLGROUP groups a set of COL elements. It allows you to group
+several columns together.
+-->
+
+<!ATTLIST colgroup
+ %attrs; -- id, lang, style, dir and class --
+ span NUMBER 1 -- default number of columns in group --
+ width CDATA #IMPLIED -- default width for enclosed COLs --
+ %cell.halign; -- horizontal alignment in cells --
+ %cell.valign; -- vertical alignment in cells --
+ >
+
+<!--
+ COL elements define the alignment properties for cells in a given
+ column or spanned columns. The WIDTH attribute specifies the
+ width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+-->
+
+<!ATTLIST col -- column groups and properties --
+ %attrs; -- id, lang, style, dir and class --
+ span NUMBER 1 -- number of columns spanned by group --
+ width CDATA #IMPLIED -- column width specification --
+ %cell.halign; -- horizontal alignment in cells --
+ %cell.valign; -- vertical alignment in cells --
+ >
+
+<!--
+ Use THEAD to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ body sections are rendered in scrolling panel.
+
+ Use TFOOT to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ body sections are rendered in scrolling panel.
+
+ Use multiple TBODY sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST (thead|tbody|tfoot) -- table section --
+ %attrs; -- id, lang, style, dir and class --
+ %cell.halign; -- horizontal alignment in cells --
+ %cell.valign; -- vertical alignment in cells --
+ >
+
+<!ATTLIST tr -- table row --
+ %attrs; -- id, lang, style, dir and class --
+ %cell.halign; -- horizontal alignment in cells --
+ %cell.valign; -- vertical alignment in cells --
+ bgcolor CDATA #IMPLIED -- table background color --
+ bordercolor CDATA #IMPLIED -- table border color --
+ bordercolorlight CDATA #IMPLIED -- 3D table border color --
+ bordercolordark CDATA #IMPLIED -- 3D table border color --
+ >
+
+<!ATTLIST (th|td) -- header or data cell --
+ %attrs; -- id, lang, style, dir and class --
+ axis CDATA #IMPLIED -- defaults to cell content --
+ axes CDATA #IMPLIED -- list of axis names --
+ nowrap (nowrap) #IMPLIED -- suppress word wrap --
+ rowspan NUMBER 1 -- number of rows spanned by cell --
+ colspan NUMBER 1 -- number of cols spanned by cell --
+ %cell.halign; -- horizontal alignment in cells --
+ %cell.valign; -- vertical alignment in cells --
+ background CDATA #IMPLIED -- background graphic --
+ bgcolor CDATA #IMPLIED -- background color for cell --
+ bordercolor CDATA #IMPLIED -- cell border color --
+ bordercolorlight CDATA #IMPLIED -- 3D cell border color --
+ bordercolordark CDATA #IMPLIED -- 3D cell border color --
+ height CDATA #IMPLIED
+ width CDATA #IMPLIED
+ >
+
diff --git a/htdocs/sgml-lib/iehtml-s.dtd b/htdocs/sgml-lib/iehtml-s.dtd new file mode 100644 index 0000000..0bf7eef --- /dev/null +++ b/htdocs/sgml-lib/iehtml-s.dtd @@ -0,0 +1,24 @@ +<!-- html-s.dtd
+
+ Document Type Definition for HTML that works with Internet Explorer,
+ based on IETF's Strict HTML DTD.
+-->
+
+<!ENTITY % HTML.Version
+ "-//Microsoft//DTD Internet Explorer 2.0 HTML Strict//EN"
+
+ -- Typical usage:
+
+ <!DOCTYPE HTML PUBLIC
+ "-//Microsoft//DTD Internet Explorer 2.0 HTML Strict//EN">
+ <html>
+ ...
+ </html>
+ --
+ >
+
+<!-- Feature Test Entities -->
+<!ENTITY % HTML.Recommended "INCLUDE">
+
+<!ENTITY % html PUBLIC "-//Microsoft//DTD Internet Explorer 2.0 HTML//EN">
+%html;
diff --git a/htdocs/sgml-lib/iehtml.dtd b/htdocs/sgml-lib/iehtml.dtd new file mode 100644 index 0000000..aeb1984 --- /dev/null +++ b/htdocs/sgml-lib/iehtml.dtd @@ -0,0 +1,835 @@ +<!-- DTD for Internet Explorer 2.0 HTML
+
+ Beta version: 0.9 Date: 3/4/96
+
+ Document Type Definition for the HyperText Markup Language
+ for Internet Explorer, V 2.0.
+
+ Author: Mark Buckley <mbuckley@microsoft.com>
+
+ This markup is based as much as possible on the DTD for HTML 2.0
+ published in the 12/95 IETF working draft. Table markup is based
+ on the table DTD included in the HTML3 DTD, not the 12/95 tables
+ draft.
+
+ Note that SGML Document Access (SDA) fixed attributes have not
+ necessarily been worked out yet for added elements.
+
+ Principal changes from the IETF DTD:
+
+ Took out the HTML.Highlighting and HTML.Forms marked sections.
+ Highlighting and form elements are now always included.
+
+ Moved entity declarations for common content models together & up
+ top in the DTD to allow for more effective recombination for the
+ deprecated case.
+
+ Moved DL into %lists for simplification.
+
+ Added IE HTML extensions and most Netscape extensions.
+
+ Changes since 2/26/96:
+
+ 3/4/96:
+ Added BGSOUND to HEAD.
+
+
+-->
+
+<!ENTITY % HTML.Version "-//Microsoft//DTD Internet Explorer 2.0 HTML//EN" >
+
+
+<!--============ Feature Test Entities ========================-->
+
+<!ENTITY % HTML.Recommended "IGNORE"
+ -- Certain features of the language are necessary for
+ compatibility with widespread usage, but they may
+ compromise the structural integrity of a document.
+ This feature test entity enables a more prescriptive
+ document type definition that eliminates
+ those features.
+ -->
+
+<![ %HTML.Recommended [
+ <!ENTITY % HTML.Deprecated "IGNORE">
+]]>
+
+<!ENTITY % HTML.Deprecated "INCLUDE"
+ -- Certain features of the language are necessary for
+ compatibility with earlier versions of the specification,
+ but they tend to be used and implemented inconsistently,
+ and their use is deprecated. This feature test entity
+ enables a document type definition that eliminates
+ these features.
+ -->
+
+
+<!--============== Imported Names ==============================-->
+
+<!ENTITY % Content-Type "CDATA"
+ -- meaning an internet media type
+ (aka MIME content type, as per RFC1521)
+ -->
+
+<!ENTITY % HTTP-Method "GET | POST"
+ -- as per HTTP specification, in progress
+ -->
+
+
+<!--======= Character mnemonic entities =================-->
+
+<!ENTITY % ISOlat1 PUBLIC
+ "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
+%ISOlat1;
+
+<!ENTITY amp CDATA "&" -- ampersand -->
+<!ENTITY gt CDATA ">" -- greater than -->
+<!ENTITY lt CDATA "<" -- less than -->
+<!ENTITY quot CDATA """ -- double quote -->
+
+
+<!ENTITY nbsp SDATA "[nbsp ]" -- non-breaking space -->
+<!ENTITY reg SDATA "®" -- registered trademark symbol -->
+<!ENTITY copy SDATA "©" -- copyright symbol -->
+
+
+<!--========= SGML Document Access (SDA) Parameter Entities =====-->
+
+<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes
+in support of easy transformation to the International Committee
+for Accessible Document Design (ICADD) DTD
+ "-//EC-USA-CDA/ICADD//DTD ICADD22//EN".
+ICADD applications are designed to support usable access to
+structured information by print-impaired individuals through
+Braille, large print and voice synthesis. For more information on
+SDA & ICADD:
+ - ISO 12083:1993, Annex A.8, Facilities for Braille,
+ large print and computer voice
+ - ICADD ListServ
+ <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu>
+ - Usenet news group bit.listserv.easi
+ - Recording for the Blind, +1 800 221 4792
+-->
+
+<!ENTITY % SDAFORM "SDAFORM CDATA #FIXED"
+ -- one to one mapping -->
+<!ENTITY % SDARULE "SDARULE CDATA #FIXED"
+ -- context-sensitive mapping -->
+<!ENTITY % SDAPREF "SDAPREF CDATA #FIXED"
+ -- generated text prefix -->
+<!ENTITY % SDASUFF "SDASUFF CDATA #FIXED"
+ -- generated text suffix -->
+<!ENTITY % SDASUSP "SDASUSP NAME #FIXED"
+ -- suspend transform process -->
+
+<!--========= Common attributes ============================================-->
+
+<!ENTITY % attrs -- common attributes. Taken from the HTML 3 DTD --
+ 'id ID #IMPLIED -- as target for hrefs (link ends) --
+ lang CDATA "en.us" -- ISO language, country code --
+ class NAMES #IMPLIED -- for subclassing elements --'>
+
+<!--========= Common content models and element groups =====================-->
+
+
+<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
+
+<!ENTITY % list "UL | OL | DL | DIR | MENU" >
+
+<!ENTITY % mmobjects "IMG|MAP|FETCH|BGSOUND|MARQUEE" >
+
+<!ENTITY % font "TT | B | I | U | STRIKE | FONT">
+
+<![ %HTML.Deprecated [
+ <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE
+ | DFN | ENTITY">
+]]>
+
+<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE">
+
+<!ENTITY % break "BR | NOBR | WBR" >
+
+<!ENTITY % text "#PCDATA | A | %mmobjects | %break | %phrase | %font">
+
+<!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX">
+
+<![ %HTML.Deprecated [
+ <!ENTITY % preformatted "PRE | XMP | LISTING">
+]]>
+
+<!ENTITY % preformatted "PRE">
+
+<![ %HTML.Deprecated [
+<!ENTITY % block "P | TABLE
+ | %list
+ | %preformatted
+ | %block.forms
+ | COMMENT
+ | CENTER">
+]]>
+
+<!ENTITY % block "P | TABLE
+ | %list
+ | %preformatted
+ | %block.forms
+ | CENTER">
+
+<!ENTITY % mixed.content "(%heading|%text|%block|HR|ADDRESS|BASEFONT)*" >
+
+<![ %HTML.Recommended [
+ <!ENTITY % body.content "(%heading|%block|%mmobjects|HR|ADDRESS|BASEFONT)*" >
+]]>
+
+<!ENTITY % body.content "%mixed.content" >
+
+<![ %HTML.Recommended [
+ <!ENTITY % font.content "(%text)*" >
+]]>
+
+<!ENTITY % font.content "(%body.content)*" >
+
+<!ENTITY % flow "(%text|%block)*">
+
+
+<!--========== Text Markup =====================-->
+<!ELEMENT (%font) - - %font.content >
+
+<!ELEMENT (%phrase) - - (%text)* >
+
+<!ATTLIST FONT
+ %attrs;
+ SIZE NUMBER #IMPLIED
+ COLOR CDATA #IMPLIED
+ FACE CDATA #IMPLIED
+ >
+
+<!ATTLIST ( TT | CODE | SAMP | KBD | VAR )
+ %attrs;
+ %SDAFORM; "Lit"
+ >
+<!ATTLIST ( B | STRONG )
+ %attrs;
+ %SDAFORM; "B"
+ >
+<!ATTLIST ( I | EM | CITE )
+ %attrs;
+ %SDAFORM; "It"
+ >
+
+<!ATTLIST (U | STRIKE)
+ %attrs;
+ >
+
+<![ %HTML.Deprecated [
+<!ATTLIST (DFN | ENTITY)
+ %attrs;
+ >
+]]>
+
+<!-- <FONT> Font -->
+<!-- <TT> Typewriter text -->
+<!-- <B> Bold text -->
+<!-- <I> Italic text -->
+<!-- <U> Underlined text -->
+
+<!-- <EM> Emphasized phrase -->
+<!-- <STRONG> Strong emphasis -->
+<!-- <CODE> Source code phrase -->
+<!-- <SAMP> Sample text or characters -->
+<!-- <KBD> Keyboard phrase, e.g. user input -->
+<!-- <VAR> Variable phrase or substitutable -->
+<!-- <CITE> Name or title of cited work -->
+
+<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
+
+<!ELEMENT BR - O EMPTY>
+<!ATTLIST BR
+ %attrs;
+ CLEAR (ALL|LEFT|RIGHT) #IMPLIED
+ %SDAPREF; "&#RE;"
+ >
+
+<!-- <BR> Line break -->
+
+<!ELEMENT NOBR - O EMPTY>
+<!ATTLIST NOBR
+ %attrs;
+ >
+
+<!-- <NOBR> Disallow Line break -->
+
+<!ELEMENT WBR - O EMPTY>
+<!ATTLIST WBR
+ %attrs;
+ >
+
+<!-- <WBR> Word break -->
+
+<!--========= Link Markup ======================-->
+
+<!ENTITY % linkType "NAMES">
+
+<!ENTITY % linkExtraAttributes
+ "REL %linkType #IMPLIED
+ REV %linkType #IMPLIED
+ URN CDATA #IMPLIED
+ TITLE CDATA #IMPLIED
+ METHODS NAMES #IMPLIED
+ ">
+
+<![ %HTML.Recommended [
+ <!ENTITY % A.content "(%text)*"
+ -- <H1><a name="xxx">Heading</a></H1>
+ is preferred to
+ <a name="xxx"><H1>Heading</H1></a>
+ -->
+]]>
+
+<!ENTITY % A.content "(%heading|%text)*">
+
+<!ELEMENT A - - %A.content -(A)>
+<!ATTLIST A
+ %attrs;
+ HREF CDATA #IMPLIED
+ NAME CDATA #IMPLIED
+ X-SIZE NUMBER #IMPLIED
+ NOCACHE (NOCACHE) #IMPLIED
+ %linkExtraAttributes;
+ %SDAPREF; "<Anchor: #AttList>"
+ >
+<!-- <A> Anchor; source/destination of link -->
+<!-- <A NAME="..."> Name of this anchor -->
+<!-- <A HREF="..."> Address of link destination -->
+<!-- <A URN="..."> Permanent address of destination -->
+<!-- <A REL=...> Relationship to destination -->
+<!-- <A REV=...> Relationship of destination to this -->
+<!-- <A TITLE="..."> Title of destination (advisory) -->
+<!-- <A METHODS="..."> Operations on destination (advisory) -->
+
+
+<!--========== Images ==========================-->
+
+<!ELEMENT IMG - O EMPTY>
+<!ATTLIST IMG
+ %attrs;
+ SRC CDATA #REQUIRED
+ DYNSRC CDATA #IMPLIED
+ LOOP NMTOKEN #IMPLIED
+ START CDATA #IMPLIED
+ BORDER NUMBER #IMPLIED
+ ALT CDATA #IMPLIED
+ ALIGN (LEFT|RIGHT|TOP|TEXTTOP|MIDDLE|ABSMIDDLE|
+ BASELINE|BOTTOM|ABSBOTTOM) #IMPLIED
+ -- Values supported by IE2:
+ (LEFT|RIGHT|TOP||MIDDLE|BOTTOM) --
+ ISMAP (ISMAP) #IMPLIED
+ USEMAP CDATA #IMPLIED
+ HEIGHT CDATA #IMPLIED
+ WIDTH CDATA #IMPLIED
+ VSPACE NUMBER #IMPLIED
+ HSPACE NUMBER #IMPLIED
+ CONTROLS (CONTROLS) #IMPLIED
+ VRML CDATA #IMPLIED
+ %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>"
+ >
+
+<!-- <IMG> Image; icon, glyph or illustration -->
+<!-- <IMG SRC="..."> Address of image object -->
+<!-- <IMG ALT="..."> Textual alternative -->
+<!-- <IMG ALIGN=...> Position relative to text -->
+<!-- <IMG ISMAP> Each pixel can be a link -->
+
+<!ELEMENT MAP - - (AREA)+>
+<!ATTLIST MAP
+ %attrs;
+ NAME CDATA #REQUIRED
+ >
+
+<!-- <MAP> Map -->
+
+<!ELEMENT AREA - O EMPTY>
+<!ATTLIST AREA
+ %attrs;
+ COORDS CDATA #IMPLIED
+ HREF CDATA #IMPLIED
+ NOHREF (NOHREF) #IMPLIED
+ SHAPE (RECT|RECTANGLE|CIRC|CIRCLE|POLY|POLYGON) #IMPLIED
+ ALT CDATA #IMPLIED
+ >
+
+<!-- <AREA> Area -->
+
+<!ELEMENT FETCH - O EMPTY>
+<!ATTLIST FETCH
+ %attrs;
+ DESC CDATA #IMPLIED
+ GUID CDATA #IMPLIED
+ REQUIRED CDATA #IMPLIED
+ SRC CDATA #IMPLIED
+ TS CDATA #IMPLIED
+ >
+
+<!-- <FETCH> Fetc -->
+
+<!--========== Paragraphs=======================-->
+
+<!ELEMENT P - O (%text|CENTER)*>
+<!ATTLIST P
+ %attrs;
+ %SDAFORM; "Para"
+ ALIGN (CENTER) #IMPLIED
+ >
+
+<!-- <P> Paragraph -->
+
+
+<!--========== Headings, Titles, Sections ===============-->
+
+<!ELEMENT HR - O EMPTY>
+<!ATTLIST HR
+ %attrs;
+ %SDAPREF; "&#RE;&#RE;"
+ SIZE NUMBER #IMPLIED
+ WIDTH CDATA #IMPLIED
+ ALIGN (LEFT|RIGHT|CENTER) #IMPLIED
+ NOSHADE (NOSHADE) #IMPLIED -- Not supported by IE2 --
+ >
+
+<!-- <HR> Horizontal rule -->
+
+<!ELEMENT ( %heading ) - - (%text;|CENTER)*>
+<!ATTLIST H1
+ %attrs;
+ ALIGN (CENTER) #IMPLIED
+ %SDAFORM; "H1"
+ >
+<!ATTLIST H2
+ %attrs;
+ ALIGN (CENTER) #IMPLIED
+ %SDAFORM; "H2"
+ >
+<!ATTLIST H3
+ %attrs;
+ ALIGN (CENTER) #IMPLIED
+ %SDAFORM; "H3"
+ >
+<!ATTLIST H4
+ %attrs;
+ ALIGN (CENTER) #IMPLIED
+ %SDAFORM; "H4"
+ >
+<!ATTLIST H5
+ %attrs;
+ ALIGN (CENTER) #IMPLIED
+ %SDAFORM; "H5"
+ >
+<!ATTLIST H6
+ %attrs;
+ ALIGN (CENTER) #IMPLIED
+ %SDAFORM; "H6"
+ >
+
+<!-- <H1> Heading, level 1 -->
+<!-- <H2> Heading, level 2 -->
+<!-- <H3> Heading, level 3 -->
+<!-- <H4> Heading, level 4 -->
+<!-- <H5> Heading, level 5 -->
+<!-- <H6> Heading, level 6 -->
+
+
+<!--========== Text Flows ======================-->
+
+
+<!ELEMENT PRE - - (%pre.content)*>
+<!ATTLIST PRE
+ %attrs;
+ WIDTH CDATA #implied
+ %SDAFORM; "Lit"
+ >
+
+<!-- <PRE> Preformatted text -->
+<!-- <PRE WIDTH=...> Maximum characters per line -->
+
+<![ %HTML.Deprecated [
+
+<!ENTITY % literal "CDATA"
+ -- historical, non-conforming parsing mode where
+ the only markup signal is the end tag
+ in full
+ -->
+
+<!ELEMENT (XMP|LISTING) - - %literal>
+<!ATTLIST XMP
+ %attrs;
+ %SDAFORM; "Lit"
+ %SDAPREF; "Example:&#RE;"
+ >
+<!ATTLIST LISTING
+ %attrs;
+ %SDAFORM; "Lit"
+ %SDAPREF; "Listing:&#RE;"
+ >
+
+<!-- <XMP> Example section -->
+<!-- <LISTING> Computer listing -->
+
+<!ELEMENT PLAINTEXT - O %literal>
+<!-- <PLAINTEXT> Plain text passage -->
+
+<!ATTLIST PLAINTEXT
+ %attrs;
+ %SDAFORM; "Lit"
+ >
+]]>
+
+
+<!--========== Lists ==================-->
+
+<!ELEMENT DL - - (DT | DD)+>
+<!ATTLIST DL
+ %attrs;
+ COMPACT (COMPACT) #IMPLIED
+ %SDAFORM; "List"
+ %SDAPREF; "Definition List:"
+ >
+
+<!ELEMENT DT - O (%text)*>
+<!ATTLIST DT
+ %attrs;
+ %SDAFORM; "Term"
+ >
+
+<!ELEMENT DD - O %flow>
+<!ATTLIST DD
+ %attrs;
+ %SDAFORM; "LItem"
+ >
+
+<!-- <DL> Definition list, or glossary -->
+<!-- <DL COMPACT> Compact style list -->
+<!-- <DT> Term in definition list -->
+<!-- <DD> Definition of term -->
+
+<!ELEMENT (OL|UL) - - (LI)+>
+<!ATTLIST OL
+ %attrs;
+ COMPACT (COMPACT) #IMPLIED
+ %SDAFORM; "List"
+ TYPE CDATA #IMPLIED
+ START NUMBER #IMPLIED
+ >
+<!ATTLIST UL
+ %attrs;
+ COMPACT (COMPACT) #IMPLIED
+ %SDAFORM; "List"
+ TYPE (DISC|CIRCLE|SQUARE) #IMPLIED -- Not supported by IE2 --
+ >
+<!-- <UL> Unordered list -->
+<!-- <UL COMPACT> Compact list style -->
+<!-- <OL> Ordered, or numbered list -->
+<!-- <OL COMPACT> Compact list style -->
+
+
+<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
+<!ATTLIST DIR
+ %attrs;
+ COMPACT (COMPACT) #IMPLIED
+ %SDAFORM; "List"
+ %SDAPREF; "<LHead>Directory</LHead>"
+ >
+<!ATTLIST MENU
+ %attrs;
+ COMPACT (COMPACT) #IMPLIED
+ %SDAFORM; "List"
+ %SDAPREF; "<LHead>Menu</LHead>"
+ >
+
+<!-- <DIR> Directory list -->
+<!-- <DIR COMPACT> Compact list style -->
+<!-- <MENU> Menu list -->
+<!-- <MENU COMPACT> Compact list style -->
+
+<!ELEMENT LI - O %flow>
+<!ATTLIST LI
+ %attrs;
+ %SDAFORM; "LItem"
+ TYPE CDATA #IMPLIED
+ VALUE NUMBER #IMPLIED
+ >
+
+<!-- <LI> List item -->
+
+<!--========== Document Body ===================-->
+
+<!ELEMENT BODY O O %body.content >
+<!ATTLIST BODY
+ %attrs;
+ BACKGROUND CDATA #IMPLIED
+ BGCOLOR CDATA #IMPLIED
+ BGPROPERTIES CDATA #IMPLIED
+ LEFTMARGIN NUMBER #IMPLIED
+ TOPMARGIN NUMBER #IMPLIED
+ TEXT CDATA #IMPLIED
+ LINK CDATA #IMPLIED
+ VLINK CDATA #IMPLIED
+ ALINK CDATA #IMPLIED
+ >
+
+<!-- <BODY> Document body -->
+
+
+<!ELEMENT CENTER - - %mixed.content >
+<!ATTLIST CENTER
+ %attrs;
+ %SDAFORM; "Para"
+ >
+
+<!-- <CENTER> Center -->
+
+<![ %HTML.Deprecated [
+<!ELEMENT COMMENT - - (%text|CENTER)*>
+
+<!-- <COMMENT> Comment -->
+]]>
+
+<!ELEMENT BASEFONT - O EMPTY>
+<!ATTLIST BASEFONT
+ %attrs;
+ SIZE NUMBER #IMPLIED
+ COLOR CDATA #IMPLIED
+ FACE CDATA #IMPLIED
+ >
+
+<!-- <BASEFONT> Basefont -->
+
+<!ELEMENT BGSOUND - O EMPTY>
+<!ATTLIST BGSOUND
+ %attrs;
+ SRC CDATA #IMPLIED
+ LOOP NMTOKEN #IMPLIED
+ >
+
+<!-- <BGSOUND> Background sound.
+ Only one background sound should exist in a document. -->
+
+<!ELEMENT MARQUEE - O (%text)*>
+<!ATTLIST MARQUEE
+ %attrs;
+ ALIGN (TOP|MIDDLE|BOTTOM) MIDDLE -- is this the right default? --
+ DIRECTION (LEFT|RIGHT) LEFT
+ BEHAVIOR (SCROLL|SLIDE|ALTERNATE) SCROLL
+ SCROLLAMOUNT NUMBER #IMPLIED
+ SCROLLDELAY NUMBER #IMPLIED
+ LOOP CDATA "INFINITE" -- is this the right default? --
+ BGCOLOR CDATA #IMPLIED
+ BORDER NUMBER #IMPLIED
+ HEIGHT CDATA #IMPLIED
+ WIDTH CDATA #IMPLIED
+ HSPACE NUMBER #IMPLIED
+ VSPACE NUMBER #IMPLIED
+ >
+
+<!-- <MARQUEE> Marquee -->
+
+<!ELEMENT BLOCKQUOTE - - %body.content>
+<!ATTLIST BLOCKQUOTE
+ %attrs;
+ %SDAFORM; "BQ"
+ >
+
+<!-- <BLOCKQUOTE> Quoted passage -->
+
+<!ELEMENT ADDRESS - - (%text|P|CENTER)*>
+<!ATTLIST ADDRESS
+ %attrs;
+ %SDAFORM; "Lit"
+ %SDAPREF; "Address:&#RE;"
+ >
+
+<!-- <ADDRESS> Address, signature, or byline -->
+
+
+<!--======= Forms ====================-->
+
+<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
+<!ATTLIST FORM
+ %attrs;
+ ACTION CDATA #IMPLIED
+ METHOD (%HTTP-Method) GET
+ ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
+ %SDAPREF; "<Para>Form:</Para>"
+ %SDASUFF; "<Para>Form End.</Para>"
+ >
+
+<!-- <FORM> Fill-out or data-entry form -->
+<!-- <FORM ACTION="..."> Address for completed form -->
+<!-- <FORM METHOD=...> Method of submitting form -->
+<!-- <FORM ENCTYPE="..."> Representation of form data -->
+
+<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
+ RADIO | SUBMIT | RESET |
+ IMAGE | HIDDEN )">
+<!ELEMENT INPUT - O EMPTY>
+<!ATTLIST INPUT
+ %attrs;
+ TYPE %InputType TEXT
+ NAME CDATA #IMPLIED
+ VALUE CDATA #IMPLIED
+ SRC CDATA #IMPLIED
+ CHECKED (CHECKED) #IMPLIED
+ SIZE CDATA #IMPLIED
+ MAXLENGTH NUMBER #IMPLIED
+ ALIGN (TOP|MIDDLE|BOTTOM) #IMPLIED
+ %SDAPREF; "Input: "
+ >
+
+<!-- <INPUT> Form input datum -->
+<!-- <INPUT TYPE=...> Type of input interaction -->
+<!-- <INPUT NAME=...> Name of form datum -->
+<!-- <INPUT VALUE="..."> Default/initial/selected value -->
+<!-- <INPUT SRC="..."> Address of image -->
+<!-- <INPUT CHECKED> Initial state is "on" -->
+<!-- <INPUT SIZE=...> Field size hint -->
+<!-- <INPUT MAXLENGTH=...> Data length maximum -->
+<!-- <INPUT ALIGN=...> Image alignment -->
+
+<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)>
+<!ATTLIST SELECT
+ %attrs;
+ NAME CDATA #REQUIRED
+ SIZE NUMBER #IMPLIED
+ MULTIPLE (MULTIPLE) #IMPLIED
+ %SDAFORM; "List"
+ %SDAPREF;
+ "<LHead>Select #AttVal(Multiple)</LHead>"
+ >
+
+<!-- <SELECT> Selection of option(s) -->
+<!-- <SELECT NAME=...> Name of form datum -->
+<!-- <SELECT SIZE=...> Options displayed at a time -->
+<!-- <SELECT MULTIPLE> Multiple selections allowed -->
+
+<!ELEMENT OPTION - O (#PCDATA)*>
+<!ATTLIST OPTION
+ %attrs;
+ SELECTED (SELECTED) #IMPLIED
+ VALUE CDATA #IMPLIED
+ %SDAFORM; "LItem"
+ %SDAPREF;
+ "Option: #AttVal(Value) #AttVal(Selected)"
+ >
+
+<!-- <OPTION> A selection option -->
+<!-- <OPTION SELECTED> Initial state -->
+<!-- <OPTION VALUE="..."> Form datum value for this option-->
+
+<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
+<!ATTLIST TEXTAREA
+ %attrs;
+ NAME CDATA #REQUIRED
+ ROWS NUMBER #REQUIRED
+ COLS NUMBER #REQUIRED
+ %SDAFORM; "Para"
+ %SDAPREF; "Input Text -- #AttVal(Name): "
+ >
+
+<!-- <TEXTAREA> An area for text input -->
+<!-- <TEXTAREA NAME=...> Name of form datum -->
+<!-- <TEXTAREA ROWS=...> Height of area -->
+<!-- <TEXTAREA COLS=...> Width of area -->
+
+
+<!--======= Document Head ======================-->
+
+<![ %HTML.Recommended [
+ <!ENTITY % head.extra "">
+]]>
+<!ENTITY % head.extra "& NEXTID?">
+
+<!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra">
+
+<!ELEMENT HEAD O O ((%head.content),BGSOUND*) +(META|LINK)>
+
+<!-- <HEAD> Document head -->
+
+<!ELEMENT TITLE - - (#PCDATA)* -(META|LINK)>
+<!ATTLIST TITLE
+ %attrs;
+ %SDAFORM; "Ti" >
+
+<!-- <TITLE> Title of document -->
+
+<!ELEMENT LINK - O EMPTY>
+<!ATTLIST LINK
+ HREF CDATA #REQUIRED
+ %linkExtraAttributes;
+ %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>" >
+
+<!-- <LINK> Link from this document -->
+<!-- <LINK HREF="..."> Address of link destination -->
+<!-- <LINK URN="..."> Lasting name of destination -->
+<!-- <LINK REL=...> Relationship to destination -->
+<!-- <LINK REV=...> Relationship of destination to this -->
+<!-- <LINK TITLE="..."> Title of destination (advisory) -->
+<!-- <LINK METHODS="..."> Operations allowed (advisory) -->
+
+<!ELEMENT ISINDEX - O EMPTY>
+<!ATTLIST ISINDEX
+ %attrs;
+ %SDAPREF;
+ "<Para>[Document is indexed/searchable.]</Para>"
+ PROMPT CDATA #IMPLIED
+ ACTION CDATA #IMPLIED
+ >
+
+<!-- <ISINDEX> Document is a searchable index -->
+
+<!ELEMENT BASE - O EMPTY>
+<!ATTLIST BASE
+ %attrs;
+ HREF CDATA #REQUIRED >
+
+<!-- <BASE> Base context document -->
+<!-- <BASE HREF="..."> Address for this document -->
+
+<![ %HTML.Deprecated [
+<!ELEMENT NEXTID - O EMPTY>
+<!ATTLIST NEXTID
+ %attrs;
+ N CDATA #REQUIRED >
+
+<!-- <NEXTID> Next ID to use for link name -->
+<!-- <NEXTID N=...> Next ID to use for link name -->
+]]>
+
+<!ELEMENT META - O EMPTY>
+<!ATTLIST META
+ HTTP-EQUIV NAME #IMPLIED
+ NAME NAME #IMPLIED
+ CONTENT CDATA #REQUIRED >
+
+<!-- <META> Generic Meta-information -->
+<!-- <META HTTP-EQUIV=...> HTTP response header name -->
+<!-- <META NAME=...> Meta-information name -->
+<!-- <META CONTENT="..."> Associated information -->
+
+<!--======= Document Structure =================-->
+
+<![ %HTML.Deprecated [
+ <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
+]]>
+<!ENTITY % html.content "HEAD, BODY">
+
+<!ELEMENT HTML O O (%html.content)>
+<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
+
+<!ATTLIST HTML
+ %version.attr;
+ %SDAFORM; "Book"
+ >
+
+<!-- <HTML> HTML Document -->
+
+<!-- Invoke TABLES DTD -->
+<!ENTITY % ietables PUBLIC "-//Microsoft//DTD Internet Explorer 2.0 Tables//EN" >
+%ietables;
diff --git a/htdocs/sgml-lib/ietables.dtd b/htdocs/sgml-lib/ietables.dtd new file mode 100644 index 0000000..bc1a425 --- /dev/null +++ b/htdocs/sgml-lib/ietables.dtd @@ -0,0 +1,110 @@ +<!-- DTD for Internet Explorer 2.0 Tables
+
+ Beta Version 0.9 Date: 2/26/96
+
+ This markup is based on the tables markup
+ contained in the IETF March 1995 Draft HTML3 DTD.
+
+ Attributes have been added as noted.
+
+ Typical invocation:
+
+ <!ENTITY % ietables PUBLIC
+ "-//Microsoft//DTD Internet Explorer 2.0 Tables//EN" >
+
+-->
+
+<!ENTITY % attrs -- common attributes for elements --
+ 'id ID #IMPLIED -- as target for hrefs (link ends) --
+ lang CDATA "en.us" -- ISO language, country code --
+ class NAMES #IMPLIED -- for subclassing elements --'>
+
+<!ENTITY % needs -- Attributes for controlling text flow. Used in headers
+ and other elements to guarantee sufficient room --
+ 'clear CDATA "no" -- (left|right|all|no) move down past figures --
+ needs CDATA #IMPLIED -- minimum width needed in em"s or pixels --
+ -- e.g. "40 em" or "100 pixels" --'>
+
+<!ENTITY % cell "TH | TD">
+<!ENTITY % horiz.align "left|center|right|justify">
+<!ENTITY % vert.align "top|middle|bottom|baseline">
+<!ENTITY % block.align
+ "align (bleedleft|left|center|right|bleedright|justify) center">
+
+
+<!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data -->
+<!ATTLIST TABLE
+ %attrs;
+ %needs; -- for control of text flow --
+ border NUMBER #IMPLIED -- draw borders --
+ colspec CDATA #IMPLIED -- column widths and alignment.
+ Not supported by IE2 --
+ units (en|pixels|relative) en -- units for column widths
+ Not supported by IE2 --
+ dp CDATA #IMPLIED -- decimal point e.g. dp=","
+ Not supported by IE2 --
+ width CDATA #IMPLIED -- absolute or percentage width --
+ %block.align; -- horizontal alignment --
+ valign (%vert.align) top -- vertical alignment --
+ noflow (noflow) #IMPLIED -- noflow around table
+ Not supported by IE2 --
+ nowrap (nowrap) #IMPLIED -- don't wrap words --
+
+ -- Added for IE2 --
+ bgcolor CDATA #IMPLIED -- Table background color --
+ bordercolor CDATA #IMPLIED -- table border color --
+ bordercolorlight CDATA #IMPLIED -- 3D table border color --
+ bordercolordark CDATA #IMPLIED -- 3D table border color --
+ cellpadding NUMBER #IMPLIED -- cell padding. --
+ cellspacing NUMBER #IMPLIED -- cell spacing --
+ >
+
+<!ELEMENT TR - O (%cell)* -- row container -->
+<!ATTLIST TR
+ %attrs;
+ align (%horiz.align) #IMPLIED -- horizontal alignment --
+ valign (%vert.align) top -- vertical alignment --
+ dp CDATA #IMPLIED -- decimal point e.g. dp=","
+ Not supported by IE2 --
+ nowrap (nowrap) #IMPLIED -- don't wrap words --
+
+ -- Added for IE2 --
+ bgcolor CDATA #IMPLIED -- background color for cell --
+ bordercolor CDATA #IMPLIED -- cell border color --
+ bordercolorlight CDATA #IMPLIED -- 3D cell border color --
+ bordercolordark CDATA #IMPLIED -- 3D cell border color --
+ width CDATA #IMPLIED -- cell width --
+ >
+
+<!ELEMENT (%cell) - O %body.content>
+<!ATTLIST (%cell)
+ %attrs;
+ colspan NUMBER 1 -- columns spanned --
+ rowspan NUMBER 1 -- rows spanned --
+ align (%horiz.align) #IMPLIED -- horizontal alignment --
+ valign (%vert.align) top -- vertical alignment --
+ dp CDATA #IMPLIED -- decimal point e.g. dp=","
+ Not supported by IE2 --
+ nowrap (nowrap) #IMPLIED -- don't wrap words --
+ axis CDATA #IMPLIED -- axis name, defaults to element content
+ Not supported by IE2 --
+ axes CDATA #IMPLIED -- comma separated list of axis names
+ Not supported by IE2 --
+
+ -- Added for IE2 --
+ bgcolor CDATA #IMPLIED -- background color for cell --
+ bordercolor CDATA #IMPLIED -- cell border color --
+ bordercolorlight CDATA #IMPLIED -- 3D cell border color --
+ bordercolordark CDATA #IMPLIED -- 3D cell border color --
+ width CDATA #IMPLIED -- added for IE2 --
+ >
+
+<!--======================= Captions ======================================-->
+
+<!ELEMENT CAPTION - - (%text;)+ -- table or figure caption -->
+<!ATTLIST CAPTION
+ %attrs;
+ align (left|right|center) #IMPLIED
+ valign (top|bottom) #IMPLIED
+ >
+
diff --git a/htdocs/sgml-lib/oreilly-additional.entities b/htdocs/sgml-lib/oreilly-additional.entities new file mode 100644 index 0000000..8f3b7d9 --- /dev/null +++ b/htdocs/sgml-lib/oreilly-additional.entities @@ -0,0 +1,8 @@ +<!ENTITY copy "©" --copyright symbol--> +<!ENTITY nbsp SDATA "[nbsp]" --non-breakable space--> +<!ENTITY trade "™" --trade mark sign --> +<!ENTITY reg SDATA "[reg ]" --registered sign --> +<!ENTITY emsp " " --em space--> +<!ENTITY ensp " " --en space (technically, 1/2-em) --> +<!ENTITY mdash "---" --em dash--> +<!ENTITY ndash "--" --en dash (1/2-em) --> diff --git a/htdocs/sgml-lib/oreilly-draft-table.elements b/htdocs/sgml-lib/oreilly-draft-table.elements new file mode 100644 index 0000000..5b0901f --- /dev/null +++ b/htdocs/sgml-lib/oreilly-draft-table.elements @@ -0,0 +1,157 @@ + <!-- Content model entities imported from parent DTD: + + %body.content; allows table cells to contain headers, paras, + lists, form elements and even arbitrarily nested tables. + + %text; is text characters, including character entities and + character emphasis elements, IMG and anchors + --> + + <!ENTITY % attrs + "id ID #IMPLIED -- element identifier -- + class NAMES #IMPLIED -- for subclassing elements -- + lang NAME #IMPLIED -- as per RFC 1766 -- + dir (ltr|rtl) #IMPLIED -- I18N text direction --"> + + <!-- + The BORDER attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The FRAME attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the VALIGN attribute. + + The value "border" is included for backwards compatibility with + <TABLE BORDER> which yields frame=border and border=implied + For <TABLE BORDER=1> you get border=1 and frame=implied. In this + case, its appropriate to treat this as frame=border for backwards + compatibility with deployed browsers. + --> + + <!ENTITY % Frame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + + <!-- + The RULES attribute defines which rules to draw between cells: + + If RULES is absent then assume: + "none" if BORDER is absent or BORDER=0 otherwise "all" + --> + + <!ENTITY % Rules "(none | groups | rows | cols | all)"> + + <!-- horizontal placement of table relative to window --> + <!ENTITY % Where "(left|center|right)"> + + <!-- horizontal alignment attributes for cell contents --> + <!ENTITY % cell.halign + "align (left|center|right|justify|char) #IMPLIED + char CDATA #IMPLIED -- alignment char, e.g. char=':' -- + charoff CDATA #IMPLIED -- offset for alignment char --" + > + + <!-- vertical alignment attributes for cell contents --> + <!ENTITY % cell.valign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + + <!ELEMENT table - - (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)> + <!ELEMENT caption - - (%text;)+> + <!ELEMENT thead - O (tr+)> + <!ELEMENT tfoot - O (tr+)> + <!ELEMENT tbody O O (tr+)> + <!ELEMENT colgroup - O (col*)> + <!ELEMENT col - O EMPTY> + <!ELEMENT tr - - (th|td)+> + +<![ %HTML.Recommended [ + <!ELEMENT (th|td) - - (%body.content + | #PCDATA | A | BR | %phrase | %font)> +]]> + +<![ %HTML.Deprecated [ + <!ELEMENT (th|td) - - (%body.content)> +]]> + + <!ATTLIST table -- table element -- + %attrs; -- id, lang, dir and class -- + align %Where; #IMPLIED -- table position relative to window -- + width CDATA #IMPLIED -- table width relative to window -- + cols NUMBER #IMPLIED -- used for immediate display mode -- + border CDATA #IMPLIED -- controls frame width around table -- + frame %Frame; #IMPLIED -- which parts of table frame to include -- + rules %Rules; #IMPLIED -- rulings between rows and cols -- + cellspacing CDATA #IMPLIED -- spacing between cells -- + cellpadding CDATA #IMPLIED -- spacing within cells -- + > + + <!-- ALIGN is used here for compatibility with deployed browsers --> + <!ENTITY % Caption "(top|bottom|left|right)"> + + <!ATTLIST caption -- table caption -- + %attrs; -- id, lang, dir and class -- + align %Caption; #IMPLIED -- relative to table -- + > + + <!-- + COLGROUP groups a set of COL elements. It allows you to group + several columns together. + --> + <!ATTLIST colgroup + %attrs; -- id, lang, dir and class -- + span NUMBER 1 -- default number of columns in group -- + width CDATA #IMPLIED -- default width for enclosed COLs -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!-- + COL elements define the alignment properties for cells in a given + column or spanned columns. The WIDTH attribute specifies the + width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + --> + + <!ATTLIST col -- column groups and properties -- + %attrs; -- id, lang, dir and class -- + span NUMBER 1 -- number of columns spanned by group -- + width CDATA #IMPLIED -- column width specification -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!-- + Use THEAD to duplicate headers when breaking table + across page boundaries, or for static headers when + body sections are rendered in scrolling panel. + + Use TFOOT to duplicate footers when breaking table + across page boundaries, or for static footers when + body sections are rendered in scrolling panel. + + Use multiple TBODY sections when rules are needed + between groups of table rows. + --> + <!ATTLIST (thead|tbody|tfoot) -- table section -- + %attrs; -- id, lang, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!ATTLIST tr -- table row -- + %attrs; -- id, lang, dir and class -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > + + <!ATTLIST (th|td) -- header or data cell -- + %attrs; -- id, lang, dir and class -- + axis CDATA #IMPLIED -- defaults to cell content -- + axes CDATA #IMPLIED -- list of axis names -- + nowrap (nowrap) #IMPLIED -- suppress word wrap -- + rowspan NUMBER 1 -- number of rows spanned by cell -- + colspan NUMBER 1 -- number of cols spanned by cell -- + %cell.halign; -- horizontal alignment in cells -- + %cell.valign; -- vertical alignment in cells -- + > diff --git a/htdocs/sgml-lib/oreilly-html-relaxed.dtd b/htdocs/sgml-lib/oreilly-html-relaxed.dtd new file mode 100644 index 0000000..1586524 --- /dev/null +++ b/htdocs/sgml-lib/oreilly-html-relaxed.dtd @@ -0,0 +1,249 @@ +<!-- ====================================================================== + oreilly-html.dtd + + The O'Reilly HTML Extended DTD is an extension of the + "recommended" interpretation of the HTML 2.0 DTD as defined in + RFC 1866. The extensions add the following popular features: + + + Tables + + The table model from the now defunct HTML 3.0 DTD has been + used with the following modifications: the content model of + <TD> has been extended to include text (non-block) elements + and the type of the BORDER attribute has been changed to + NUMBER in order to support changes to the border width. + + Note: In SGML, the validity of <TABLE BORDER> and + <TABLE BORDER=value> are mutually exclusive. In order to support + <TABLE BORDER=value> in this DTD, it is necessary to make + <TABLE BORDER> invalid. This makes the O'Reilly HTML + Extended DTD backwards-incompatible with HTML 2.0. + + + + Modification of browser background and colors through attributes + on the <BODY> element. + + Support for WIDTH and ALIGN attributes on HR. + + Support for ALIGN=left and ALIGN=right on IMG. + + Support for CLEAR attribute on BR. + + Support for an ALIGN attribute on P. + + Support for an ALIGN attribute on headings. + + Support for the <FONT> element. + + Support for the <CENTER> element. + + Support for the additional entities: © and . + + We use the following DOCTYPE to identify this DTD: + + <!DOCTYPE HTML PUBLIC "-//O'Reilly and Associates//DTD HTML Extended 1.0//EN"> + + In addition, four external entities (files) are referenced by + this DTD: + + 1. PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN" + + The HTML DTD from RFC 1866 with a few slight modifications. + + 2. PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" + + The ISO Latin1 entities (referenced by the RFC 1866 DTD). + + 3. PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN" + + The table elements, extracted from the now defunct HTML 3.0 DTD, + with the modifications noted above. + + 4. PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN" + + Additional entity definitions. + + An appropriate SGML Open catalog file for this DTD is: + + PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN" + /local/path/on/your/system/to/oreilly-rfc1866.dtd + + PUBLIC "-//O'Reilly and Associates//DTD HTML Extended 1.0//EN" + /local/path/on/your/system/to/oreilly-html.dtd + + PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN" + /local/path/on/your/system/to/oreilly-table.elements + + PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN" + /local/path/on/your/system/to/oreilly-additional.entities + + PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" + /local/path/on/your/system/to/ISOlatin1 + + If you have questions or comments about this DTD, please send + them to: + + Norman Walsh <norm@ora.com> + Technical Director, Online Publishing + O'Reilly & Associates, Inc. + 90 Sherman Street + Cambridge, MA 02140 + (617) 354-5800/661-1116 FAX +====================================================================== --> + +<!-- the following was added from the original by Gerald Oskoboiny, because -- + -- I currently use this to determine which level of HTML is being used in -- + -- my validator (although I don't know if that's the best way to do it.) -- + -- Gerald Oskoboiny, 15 Mar 1996 --> +<!ENTITY % HTML.Version + "-//OReilly and Associates//DTD HTML Extended Relaxed 1.0//EN" + > +<!-- end of additions by Gerald Oskoboiny --> + +<!ENTITY % HTML.Recommended "IGNORE"> + +<!-- ==================== FONT Extension ==================== --> +<!-- --> + +<!ENTITY % font " TT | B | I | FONT"> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE "> + +<!ENTITY % text "#PCDATA | A | IMG | BR | CENTER | %phrase | %font"> + +<!ATTLIST FONT + SIZE CDATA #REQUIRED + > + +<!-- --> +<!-- ==================== /FONT Extension =================== --> + +<!-- ==================== Tables Extensions ================= --> +<!-- --> + +<!-- Begin by allowing TABLE in block content, modification --> +<!-- continues below ... --> +<!ENTITY % block.forms "BLOCKQUOTE | TABLE | FORM | ISINDEX"> + +<!-- --> +<!-- ==================== Attribute Extensions ============== --> + +<!-- Unfortunately, these modifications require changes to the + base DTD to comment out the otherwise conflicting attribute + definitions. Hence "oreilly-rfc1866.dtd" and not the + actually, official HTML DTD. --> + +<!ATTLIST HR + SDAPREF CDATA #FIXED "&#RE;&#RE;" + WIDTH CDATA #IMPLIED + ALIGN (left|right|center) #IMPLIED + > + +<!ATTLIST IMG + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ALIGN (top|middle|bottom|left|right) #IMPLIED + ISMAP (ISMAP) #IMPLIED + HEIGHT CDATA #IMPLIED + WIDTH CDATA #IMPLIED + BORDER CDATA #IMPLIED + SDAPREF CDATA #FIXED "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>" + > + +<!ATTLIST BR + SDAPREF CDATA #FIXED "&#RE;" + CLEAR (CLEAR) #IMPLIED -- clear text flow around images -- + > + +<!ATTLIST P + SDAFORM CDATA #FIXED "Para" + ALIGN (left|right|center) #IMPLIED + > + +<!ATTLIST H1 + SDAFORM CDATA #FIXED "H1" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H2 + SDAFORM CDATA #FIXED "H2" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H3 + SDAFORM CDATA #FIXED "H3" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H4 + SDAFORM CDATA #FIXED "H4" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H5 + SDAFORM CDATA #FIXED "H5" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H6 + SDAFORM CDATA #FIXED "H6" + ALIGN (left|right|center) #IMPLIED + > + +<!-- ==================== /Attribute Extensions ============= --> + +<!-- ==================== BODY Extension ==================== --> +<!-- --> + +<!ENTITY % URI "CDATA" + -- The term URI means a CDATA attribute + whose value is a Uniform Resource Identifier, + as defined by + "Universal Resource Identifiers" by Tim Berners-Lee + aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html + aka RFC 1630 + + Note that CDATA attributes are limited by the LITLEN + capacity (1024 in the current version of html.decl), + so that URIs in HTML have a bounded length. + --> + +<!ATTLIST BODY + BACKGROUND %URI; #IMPLIED + BGCOLOR CDATA #IMPLIED + TEXT CDATA #IMPLIED + LINK CDATA #IMPLIED + VLINK CDATA #IMPLIED + ALINK CDATA #IMPLIED + > + +<!-- --> +<!-- ==================== /BODY Extension =================== --> + +<!-- ==================== IETF DTD ========================== --> +<!-- --> + +<!ENTITY % IETF.HTML.DTD PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN"> +%IETF.HTML.DTD; + +<!-- ==================== /IETF DTD ========================= --> + +<!-- ==================== CENTER Element ==================== --> +<!-- --> + +<!ELEMENT CENTER - - ((%block | %text)+)> + +<!-- --> +<!-- ==================== /CENTER Element =================== --> + +<!-- ==================== Tables Extension ================== --> +<!-- --> + +<!ENTITY % attrs -- common attributes for elements -- + 'id ID #IMPLIED -- as target for hrefs (link ends) -- + lang CDATA "en.us" -- ISO language, country code --'> + +<!ENTITY % needs -- Attributes for controlling text flow. Used in headers + and other elements to guarantee sufficient room -- + 'clear CDATA #IMPLIED'> + +<!ENTITY % OReilly.Table.Fragment + PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN"> +%OReilly.Table.Fragment; + +<!ENTITY % OReilly.Additional.HTML.Entities + PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN"> +%OReilly.Additional.HTML.Entities; + +<!-- --> +<!-- ==================== /Tables Extension ================= --> + +<!-- EOF --> + diff --git a/htdocs/sgml-lib/oreilly-html.dtd b/htdocs/sgml-lib/oreilly-html.dtd new file mode 100644 index 0000000..07e1018 --- /dev/null +++ b/htdocs/sgml-lib/oreilly-html.dtd @@ -0,0 +1,240 @@ +<!-- ====================================================================== + oreilly-html.dtd + + The O'Reilly HTML Extended DTD is an extension of the + "recommended" interpretation of the HTML 2.0 DTD as defined in + RFC 1866. The extensions add the following popular features: + + + Tables + + The table model from the now defunct HTML 3.0 DTD has been + used with the following modifications: the content model of + <TD> has been extended to include text (non-block) elements + and the type of the BORDER attribute has been changed to + NUMBER in order to support changes to the border width. + + Note: In SGML, the validity of <TABLE BORDER> and + <TABLE BORDER=value> are mutually exclusive. In order to support + <TABLE BORDER=value> in this DTD, it is necessary to make + <TABLE BORDER> invalid. This makes the O'Reilly HTML + Extended DTD backwards-incompatible with HTML 2.0. + + + + Modification of browser background and colors through attributes + on the <BODY> element. + + Support for WIDTH and ALIGN attributes on HR. + + Support for HEIGHT, WIDTH, BORDER, ALIGN=left and ALIGN=right on IMG. + + Support for CLEAR attribute on BR. + + Support for an ALIGN attribute on P. + + Support for an ALIGN attribute on headings. + + Support for the <FONT> element. + + Support for the <CENTER> element. + + Support for the additional entities: © and . + + We use the following DOCTYPE to identify this DTD: + + <!DOCTYPE HTML PUBLIC "-//O'Reilly and Associates//DTD HTML Extended 1.0//EN"> + + In addition, four external entities (files) are referenced by + this DTD: + + 1. PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN" + + The HTML DTD from RFC 1866 with a few slight modifications. + + 2. PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" + + The ISO Latin1 entities (referenced by the RFC 1866 DTD). + + 3. PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN" + + The table elements, extracted from the now defunct HTML 3.0 DTD, + with the modifications noted above. + + 4. PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN" + + Additional entity definitions. + + An appropriate SGML Open catalog file for this DTD is: + + PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN" + /local/path/on/your/system/to/oreilly-rfc1866.dtd + + PUBLIC "-//O'Reilly and Associates//DTD HTML Extended 1.0//EN" + /local/path/on/your/system/to/oreilly-html.dtd + + PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN" + /local/path/on/your/system/to/oreilly-table.elements + + PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN" + /local/path/on/your/system/to/oreilly-additional.entities + + PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" + /local/path/on/your/system/to/ISOlatin1 + + If you have questions or comments about this DTD, please send + them to: + + Norman Walsh <norm@ora.com> + Technical Director, Online Publishing + O'Reilly & Associates, Inc. + 90 Sherman Street + Cambridge, MA 02140 + (617) 354-5800/661-1116 FAX +====================================================================== --> + +<!ENTITY % HTML.Recommended "INCLUDE"> + +<!-- ==================== FONT Extension ==================== --> +<!-- --> + +<!ENTITY % font " TT | B | I | FONT"> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE "> + +<!ENTITY % text "#PCDATA | A | IMG | BR | CENTER | %phrase | %font"> + +<!ATTLIST FONT + SIZE CDATA #REQUIRED + > + +<!-- --> +<!-- ==================== /FONT Extension =================== --> + +<!-- ==================== Tables Extensions ================= --> +<!-- --> + +<!-- Begin by allowing TABLE in block content, modification --> +<!-- continues below ... --> +<!ENTITY % block.forms "BLOCKQUOTE | TABLE | FORM | ISINDEX"> + +<!-- --> +<!-- ==================== Attribute Extensions ============== --> + +<!-- Unfortunately, these modifications require changes to the + base DTD to comment out the otherwise conflicting attribute + definitions. Hence "oreilly-rfc1866.dtd" and not the + actually, official HTML DTD. --> + +<!ATTLIST HR + SDAPREF CDATA #FIXED "&#RE;&#RE;" + WIDTH CDATA #IMPLIED + ALIGN (left|right|center) #IMPLIED + > + +<!ATTLIST IMG + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ALIGN (top|middle|bottom|left|right) #IMPLIED + ISMAP (ISMAP) #IMPLIED + HEIGHT CDATA #IMPLIED + WIDTH CDATA #IMPLIED + BORDER CDATA #IMPLIED + SDAPREF CDATA #FIXED "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>" + > + +<!ATTLIST BR + SDAPREF CDATA #FIXED "&#RE;" + CLEAR (CLEAR) #IMPLIED -- clear text flow around images -- + > + +<!ATTLIST P + SDAFORM CDATA #FIXED "Para" + ALIGN (left|right|center) #IMPLIED + > + +<!ATTLIST H1 + SDAFORM CDATA #FIXED "H1" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H2 + SDAFORM CDATA #FIXED "H2" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H3 + SDAFORM CDATA #FIXED "H3" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H4 + SDAFORM CDATA #FIXED "H4" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H5 + SDAFORM CDATA #FIXED "H5" + ALIGN (left|right|center) #IMPLIED + > +<!ATTLIST H6 + SDAFORM CDATA #FIXED "H6" + ALIGN (left|right|center) #IMPLIED + > + +<!-- ==================== /Attribute Extensions ============= --> + +<!-- ==================== BODY Extension ==================== --> +<!-- --> + +<!ENTITY % URI "CDATA" + -- The term URI means a CDATA attribute + whose value is a Uniform Resource Identifier, + as defined by + "Universal Resource Identifiers" by Tim Berners-Lee + aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html + aka RFC 1630 + + Note that CDATA attributes are limited by the LITLEN + capacity (1024 in the current version of html.decl), + so that URIs in HTML have a bounded length. + --> + +<!ATTLIST BODY + BACKGROUND %URI; #IMPLIED + BGCOLOR CDATA #IMPLIED + TEXT CDATA #IMPLIED + LINK CDATA #IMPLIED + VLINK CDATA #IMPLIED + ALINK CDATA #IMPLIED + > + +<!-- --> +<!-- ==================== /BODY Extension =================== --> + +<!-- ==================== IETF DTD ========================== --> +<!-- --> + +<!ENTITY % IETF.HTML.DTD PUBLIC "-//O'Reilly and Associates//DTD HTML 2.0//EN"> +%IETF.HTML.DTD; + +<!-- ==================== /IETF DTD ========================= --> + +<!-- ==================== CENTER Element ==================== --> +<!-- --> + +<!ELEMENT CENTER - - ((%block | %text)+)> + +<!-- --> +<!-- ==================== /CENTER Element =================== --> + +<!-- ==================== Tables Extension ================== --> +<!-- --> + +<!ENTITY % attrs -- common attributes for elements -- + 'id ID #IMPLIED -- as target for hrefs (link ends) -- + lang CDATA "en.us" -- ISO language, country code --'> + +<!ENTITY % needs -- Attributes for controlling text flow. Used in headers + and other elements to guarantee sufficient room -- + 'clear CDATA #IMPLIED'> + +<!ENTITY % OReilly.Table.Fragment + PUBLIC "-//O'Reilly and Associates//ELEMENTS Table Fragment 1.0//EN"> +%OReilly.Table.Fragment; + +<!ENTITY % OReilly.Additional.HTML.Entities + PUBLIC "-//O'Reilly and Associates//ENTITIES Additional HTML 1.0//EN"> +%OReilly.Additional.HTML.Entities; + +<!-- --> +<!-- ==================== /Tables Extension ================= --> + +<!-- EOF --> + diff --git a/htdocs/sgml-lib/oreilly-rfc1866.dtd b/htdocs/sgml-lib/oreilly-rfc1866.dtd new file mode 100644 index 0000000..f3c4242 --- /dev/null +++ b/htdocs/sgml-lib/oreilly-rfc1866.dtd @@ -0,0 +1,622 @@ +<!-- html.dtd + + Document Type Definition for the HyperText Markup Language + (HTML DTD) + + $Id: oreilly-rfc1866.dtd,v 1.1.1.1 1998-07-25 00:00:22 gerald Exp $ + + Author: Daniel W. Connolly <connolly@w3.org> + See Also: html.decl, html-1.dtd + http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html +--> + +<!-- NB: A few small modifications by O'Reilly: comment out the ATTLIST + for HR, IMG, BR, P, and H1 to H6 to avoid duplicate ATTLIST errors + in our DTD. +--> + +<!ENTITY % HTML.Version +-- the following was changed from the original by Gerald Oskoboiny, because -- +-- I currently use this to determine which level of HTML is being used in my -- +-- validator (although I don't know if that's the best way to do it.) -- +-- Gerald Oskoboiny, 15 Mar 1996 -- + "-//OReilly and Associates//DTD HTML Extended 1.0//EN" +-- "-//IETF//DTD HTML 2.0//EN" -- +-- end of changes by Gerald Oskoboiny -- + + -- Typical usage: + + <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> + <html> + ... + </html> + -- + > + + +<!--============ Feature Test Entities ========================--> + +<!ENTITY % HTML.Recommended "IGNORE" + -- Certain features of the language are necessary for + compatibility with widespread usage, but they may + compromise the structural integrity of a document. + This feature test entity enables a more prescriptive + document type definition that eliminates + those features. + --> + +<![ %HTML.Recommended [ + <!ENTITY % HTML.Deprecated "IGNORE"> +]]> + +<!ENTITY % HTML.Deprecated "INCLUDE" + -- Certain features of the language are necessary for + compatibility with earlier versions of the specification, + but they tend to be used and implemented inconsistently, + and their use is deprecated. This feature test entity + enables a document type definition that eliminates + these features. + --> + +<!ENTITY % HTML.Highlighting "INCLUDE" + -- Use this feature test entity to validate that a + document uses no highlighting tags, which may be + ignored on minimal implementations. + --> + +<!ENTITY % HTML.Forms "INCLUDE" + -- Use this feature test entity to validate that a document + contains no forms, which may not be supported in minimal + implementations + --> + +<!--============== Imported Names ==============================--> + +<!ENTITY % Content-Type "CDATA" + -- meaning an internet media type + (aka MIME content type, as per RFC1521) + --> + +<!ENTITY % HTTP-Method "GET | POST" + -- as per HTTP specification, in progress + --> + +<!--========= DTD "Macros" =====================--> + +<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> + +<!ENTITY % list " UL | OL | DIR | MENU " > + + +<!--======= Character mnemonic entities =================--> + +<!ENTITY % ISOlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> +%ISOlat1; + +<!ENTITY amp CDATA "&" -- ampersand --> +<!ENTITY gt CDATA ">" -- greater than --> +<!ENTITY lt CDATA "<" -- less than --> +<!ENTITY quot CDATA """ -- double quote --> + + +<!--========= SGML Document Access (SDA) Parameter Entities =====--> + +<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes +in support of easy transformation to the International Committee +for Accessible Document Design (ICADD) DTD + "-//EC-USA-CDA/ICADD//DTD ICADD22//EN". +ICADD applications are designed to support usable access to +structured information by print-impaired individuals through +Braille, large print and voice synthesis. For more information on +SDA & ICADD: + - ISO 12083:1993, Annex A.8, Facilities for Braille, + large print and computer voice + - ICADD ListServ + <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu> + - Usenet news group bit.listserv.easi + - Recording for the Blind, +1 800 221 4792 +--> + +<!ENTITY % SDAFORM "SDAFORM CDATA #FIXED" + -- one to one mapping --> +<!ENTITY % SDARULE "SDARULE CDATA #FIXED" + -- context-sensitive mapping --> +<!ENTITY % SDAPREF "SDAPREF CDATA #FIXED" + -- generated text prefix --> +<!ENTITY % SDASUFF "SDASUFF CDATA #FIXED" + -- generated text suffix --> +<!ENTITY % SDASUSP "SDASUSP NAME #FIXED" + -- suspend transform process --> + + +<!--========== Text Markup =====================--> + +<![ %HTML.Highlighting [ + +<!ENTITY % font " TT | B | I "> + +<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE "> + +<!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font"> + +<!ELEMENT (%font;|%phrase) - - (%text)*> +<!ATTLIST ( TT | CODE | SAMP | KBD | VAR ) + %SDAFORM; "Lit" + > +<!ATTLIST ( B | STRONG ) + %SDAFORM; "B" + > +<!ATTLIST ( I | EM | CITE ) + %SDAFORM; "It" + > + +<!-- <TT> Typewriter text --> +<!-- <B> Bold text --> +<!-- <I> Italic text --> + +<!-- <EM> Emphasized phrase --> +<!-- <STRONG> Strong emphasis --> +<!-- <CODE> Source code phrase --> +<!-- <SAMP> Sample text or characters --> +<!-- <KBD> Keyboard phrase, e.g. user input --> +<!-- <VAR> Variable phrase or substitutable --> +<!-- <CITE> Name or title of cited work --> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase"> + +]]> + +<!ENTITY % text "#PCDATA | A | IMG | BR"> + +<!ELEMENT BR - O EMPTY> +<!-- O'Reilly modification: avoid duplicate ATTLIST for IMG... +<!ATTLIST BR + %SDAPREF; "&#RE;" + > +... O'Reilly modification ends here --> + +<!-- <BR> Line break --> + + +<!--========= Link Markup ======================--> + +<!ENTITY % linkType "NAMES"> + +<!ENTITY % linkExtraAttributes + "REL %linkType #IMPLIED + REV %linkType #IMPLIED + URN CDATA #IMPLIED + TITLE CDATA #IMPLIED + METHODS NAMES #IMPLIED + "> + +<![ %HTML.Recommended [ + <!ENTITY % A.content "(%text)*" + -- <H1><a name="xxx">Heading</a></H1> + is preferred to + <a name="xxx"><H1>Heading</H1></a> + --> +]]> + +<!ENTITY % A.content "(%heading|%text)*"> + +<!ELEMENT A - - %A.content -(A)> +<!ATTLIST A + HREF CDATA #IMPLIED + NAME CDATA #IMPLIED + %linkExtraAttributes; + %SDAPREF; "<Anchor: #AttList>" + > +<!-- <A> Anchor; source/destination of link --> +<!-- <A NAME="..."> Name of this anchor --> +<!-- <A HREF="..."> Address of link destination --> +<!-- <A URN="..."> Permanent address of destination --> +<!-- <A REL=...> Relationship to destination --> +<!-- <A REV=...> Relationship of destination to this --> +<!-- <A TITLE="..."> Title of destination (advisory) --> +<!-- <A METHODS="..."> Operations on destination (advisory) --> + + +<!--========== Images ==========================--> + +<!ELEMENT IMG - O EMPTY> + +<!-- O'Reilly modification: avoid duplicate ATTLIST for IMG... +<!ATTLIST IMG + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + ISMAP (ISMAP) #IMPLIED + %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>" + > +... O'Reilly modification ends here --> + +<!-- <IMG> Image; icon, glyph or illustration --> +<!-- <IMG SRC="..."> Address of image object --> +<!-- <IMG ALT="..."> Textual alternative --> +<!-- <IMG ALIGN=...> Position relative to text --> +<!-- <IMG ISMAP> Each pixel can be a link --> + +<!--========== Paragraphs=======================--> + +<!ELEMENT P - O (%text)*> +<!-- O'Reilly modification: avoid duplicate ATTLIST for P... +<!ATTLIST P + %SDAFORM; "Para" + > +... O'Reilly modification ends here --> + +<!-- <P> Paragraph --> + + +<!--========== Headings, Titles, Sections ===============--> + +<!ELEMENT HR - O EMPTY> +<!-- O'Reilly modification: avoid duplicate ATTLIST for HR... +<!ATTLIST HR + %SDAPREF; "&#RE;&#RE;" + > +... O'Reilly modification ends here --> + +<!-- <HR> Horizontal rule --> + +<!ELEMENT ( %heading ) - - (%text;)*> +<!-- O'Reilly modification: avoid duplicate ATTLIST for H1..H6... +<!ATTLIST H1 + %SDAFORM; "H1" + > +<!ATTLIST H2 + %SDAFORM; "H2" + > +<!ATTLIST H3 + %SDAFORM; "H3" + > +<!ATTLIST H4 + %SDAFORM; "H4" + > +<!ATTLIST H5 + %SDAFORM; "H5" + > +<!ATTLIST H6 + %SDAFORM; "H6" + > +... O'Reilly modification ends here --> + +<!-- <H1> Heading, level 1 --> +<!-- <H2> Heading, level 2 --> +<!-- <H3> Heading, level 3 --> +<!-- <H4> Heading, level 4 --> +<!-- <H5> Heading, level 5 --> +<!-- <H6> Heading, level 6 --> + + +<!--========== Text Flows ======================--> + +<![ %HTML.Forms [ + <!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX"> +]]> + +<!ENTITY % block.forms "BLOCKQUOTE"> + +<![ %HTML.Deprecated [ + <!ENTITY % preformatted "PRE | XMP | LISTING"> +]]> + +<!ENTITY % preformatted "PRE"> + +<!ENTITY % block "P | %list | DL + | %preformatted + | %block.forms"> + +<!ENTITY % flow "(%text|%block)*"> + +<!ENTITY % pre.content "#PCDATA | A | HR | BR"> +<!ELEMENT PRE - - (%pre.content)*> +<!ATTLIST PRE + WIDTH NUMBER #implied + %SDAFORM; "Lit" + > + +<!-- <PRE> Preformatted text --> +<!-- <PRE WIDTH=...> Maximum characters per line --> + +<![ %HTML.Deprecated [ + +<!ENTITY % literal "CDATA" + -- historical, non-conforming parsing mode where + the only markup signal is the end tag + in full + --> + +<!ELEMENT (XMP|LISTING) - - %literal> +<!ATTLIST XMP + %SDAFORM; "Lit" + %SDAPREF; "Example:&#RE;" + > +<!ATTLIST LISTING + %SDAFORM; "Lit" + %SDAPREF; "Listing:&#RE;" + > + +<!-- <XMP> Example section --> +<!-- <LISTING> Computer listing --> + +<!ELEMENT PLAINTEXT - O %literal> +<!-- <PLAINTEXT> Plain text passage --> + +<!ATTLIST PLAINTEXT + %SDAFORM; "Lit" + > +]]> + +<!--========== Lists ==================--> + +<!ELEMENT DL - - (DT | DD)+> +<!ATTLIST DL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "Definition List:" + > + +<!ELEMENT DT - O (%text)*> +<!ATTLIST DT + %SDAFORM; "Term" + > + +<!ELEMENT DD - O %flow> +<!ATTLIST DD + %SDAFORM; "LItem" + > + +<!-- <DL> Definition list, or glossary --> +<!-- <DL COMPACT> Compact style list --> +<!-- <DT> Term in definition list --> +<!-- <DD> Definition of term --> + +<!ELEMENT (OL|UL) - - (LI)+> +<!ATTLIST OL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + > +<!ATTLIST UL + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + > +<!-- <UL> Unordered list --> +<!-- <UL COMPACT> Compact list style --> +<!-- <OL> Ordered, or numbered list --> +<!-- <OL COMPACT> Compact list style --> + + +<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)> +<!ATTLIST DIR + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "<LHead>Directory</LHead>" + > + +<!ATTLIST MENU + COMPACT (COMPACT) #IMPLIED + %SDAFORM; "List" + %SDAPREF; "<LHead>Menu</LHead>" + > + +<!-- <DIR> Directory list --> +<!-- <DIR COMPACT> Compact list style --> +<!-- <MENU> Menu list --> +<!-- <MENU COMPACT> Compact list style --> + +<!ELEMENT LI - O %flow> +<!ATTLIST LI + %SDAFORM; "LItem" + > + +<!-- <LI> List item --> + +<!--========== Document Body ===================--> + +<![ %HTML.Recommended [ + <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*" + -- <h1>Heading</h1> + <p>Text ... + is preferred to + <h1>Heading</h1> + Text ... + --> +]]> + +<!ENTITY % body.content "(%heading | %text | %block | + HR | ADDRESS)*"> + +<!ELEMENT BODY O O %body.content> + +<!-- <BODY> Document body --> + +<!ELEMENT BLOCKQUOTE - - %body.content> +<!ATTLIST BLOCKQUOTE + %SDAFORM; "BQ" + > + +<!-- <BLOCKQUOTE> Quoted passage --> + +<!ELEMENT ADDRESS - - (%text|P)*> +<!ATTLIST ADDRESS + %SDAFORM; "Lit" + %SDAPREF; "Address:&#RE;" + > + +<!-- <ADDRESS> Address, signature, or byline --> + + +<!--======= Forms ====================--> + +<![ %HTML.Forms [ + +<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> +<!ATTLIST FORM + ACTION CDATA #IMPLIED + METHOD (%HTTP-Method) GET + ENCTYPE %Content-Type; "application/x-www-form-urlencoded" + %SDAPREF; "<Para>Form:</Para>" + %SDASUFF; "<Para>Form End.</Para>" + > + +<!-- <FORM> Fill-out or data-entry form --> +<!-- <FORM ACTION="..."> Address for completed form --> +<!-- <FORM METHOD=...> Method of submitting form --> +<!-- <FORM ENCTYPE="..."> Representation of form data --> + +<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | + RADIO | SUBMIT | RESET | + IMAGE | HIDDEN )"> +<!ELEMENT INPUT - O EMPTY> +<!ATTLIST INPUT + TYPE %InputType TEXT + NAME CDATA #IMPLIED + VALUE CDATA #IMPLIED + SRC CDATA #IMPLIED + CHECKED (CHECKED) #IMPLIED + SIZE CDATA #IMPLIED + MAXLENGTH NUMBER #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + %SDAPREF; "Input: " + > + +<!-- <INPUT> Form input datum --> +<!-- <INPUT TYPE=...> Type of input interaction --> +<!-- <INPUT NAME=...> Name of form datum --> +<!-- <INPUT VALUE="..."> Default/initial/selected value --> +<!-- <INPUT SRC="..."> Address of image --> +<!-- <INPUT CHECKED> Initial state is "on" --> +<!-- <INPUT SIZE=...> Field size hint --> +<!-- <INPUT MAXLENGTH=...> Data length maximum --> +<!-- <INPUT ALIGN=...> Image alignment --> + +<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST SELECT + NAME CDATA #REQUIRED + SIZE NUMBER #IMPLIED + MULTIPLE (MULTIPLE) #IMPLIED + %SDAFORM; "List" + %SDAPREF; + "<LHead>Select #AttVal(Multiple)</LHead>" + > + +<!-- <SELECT> Selection of option(s) --> +<!-- <SELECT NAME=...> Name of form datum --> +<!-- <SELECT SIZE=...> Options displayed at a time --> +<!-- <SELECT MULTIPLE> Multiple selections allowed --> + +<!ELEMENT OPTION - O (#PCDATA)*> +<!ATTLIST OPTION + SELECTED (SELECTED) #IMPLIED + VALUE CDATA #IMPLIED + %SDAFORM; "LItem" + %SDAPREF; + "Option: #AttVal(Value) #AttVal(Selected)" + > + +<!-- <OPTION> A selection option --> +<!-- <OPTION SELECTED> Initial state --> +<!-- <OPTION VALUE="..."> Form datum value for this option--> + +<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)> +<!ATTLIST TEXTAREA + NAME CDATA #REQUIRED + ROWS NUMBER #REQUIRED + COLS NUMBER #REQUIRED + %SDAFORM; "Para" + %SDAPREF; "Input Text -- #AttVal(Name): " + > + +<!-- <TEXTAREA> An area for text input --> +<!-- <TEXTAREA NAME=...> Name of form datum --> +<!-- <TEXTAREA ROWS=...> Height of area --> +<!-- <TEXTAREA COLS=...> Width of area --> + +]]> + + +<!--======= Document Head ======================--> + +<![ %HTML.Recommended [ + <!ENTITY % head.extra ""> +]]> +<!ENTITY % head.extra "& NEXTID?"> + +<!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra"> + +<!ELEMENT HEAD O O (%head.content) +(META|LINK)> + +<!-- <HEAD> Document head --> + +<!ELEMENT TITLE - - (#PCDATA)* -(META|LINK)> +<!ATTLIST TITLE + %SDAFORM; "Ti" > + +<!-- <TITLE> Title of document --> + +<!ELEMENT LINK - O EMPTY> +<!ATTLIST LINK + HREF CDATA #REQUIRED + %linkExtraAttributes; + %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>" > + +<!-- <LINK> Link from this document --> +<!-- <LINK HREF="..."> Address of link destination --> +<!-- <LINK URN="..."> Lasting name of destination --> +<!-- <LINK REL=...> Relationship to destination --> +<!-- <LINK REV=...> Relationship of destination to this --> +<!-- <LINK TITLE="..."> Title of destination (advisory) --> +<!-- <LINK METHODS="..."> Operations allowed (advisory) --> + +<!ELEMENT ISINDEX - O EMPTY> +<!ATTLIST ISINDEX + %SDAPREF; + "<Para>[Document is indexed/searchable.]</Para>"> + +<!-- <ISINDEX> Document is a searchable index --> + +<!ELEMENT BASE - O EMPTY> +<!ATTLIST BASE + HREF CDATA #REQUIRED > + +<!-- <BASE> Base context document --> +<!-- <BASE HREF="..."> Address for this document --> + +<!ELEMENT NEXTID - O EMPTY> +<!ATTLIST NEXTID + N CDATA #REQUIRED > + +<!-- <NEXTID> Next ID to use for link name --> +<!-- <NEXTID N=...> Next ID to use for link name --> + +<!ELEMENT META - O EMPTY> +<!ATTLIST META + HTTP-EQUIV NAME #IMPLIED + NAME NAME #IMPLIED + CONTENT CDATA #REQUIRED > + +<!-- <META> Generic Meta-information --> +<!-- <META HTTP-EQUIV=...> HTTP response header name --> +<!-- <META NAME=...> Meta-information name --> +<!-- <META CONTENT="..."> Associated information --> + +<!--======= Document Structure =================--> + +<![ %HTML.Deprecated [ + <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?"> +]]> +<!ENTITY % html.content "HEAD, BODY"> + +<!ELEMENT HTML O O (%html.content)> +<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'"> + +<!ATTLIST HTML + %version.attr; + %SDAFORM; "Book" + > + +<!-- <HTML> HTML Document --> + |