<!-- ...................................................................... -->
<!-- HTML DTD 3.2-Based Variant SHML 1.0 .................................. -->
<!-- File shml10.dtd ...................................................... -->

<!--    Document Type Definition for the
        Structured Hypertext Markup Language Version 1.0
        SunSoft Development Version, code-named "Mehitabel"
        Copyright 1997 Sun Microsystems, Inc., All rights reserved.

        Permission to use, copy, modify and distribute the SHML 1.0 DTD
        and its accompanying documentation for any purpose and without 
        fee is hereby granted in perpetuity, provided that the above 
        copyright notice and this paragraph appear in all copies. The
        copyright holders make no representation about the suitability
        of the DTD for any purpose.
     
        It is provided "as is" without expressed or implied warranty.

  NOTE: This is work in progress, subject to change at any time,
        and does not imply endorsement by Sun Microsystems, Inc.
        This DTD has no status as a W3C document or IETF standard.

  STATUS:                D R A F T   V E R S I O N

#       SHML 1.0 Revision History:
        For detailed revision information, try: % grep "^#" shml10.dtd
        For an element and attribute list, try: % grep "^;" shml10.dtd
        For a non-modular version of this DTD, try: % spam -p -p dummy.html > shmlflat.dtd
            using a valid dummy HTML file. Minor editing will be needed.

        Author:  Murray M. Altheim  <altheim@eng.sun.com>
#       $Id: @(#)shml10.dtd	1.5 - 97/09/24 17:36:20 altheim $

        See also: shml10.dcl
          <http://www.altheim.com/murray/specs/mehitabel/>
          <http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html>
          <http://www.jclark.com/sp/spam.htm>

        Notable HTML 3.2/SHML 1.0 differences:
          *  internationalized (i18n)
          *  modular DTD
          *  ID & CLASS on most elements
          *  Web Accessibility Initiative (WAI) features
          *  structural elements required (HTML, HEAD, BODY, etc.)
          *  enforced H1-H6 heading hierarchy (see heading.mod)
          *  deprecated CENTER, BIG, SMALL and SCRIPT
          *  removed XMP, LISTING and PLAINTEXT

        The SHML 1.0 DTD is a variant based on the W3C HTML 3.2 DTD:

          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>
-->

<!ENTITY % HTML.version
         "-//Sun Microsystems//DTD HTML 3.2-Based Variant SHML 1.0 Draft//EN" >

<!-- This is the driver file for version 1.0 of the SHML DTD.
     Please use the above formal public identifier to identify it.

     For example, if your document's top-level element is HTML, and
     you are using SHML 1.0 directly, use the FPI in the DOCTYPE
     declaration:

       <!DOCTYPE HTML
          PUBLIC "-//Sun Microsystems//DTD HTML 3.2-Based Variant SHML 1.0 Draft//EN" [...]>
       <HTML>
       ...
       </HTML>
-->

<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.version;'">

<!-- ............................................................. -->
<!-- Feature Test Entities ....................................... -->

<!ENTITY % HTML.Unicode      "IGNORE" >
<!--       This marked section keyword enables entity declarations
           that include Unicode numeric character references, and
           requires use of an appropriate SGML declaration. With
           this keyword set to IGNORE, this DTD declares SDATA
           alternatives that do not require Unicode support.
           -->

<!ENTITY % HTML.i18n         "IGNORE" >
<!--       This marked section keyword enables element, entity
           and attribute declarations that include JDML
           internationalization (i18n) features.
           -->

<!ENTITY % HTML.XML-link     "INCLUDE" >
<!--       This marked section keyword enables attribute 
           declarations that provide support for cross-conversion
           with XML-link constructs. 
           -->

<!ENTITY % HTML.csismap      "INCLUDE" >
<!--       This marked section keyword enables element, entity
           and attribute declarations that include HTML
           client-side imagemap features on images. 
           -->

<!ENTITY % HTML.forms        "INCLUDE" >
<!--       Please note that the original HTML 2.0 specification
           feature test entity '%HTML.Forms;' has been here replaced
           by the module status keyword '%HTML.forms;', which may
           be used as a replacement feature test entity.
           -->

<!ENTITY % HTML.tables       "INCLUDE" >
<!--       This marked section keyword enables element, entity
           and attribute declarations that include tables markup.
           One and only one of the tables modules should be INCLUDE-d.
           -->

<!ENTITY % HTML.tables40     "IGNORE" ><!-- HTML 4.0 (Cougar) Tables    -->
<!ENTITY % HTML.tables06     "IGNORE" ><!-- IETF HTML Tables Draft v06  -->
<!ENTITY % HTML.ietables     "IGNORE" ><!-- MSIE 2.0 HTML Tables        -->

<!ENTITY % HTML.math         "IGNORE" >
<!--       This marked section keyword enables entity, element and
           attribute declarations that include HTML math markup.
           -->

<!ENTITY % HTML.para         "IGNORE" >
<!--       This marked section keyword enables element and attribute
           declarations that proscribe paragraphs containing paragraphs.
           This is used primarily in document normalization.
           -->

<!ENTITY % HTML.recommended  "INCLUDE" >
<!--       This marked section keyword enables element and attribute
           declarations that prescribe tighter structural integrity.
           For some implementations, these content models may be
           deemed too restrictive.
           -->

<![ %HTML.recommended; [
<!ENTITY % HTML.not-recommended  "IGNORE" >
]]>
<!ENTITY % HTML.not-recommended  "INCLUDE" >
<!--       This marked section keyword enables element and attribute
           declarations that prescribe a looser document structure.
           Also called the 'Santa Cruz' option.
           -->

<!ENTITY % HTML.deprecated   "IGNORE" >
<!--       This marked section keyword enables element and attribute
           declarations that include deprecated language features;
           that is, features from earlier HTML specifications
           that are used and/or implemented inconsistently.
           -->

<!-- ....................................................................... -->
<!-- Module Inclusions ..................................................... -->

<!-- The following module inclusions rely on the mapping of FPI 
     (Formal Public Identifier) to SOI (Storage Object Identifier)
     within an SGML catalog file, as described in SGML Open TR 9401.
-->

<!-- Redeclaration Module ............................. -->
<!ENTITY % HTML.redecl       "IGNORE" >
<![ %HTML.redecl; [
    <!ENTITY % redecl.mod
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Intermodule Redeclarations//EN"
        "redecl.mod" >
%redecl.mod;
<!-- end of redecl.module -->]]>


<!-- General Entities and Imported Names .............. -->
<!ENTITY % HTML.basent       "INCLUDE" >
<![ %HTML.basent; [
    <!ENTITY % basent.mod
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Base Class Entities//EN"
       "basent.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Base Class Entities Module ...................................
     file: basent.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)basent.mod	1.10 - 97/09/24 17:30:57 altheim $

     Revisions:
#    1997-05-01  basent.mod     added %attrs; and %just; from RFC 2070 (i18n)
#    1997-05-02  basent.mod     added title to %attrs; as per WAI requirements
#    1997-06-11  basent.mod     added %xml-link-attrs; for xml-link compatibility
     ....................................................................... -->

<!-- Imported Names .............................................. -->

<!--
;  %content-type     : meaning a MIME content type, as per RFC1521
-->
<!ENTITY % content-type "CDATA" >

<!--
;  %http-method      : as per HTTP specification, 
;                    : see RFC1945 (HTTP1.0) and RFC2068 (HTTP1.1) 
-->
<!ENTITY % http-method "GET | POST" >

<!--
;  %url              : The term URL means a CDATA attribute whose value is a 
;                    : Uniform Resource Locator, see RFC1808 (June 95) and RFC1738 (Dec 94).
-->
<!ENTITY % url "CDATA" >

<!-- Common Parameter Entities ................................... -->

<!--
;  %attrs;           : common attributes for elements
;      id            : element identifier
;      class         : for subclassing elements
;      lang          : RFC 1766 language tag
;      dir           : text directionality
;      title         : advisory title (WAI)
-->
<![ %HTML.i18n; [
<!ENTITY % attrs
      "id      ID      #IMPLIED
       class   NAMES   #IMPLIED
       lang    NAME    #IMPLIED
       dir   (ltr|rtl) #IMPLIED
       title   CDATA   #IMPLIED"
       >
]]>

<!ENTITY % attrs
      "id      ID      #IMPLIED
       class   NAMES   #IMPLIED
       title   CDATA   #IMPLIED"
       >

<!--
;  %xml-link-attrs   : attributes to provide XML-link compatibility
;      xml-link      : xml link type
;      role          : meaning of the link or linked resource
;      show          : traversal resultant processing
;      actuate       : traversal control
;      behavior      : traversal behavior
-->
<![ %HTML.XML-link; [
<!ENTITY % xml-link-attrs
      "xml-link (SIMPLE|EXTENDED)   #IMPLIED
       role      CDATA              #IMPLIED
       show     (EMBED|REPLACE|NEW) #IMPLIED
       actuate  (AUTO|USER)         #IMPLIED
       behavior  CDATA              #IMPLIED" >
]]>

<!ENTITY % xml-link-attrs "" >

<!--
;  %just             : an attribute for text justification
;      align         : default is left for ltr paragraphs, right for rtl
-->
<!ENTITY % just "align  (left|right|center|justify)  #IMPLIED" >

<!--
;  %color            : a hex or named color specification, eg. #FF0000 | red  
-->
<!ENTITY % color "CDATA" >

<!--
;  %length           : nn for pixels or nn% for percentage length
-->
<!ENTITY % length "CDATA" >

<!--
;  %pixels           : integer representing length in pixels
-->
<!ENTITY % pixels "NUMBER" >

<!-- end of basent.mod -->]]>


<!-- Character Mnemonics .............................. -->
<!ENTITY % HTML.char         "INCLUDE" >
<![ %HTML.char; [
    <!ENTITY % char.mod
       PUBLIC "-//Sun Microsystems//ENTITIES SHML 1.0 Character Mnemonics//EN"
        "char.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Character Mnemonics Module ....................................
     file: char.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)char.mod	1.10 - 97/09/24 17:31:06 altheim $

     Revisions:
#    1997-05-01  char.mod       added i18n entities
#    1997-05-02  char.mod       added ISO charent sets
#    1997-06-11  char.mod       added non-i18n SDATA alternatives
#    1997-09-16  char.mod       added Unicode MS
     ....................................................................... -->

<!-- Entities for special symbols ................................ -->

<!-- Entities for markup of significant characters .....-->
<!ENTITY amp    CDATA "&#38;" >   <!-- ampersand        -->
<!ENTITY gt     CDATA "&#62;" >   <!-- greater than     -->
<!ENTITY lt     CDATA "&#60;" >   <!-- less than        -->
<!ENTITY quot   CDATA "&#34;" >   <!-- double quote     -->

<![ %HTML.i18n; [
<!-- Entities for language-dependent presentation (BIDI and contextual analysis) -->
<![ %HTML.Unicode; [
<!ENTITY zwnj   CDATA "&#8204;" > <!-- zero width non-joiner -->
<!ENTITY zwj    CDATA "&#8205;" > <!-- zero width joiner  -->
<!ENTITY lrm    CDATA "&#8206;" > <!-- left-to-right mark -->
<!ENTITY rlm    CDATA "&#8207;" > <!-- right-to-left mark -->
]]>
<!ENTITY zwnj   SDATA "[zwnj]"  > <!-- zero width non-joiner -->
<!ENTITY zwj    SDATA "[zwj]"   > <!-- zero width joiner  -->
<!ENTITY lrm    SDATA "[lrm]"   > <!-- left-to-right mark -->
<!ENTITY rlm    SDATA "[rlm]"   > <!-- right-to-left mark -->
]]>

<!-- Character mnemonic entities ................................. -->

<!-- HTML Character Mnemonic Entities -->
<!ENTITY % HTML.ISOlat1   "INCLUDE" >
<![ %HTML.ISOlat1; [
    <!ENTITY % ISOlat1 PUBLIC
           "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
    <!-- (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 "&#160;" -- no-break space -->
<!ENTITY iexcl  CDATA "&#161;" -- inverted exclamation mark -->
<!ENTITY cent   CDATA "&#162;" -- cent sign -->
<!ENTITY pound  CDATA "&#163;" -- pound sterling sign -->
<!ENTITY curren CDATA "&#164;" -- general currency sign -->
<!ENTITY yen    CDATA "&#165;" -- yen sign -->
<!ENTITY brvbar CDATA "&#166;" -- broken (vertical) bar -->
<!ENTITY sect   CDATA "&#167;" -- section sign -->
<!ENTITY uml    CDATA "&#168;" -- umlaut (dieresis) -->
<!ENTITY copy   CDATA "&#169;" -- copyright sign -->
<!ENTITY ordf   CDATA "&#170;" -- ordinal indicator, feminine -->
<!ENTITY laquo  CDATA "&#171;" -- angle quotation mark, left -->
<!ENTITY not    CDATA "&#172;" -- not sign -->
<!ENTITY shy    CDATA "&#173;" -- soft hyphen -->
<!ENTITY reg    CDATA "&#174;" -- registered sign -->
<!ENTITY macr   CDATA "&#175;" -- macron -->
<!ENTITY deg    CDATA "&#176;" -- degree sign -->
<!ENTITY plusmn CDATA "&#177;" -- plus-or-minus sign -->
<!ENTITY sup2   CDATA "&#178;" -- superscript two -->
<!ENTITY sup3   CDATA "&#179;" -- superscript three -->
<!ENTITY acute  CDATA "&#180;" -- acute accent -->
<!ENTITY micro  CDATA "&#181;" -- micro sign -->
<!ENTITY para   CDATA "&#182;" -- pilcrow (paragraph sign) -->
<!ENTITY middot CDATA "&#183;" -- middle dot -->
<!ENTITY cedil  CDATA "&#184;" -- cedilla -->
<!ENTITY sup1   CDATA "&#185;" -- superscript one -->
<!ENTITY ordm   CDATA "&#186;" -- ordinal indicator, masculine -->
<!ENTITY raquo  CDATA "&#187;" -- angle quotation mark, right -->
<!ENTITY frac14 CDATA "&#188;" -- fraction one-quarter -->
<!ENTITY frac12 CDATA "&#189;" -- fraction one-half -->
<!ENTITY frac34 CDATA "&#190;" -- fraction three-quarters -->
<!ENTITY iquest CDATA "&#191;" -- inverted question mark -->
<!ENTITY Agrave CDATA "&#192;" -- capital A, grave accent -->
<!ENTITY Aacute CDATA "&#193;" -- capital A, acute accent -->
<!ENTITY Acirc  CDATA "&#194;" -- capital A, circumflex accent -->
<!ENTITY Atilde CDATA "&#195;" -- capital A, tilde -->
<!ENTITY Auml   CDATA "&#196;" -- capital A, dieresis or umlaut mark -->
<!ENTITY Aring  CDATA "&#197;" -- capital A, ring -->
<!ENTITY AElig  CDATA "&#198;" -- capital AE diphthong (ligature) -->
<!ENTITY Ccedil CDATA "&#199;" -- capital C, cedilla -->
<!ENTITY Egrave CDATA "&#200;" -- capital E, grave accent -->
<!ENTITY Eacute CDATA "&#201;" -- capital E, acute accent -->
<!ENTITY Ecirc  CDATA "&#202;" -- capital E, circumflex accent -->
<!ENTITY Euml   CDATA "&#203;" -- capital E, dieresis or umlaut mark -->
<!ENTITY Igrave CDATA "&#204;" -- capital I, grave accent -->
<!ENTITY Iacute CDATA "&#205;" -- capital I, acute accent -->
<!ENTITY Icirc  CDATA "&#206;" -- capital I, circumflex accent -->
<!ENTITY Iuml   CDATA "&#207;" -- capital I, dieresis or umlaut mark -->
<!ENTITY ETH    CDATA "&#208;" -- capital Eth, Icelandic -->
<!ENTITY Ntilde CDATA "&#209;" -- capital N, tilde -->
<!ENTITY Ograve CDATA "&#210;" -- capital O, grave accent -->
<!ENTITY Oacute CDATA "&#211;" -- capital O, acute accent -->
<!ENTITY Ocirc  CDATA "&#212;" -- capital O, circumflex accent -->
<!ENTITY Otilde CDATA "&#213;" -- capital O, tilde -->
<!ENTITY Ouml   CDATA "&#214;" -- capital O, dieresis or umlaut mark -->
<!ENTITY times  CDATA "&#215;" -- multiply sign -->
<!ENTITY Oslash CDATA "&#216;" -- capital O, slash -->
<!ENTITY Ugrave CDATA "&#217;" -- capital U, grave accent -->
<!ENTITY Uacute CDATA "&#218;" -- capital U, acute accent -->
<!ENTITY Ucirc  CDATA "&#219;" -- capital U, circumflex accent -->
<!ENTITY Uuml   CDATA "&#220;" -- capital U, dieresis or umlaut mark -->
<!ENTITY Yacute CDATA "&#221;" -- capital Y, acute accent -->
<!ENTITY THORN  CDATA "&#222;" -- capital THORN, Icelandic -->
<!ENTITY szlig  CDATA "&#223;" -- small sharp s, German (sz ligature) -->
<!ENTITY agrave CDATA "&#224;" -- small a, grave accent -->
<!ENTITY aacute CDATA "&#225;" -- small a, acute accent -->
<!ENTITY acirc  CDATA "&#226;" -- small a, circumflex accent -->
<!ENTITY atilde CDATA "&#227;" -- small a, tilde -->
<!ENTITY auml   CDATA "&#228;" -- small a, dieresis or umlaut mark -->
<!ENTITY aring  CDATA "&#229;" -- small a, ring -->
<!ENTITY aelig  CDATA "&#230;" -- small ae diphthong (ligature) -->
<!ENTITY ccedil CDATA "&#231;" -- small c, cedilla -->
<!ENTITY egrave CDATA "&#232;" -- small e, grave accent -->
<!ENTITY eacute CDATA "&#233;" -- small e, acute accent -->
<!ENTITY ecirc  CDATA "&#234;" -- small e, circumflex accent -->
<!ENTITY euml   CDATA "&#235;" -- small e, dieresis or umlaut mark -->
<!ENTITY igrave CDATA "&#236;" -- small i, grave accent -->
<!ENTITY iacute CDATA "&#237;" -- small i, acute accent -->
<!ENTITY icirc  CDATA "&#238;" -- small i, circumflex accent -->
<!ENTITY iuml   CDATA "&#239;" -- small i, dieresis or umlaut mark -->
<!ENTITY eth    CDATA "&#240;" -- small eth, Icelandic -->
<!ENTITY ntilde CDATA "&#241;" -- small n, tilde -->
<!ENTITY ograve CDATA "&#242;" -- small o, grave accent -->
<!ENTITY oacute CDATA "&#243;" -- small o, acute accent -->
<!ENTITY ocirc  CDATA "&#244;" -- small o, circumflex accent -->
<!ENTITY otilde CDATA "&#245;" -- small o, tilde -->
<!ENTITY ouml   CDATA "&#246;" -- small o, dieresis or umlaut mark -->
<!ENTITY divide CDATA "&#247;" -- divide sign -->
<!ENTITY oslash CDATA "&#248;" -- small o, slash -->
<!ENTITY ugrave CDATA "&#249;" -- small u, grave accent -->
<!ENTITY uacute CDATA "&#250;" -- small u, acute accent -->
<!ENTITY ucirc  CDATA "&#251;" -- small u, circumflex accent -->
<!ENTITY uuml   CDATA "&#252;" -- small u, dieresis or umlaut mark -->
<!ENTITY yacute CDATA "&#253;" -- small y, acute accent -->
<!ENTITY thorn  CDATA "&#254;" -- small thorn, Icelandic -->
<!ENTITY yuml   CDATA "&#255;" -- small y, dieresis or umlaut mark -->

]]>

<!-- Recommended HTML character entity supplement -->
<!ENTITY % HTML.lat1sup   "IGNORE" >
<![ %HTML.lat1sup; [
    <!ENTITY % lat1sup
       PUBLIC "-//Sun Microsystems//ENTITIES SHML 1.0 Supplemental Character Mnemonics//EN">
    %lat1sup;
]]>

<!-- ISO Diacritical Marks entity supplement .... -->
<!ENTITY % HTML.iso-dia   "IGNORE" >
<![ %HTML.iso-dia; [
    <!ENTITY % iso-dia
       PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN">
    %iso-dia;
]]>

<!-- Character mnemonics - technical entity supplement  -->
<!ENTITY % HTML.tech      "IGNORE" >
<![ %HTML.tech; [
    <!ENTITY % iso-box
       PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
    %iso-box;
    <!ENTITY % iso-num
       PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
    %iso-num;
    <!ENTITY % iso-pub
       PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN">
    %iso-pub;
    <!ENTITY % iso-tech
       PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN">
    %iso-tech;
]]>

<!-- Character mnemonics - international language ..... -->

<!-- ISO Latin 2 character entity supplement -->
<!ENTITY % HTML.iso-lat2   "IGNORE" >
<![ %HTML.iso-lat2; [
    <!ENTITY % iso-lat2
       PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN">
    %iso-lat2;
]]>

<!-- ISO Greek character entity supplement -->
<!ENTITY % HTML.greek   "IGNORE" >
<![ %HTML.greek; [
    <!ENTITY % iso-grk1
       PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN">
    %iso-grk1;
    <!ENTITY % iso-grk2
       PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN">
    %iso-grk2;
]]>

<!-- ISO Cyrillic character entity supplement -->
<!ENTITY % HTML.cyrillic   "IGNORE" >
<![ %HTML.cyrillic; [
    <!ENTITY % iso-cyr1
       PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN">
    %iso-cyr1;
    <!ENTITY % iso-cyr2
       PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN">
    %iso-cyr2;
]]>

<!-- Character mnemonics - math entity supplement -->
<!ENTITY % HTML.math   "IGNORE" >
<![ %HTML.math; [
    <!ENTITY % iso-amso
       PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN">
    %iso-amso;
    <!ENTITY % iso-amsa
       PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
    %iso-amsa;
    <!ENTITY % iso-amsb
       PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN">
    %iso-amsb;
    <!ENTITY % iso-amsc
       PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN">
    %iso-amsc;
    <!ENTITY % iso-amsr
       PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN">
    %iso-amsr;
    <!ENTITY % iso-amsn
       PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN">
    %iso-amsn;
]]>

<!-- end of char.mod -->]]>


<!-- Content Model Hierarchy .......................... -->
<!ENTITY % HTML.hier       "INCLUDE" >
<![ %HTML.hier; [
    <!ENTITY % hier.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Content Model Hierarchy//EN"
       "hier.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Content Model Hierarchy Module ............................
     file: hier.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)hier.mod	1.10 - 97/09/24 17:32:43 altheim $

     Revisions:
#    1997-05-02  hier.mod       added SPAN,BDO to %inline;, Q to %logical;
#                               added %attrs; to ATTLIST for %physical; and %logical;
#    1997-05-07  hier.mod       removed ISINDEX from %block; (content of HEAD only)
#                               added ADDRESS to %flow; (removed from %body.content;)
#    1997-06-16  hier.mod       deprecated BIG, SMALL, and SCRIPT
     ....................................................................... -->

<!-- SHML content models ......................................... -->

<!-- SHML has three basic content models:
;      %inline       : character level elements and text strings
;      %block        : block-like elements e.g. paragraphs and lists
;      %body.content : as %flow plus headers H1-H6 and ADDRESS
-->

<![ %HTML.deprecated; [
<!ENTITY % physical "B | I | STRIKE | SUB | SUP | TT | U | BIG | SMALL">

<!ENTITY % special "A | APPLET | BASEFONT | BR | FONT | IMG | MAP | SPAN | BDO | SCRIPT" >
]]>

<!ENTITY % physical "B | I | STRIKE | SUB | SUP | TT | U">

<!ENTITY % logical "CITE | CODE | DFN | EM | KBD | Q | SAMP | STRONG | VAR">

<!ENTITY % special "A | APPLET | BASEFONT | BR | FONT | IMG | MAP | SPAN | BDO" >

<!ENTITY % form "INPUT | SELECT | TEXTAREA">

<!ENTITY % inline "#PCDATA | %physical; | %logical; | %special; | %form;">

<!ENTITY % list "UL | OL | DIR | MENU">

<!ENTITY % preformatted "PRE">

<![ %HTML.deprecated; [
<!ENTITY % block
     "P | %list; | DL | %preformatted; | DIV | BLOCKQUOTE | FORM | HR | TABLE |
      CENTER">
]]>

<!ENTITY % block
     "P | %list; | DL | %preformatted; | DIV | BLOCKQUOTE | FORM | HR | TABLE"> 
      
<!ENTITY % flow "(%inline; | %block; | ADDRESS)*" >
<!-- %flow; is used for list items LI and DD, form and table cell content -->

<!-- end of hier.mod -->]]>


<!-- Headings ......................................... -->
<!ENTITY % HTML.heading    "INCLUDE" >
<![ %HTML.heading; [
    <!ENTITY % heading.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Headings//EN"
        "heading.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Headings Module ..............................................
     file: heading.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)heading.mod	1.10 - 97/09/24 17:32:03 altheim $

     Revisions:
#    1997-05-02  heading.mod    added %attrs; to H1-H6; strict content model
#    1997-06-06  heading.mod    implemented structured heading model (Hn,Bn)
     ....................................................................... -->

<!-- Headings .........................................................

     There are six levels of headers from H1 (the most important) to H6
     (the least important). With %HTML.recommended; as "INCLUDE", this 
     DTD allows only hierarchically ordered headings. The first heading 
     may be H1-H6, followed by one or more of the same or next higher-
     numbered heading level. Heading levels may be skipped, but the 
     lower-to-higher numerical progression must be maintained. 

     %heading.model defines the BODY-level containment for headings, and
     defines one optional heading H1-H6 at the BODY level. All others
     are contained within the B1-B6 elements below this initial header, 
     although DIV elements may be used to obtain multiple heading 'trees'
     within the same document.

     The 'flathead' alternative follows the unstructured model of HTML 3.2. 

     IMPORTANT:
     The B1-B6 elements are used to contain level information, and under
     NO circumstances are to be used as markup in the document instance.

;  H1-H6             : headings
;      %attrs;
;      align         : text alignment
-->

<!ENTITY % heading "H1 | H2 | H3 | H4 | H5 | H6" >

<!ELEMENT (%heading;)  - -  (%inline;)* ><!-- heading title content -->

<![ %HTML.recommended; [
<!ENTITY % heading.model "((H1,B1)|(H2,B2)|(H3,B3)|(H4,B4)|(H5,B5)|(H6,B6))?" >
<!ELEMENT B1   O O  (((H1,B1)*|(H2,B2)*|(H3,B3)*|(H4,B4)*|(H5,B5)*|(H6,B6)*) & (%flow;)*) >
<!ELEMENT B2   O O  (((H2,B2)*|(H3,B3)*|(H4,B4)*|(H5,B5)*|(H6,B6)*) & (%flow;)*) >
<!ELEMENT B3   O O  (((H3,B3)*|(H4,B4)*|(H5,B5)*|(H6,B6)*) & (%flow;)*) >
<!ELEMENT B4   O O  (((H4,B4)*|(H5,B5)*|(H6,B6)*) & (%flow;)*) >
<!ELEMENT B5   O O  (((H5,B5)*|(H6,B6)*) & (%flow;)*) >
<!ELEMENT B6   O O  ((H6,B6)* & (%flow;)*) >

<!ENTITY % HTML.flathead "IGNORE" >
]]>

<!ENTITY % HTML.flathead "INCLUDE" >
<![ %HTML.flathead; [
<!ENTITY % heading.model "(%heading;)*">
]]>

<!ATTLIST (%heading;)
        %attrs;
        align  (left|center|right) #IMPLIED
        >

<!-- end of heading.mod -->]]>


<!-- Document Body .................................... -->
<!ENTITY % HTML.body       "INCLUDE" >
<![ %HTML.body; [
    <!ENTITY % body.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Document Body//EN"
        "body.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Body Module ...................................................
     file: body.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)body.mod	1.9 - 97/09/24 17:30:24 altheim $

     Revisions:
#    1997-05-01  body.mod       deprecated CENTER
#    1997-05-02  body.mod       added %attrs; on BODY
     ....................................................................... -->

<!-- ............................................................
;  BODY              : document body
;      %attrs;
;      background    : texture tile for document background 
;      bgcolor       : background color for document body
;      text          : body text color
;      link          : unvisited link color
;      vlink         : visited link color
;      alink         : activated link color
-->
<![ %HTML.recommended; [
<!ENTITY % body.content "((%heading.model;) & (%flow;)*)">
]]>

<!ENTITY % body.content "(%heading; | %flow;)*">

<!ELEMENT BODY - -  %body.content; >
<!ATTLIST BODY
       %attrs;
       background %url; #IMPLIED
       bgcolor %color;  #IMPLIED
       text    %color;  #IMPLIED
       link    %color;  #IMPLIED
       vlink   %color;  #IMPLIED
       alink   %color;  #IMPLIED
       >

<!-- .............................................................
;  DIV               : generic document division
;      %attrs;
;      align         : alignment of following text
-->
<!ELEMENT DIV - - %body.content; >
<!ATTLIST DIV
       %attrs;
       align   (left|center|right) #IMPLIED
       >

<![ %HTML.deprecated; [
<!-- .............................................................
;  CENTER            : shorthand for DIV align=center
;      %attrs;
-->
  <!ELEMENT CENTER - - %flow; >
  <!ATTLIST CENTER
       %attrs;
       >
]]>

<!-- end of body.mod -->]]>


<!-- Text Markup ...................................... -->
<!ENTITY % HTML.text         "INCLUDE" >
<![ %HTML.text; [
    <!ENTITY % text.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Text Markup//EN"
       "text.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Text Markup Module ...........................................
     file: text.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)text.mod	1.12 - 97/09/24 17:32:24 altheim $

     Revisions:
#    1997-05-01  text.mod       excluded MAP from PRE
#    1997-05-02  text.mod       added %attrs; to ADDRESS, BASEFONT, BLOCKQUOTE, BR, FONT 
#                               added SPAN,BDO declarations
#                               removed long-deprecated XMP, LISTING, PLAINTEXT
#    1997-05-07  text.mod       restricted BLOCKQUOTE to (%inline;|P)*
#    1997-06-10  text.mod       recommended required end tags on P
#    1997-06-13  text.mod       deprecated BIG and SMALL
#    1997-06-26  text.mod       no P within P, BDO within BDO
#    1997-07-15  text.mod       allow TABLE in P, %flow; in depr. P, no P in P
     ....................................................................... -->

<!-- ............................................................. 
;  BDO               : BiDirectional Override container
;      lang          : RFC 1766 language tag
;      dir           : text directionality   
;      id            : element identifier    
;      class         : for subclassing elements 
-->
<!ELEMENT BDO - - (%inline;)+ -(BDO)>
<!ATTLIST BDO
       lang  NAME      #IMPLIED
       dir  (ltr|rtl)  #REQUIRED
       id    ID        #IMPLIED
       class NAMES     #IMPLIED
       >

<!-- .............................................................
;  SPAN              : Generic Inline Container
;      %attrs;
-->
<!ELEMENT SPAN - - (%inline;)* >
<!ATTLIST SPAN
       %attrs;
       >

<!-- .............................................................
;  P                 : paragraphs
;      %attrs;
;      %just;
-->
<![ %HTML.para; [
<!ENTITY % P.contain  "-(P)" ><!-- no P containment -->]]>

<!ENTITY % P.contain  ""     ><!-- P containment ok -->

<![ %HTML.recommended; [
<!ELEMENT P  - -  (%inline;|TABLE)* %P.contain; >]]>

<![ %HTML.not-recommended; [
<!ELEMENT P  - O  (%flow;)* %P.contain; >]]>

<!ATTLIST P
       %attrs;
       %just;
       >

<!-- ............................................................. 
;  BR                : forced line break
;      clear         : control of text flow 
-->
<!ELEMENT BR    - O EMPTY >
<!ATTLIST BR
       clear (left|all|right|none) none
       >

<!-- ............................................................. 
;  HR                 : horizontal rule
;      id             : element identifier
;      class          : for subclassing elements
;      align          :
;      noshade        :
;      size           :
;      width          :
-->
<!ELEMENT HR    - O EMPTY >
<!ATTLIST HR
       id      ID      #IMPLIED
       class   NAMES   #IMPLIED
       align   (left|right|center) #IMPLIED
       noshade (noshade) #IMPLIED
       size    %pixels;  #IMPLIED
       width   %length;  #IMPLIED
       >

<!-- .............................................................
;  ADDRESS            : address, signature, or byline
;      %attrs;
;      %just;     
-->
<!ELEMENT ADDRESS - - ((%inline;) | P)* >
<!ATTLIST ADDRESS
       %attrs;
       %just;
       >

<!-- .............................................................
;  BLOCKQUOTE         : block-like quotes
;      %attrs;
;      %just;     
-->
<!ELEMENT BLOCKQUOTE - - ((%inline;) | P)* >
<!ATTLIST BLOCKQUOTE
        %attrs;
        %just;
        >

<!-- .............................................................
;  FONT               : local change to font
;      size           : [+]nn e.g. size="+1", size=4
;      color          : font color specification
-->
<!ELEMENT FONT - - (%inline;)* >
<!ATTLIST FONT
        size    CDATA    #IMPLIED
        color   %color;  #IMPLIED
        >

<!-- .............................................................
;  BASEFONT           : base font size (1 to 7)
;      size           : e.g. size=3
-->
<!ELEMENT BASEFONT - O EMPTY >
<!ATTLIST BASEFONT
        size    CDATA   #IMPLIED
        >

<!-- .............................................................
;  PRE                : preformatted text
;      %attrs;
;      align          :
;      width          :
-->

<![ %HTML.deprecated; [
<!ENTITY % pre.exclusion "IMG|MAP|SUB|SUP|FONT|BIG|SMALL" >
<!-- excludes images and changes in font size -->
]]>

<!ENTITY % pre.exclusion "IMG|MAP|SUB|SUP|FONT" >
<!-- excludes images and changes in font size -->

<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) >
<!ATTLIST PRE
        %attrs;
        align  (left|right)  #IMPLIED
        width NUMBER #IMPLIED
        >

<!-- General Font and Phrase Declaration ......................... -->

<!ELEMENT (%physical;|%logical;) - - (%inline;)*>
<!ATTLIST (%physical;|%logical;)
        %attrs;
        >

<!-- end of text.mod -->]]>


<!-- Anchor Markup .................................... -->
<!ENTITY % HTML.anchor       "INCLUDE" >
<![ %HTML.anchor; [
    <!ENTITY % anchor.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Anchors//EN"
        "anchor.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Anchor Module ................................................
     file: anchor.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)anchor.mod	1.8 - 97/09/24 17:30:35 altheim $

     Revisions:
#    1997-05-02  anchor.mod     added %attrs; to A
#    1997-06-11  anchor.mod     added %xml-link-attrs; to A
     ....................................................................... -->

<!-- .............................................................
;  A                 : anchor element
;      %attrs;
;      %xml-link-attrs;
;      name          : named link end
;      href          : URL for linked resource
;      rel           : forward link types
;      rev           : reverse link types
-->
<!ELEMENT A - - (%inline;)* -(A)>
<!ATTLIST A
       %attrs;
       %xml-link-attrs;
       name    CDATA   #IMPLIED
       href    %url;   #IMPLIED
       rel     CDATA   #IMPLIED
       rev     CDATA   #IMPLIED
       >

<!-- end of anchor.mod -->]]>


<!-- Images w/Client-Side Image Maps .................. -->
<![ %HTML.csismap; [
    <!ENTITY % csismap.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Client-Side Image Maps//EN"
        "csismap.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Client-side ImageMap Module ..................................
     file: csismap.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)csismap.mod	1.7 - 97/09/24 17:31:36 altheim $

     Revisions:
#    1997-05-02  csismap.mod    added %attrs; to MAP and AREA
#    1997-06-11  csismap.mod    added %xml-link-attrs; to AREA
     ....................................................................... -->

<!-- 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 -->

<!-- .............................................................
;  MAP               : client-side image map
;      %attrs;
;      name          :
-->
<!ELEMENT MAP - - (AREA)*>
<!ATTLIST MAP
       %attrs;
       name  CDATA  #IMPLIED
       >

<!-- .............................................................
;  AREA              : client-side image map area definition
;      %attrs;
;      %xml-link-attrs;
;      shape         : rect|circle|poly
;      coords        : defines coordinates for shape
;      href          : this region acts as hypertext link
;      nohref        : this region has no action
;      alt           : needed for non-graphical user agents
-->
<!ELEMENT AREA - O EMPTY>
<!ATTLIST AREA
       %attrs;
       %xml-link-attrs;
       shape   %shape;  rect
       coords  %coords; #IMPLIED
       href    %url;    #IMPLIED
       nohref (nohref)  #IMPLIED
       alt     CDATA    #REQUIRED
       >

<!-- end of csismap.mod -->]]>


<!-- Images ........................................... -->
<!ENTITY % HTML.image      "INCLUDE" >
<![ %HTML.image; [
    <!ENTITY % image.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Images//EN"
        "image.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Images Module ...................................................
     file: image.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)image.mod	1.8 - 97/09/24 17:31:57 altheim $

     Revisions:
#    1997-05-02  image.mod      added %attrs; to IMG
#    1997-06-11  image.mod      added %xml-link-attrs; to IMG
#    1997-07-15  image.mod      added entityref attrib to IMG
     ....................................................................... -->

<!-- Images ......................................................

     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.

;  IMG               : image
;      %attrs;
;      %xml-link-attrs;
;      src           : URL of image to embed 
;      alt           : text alternative to image 
;      align         : vertical or horizontal alignment 
;      entityref     : for conversion to entity reference 
;      height        : suggested height in pixels 
;      width         : suggested width in pixels 
;      border        : suggested link border width 
;      hspace        : suggested horizontal gutter 
;      vspace        : suggested vertical gutter 
;      usemap        : use client-side image map 
;      ismap         : use server image map 
-->

<!ENTITY % ialign "(top|middle|bottom|left|right)" >

<!ELEMENT IMG    - O EMPTY >
<!ATTLIST IMG
       %attrs;
       %xml-link-attrs;
       src       %url;    #REQUIRED
       alt       CDATA    #IMPLIED
       align     %ialign; #IMPLIED
       entityref ENTITY   #IMPLIED
       height    %pixels; #IMPLIED
       width     %pixels; #IMPLIED
       border    %pixels; #IMPLIED
       hspace    %pixels; #IMPLIED
       vspace    %pixels; #IMPLIED
       usemap    %url;    #IMPLIED
       ismap     (ismap)  #IMPLIED
       >

<!-- end of image.mod -->]]>


<!-- Link Markup ...................................... -->
<!ENTITY % HTML.link       "INCLUDE" >
<![ %HTML.link; [
    <!ENTITY % link.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Link//EN"
        "link.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Link Module ..................................................
     file: link.mod
 
     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)link.mod	1.6 - 97/09/24 17:32:07 altheim $

     Revisions:
#    1997-05-02  link.mod       added %attrs; to LINK
     ....................................................................... -->

<!-- The LINK Element ............................................

     See: http://www.sq.com/papers/Relationships.html 
     previously: IETF 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

;  LINK              : link element
;      %attrs;       : note that advisory title is in %attrs;
;      href          : URL for linked resource
;      rel           : forward link types
;      rev           : reverse link types
-->

<!ENTITY % link-types  "CDATA" >
<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
       %attrs;
       href    %url;         #IMPLIED
       rel     %link-types;  #IMPLIED
       rev     %link-types;  #IMPLIED
       >

<!-- end of link.mod -->]]>


<!-- Java Applets ..................................... -->
<!ENTITY % HTML.applet         "INCLUDE" >
<![ %HTML.applet; [
    <!ENTITY % applet.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Java Applets//EN"
        "applet.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Java Applet Module ...........................................
     file: applet.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)applet.mod	1.7 - 97/09/24 17:30:43 altheim $

     Revisions:
#    1997-05-02  applet.mod     added ID/CLASS on APPLET and PARAM
#    1997-06-27  applet.mod     added ARCHIVE and OBJECT attributes on APPLET
     ....................................................................... -->

<!-- Java APPLETs ................................................ -->
<!--
     The APPLET element is supported by all Java-enabled browsers. Applet
     resources are normally loaded relative to the document URL (or BASE
     element if defined). The CODE attribute specifies a relative URL
     pointing to the file containing the compiled Java code for the applet.
     The OBJECT attribute specifies the name of a file containing a serial-
     ized applet that is to be created by deserialization. An applet must
     have either CODE or OBJECT specified, but not both.
   
     The optional CODEBASE attribute specifies an alternate base URL for the
     the directory containing applet resources. If specified as an absolute
     URL, the document BASE element is ignored. 
   
     The optional ARCHIVE attribute specifies a comma-separated list of JAR
     (Java ARchive) files to be 'preloaded' by the Web browser or applet
     viewer.
   
     The WIDTH, HEIGHT, ALIGN, HSPACE and VSPACE attributes are defined the
     same way as IMG elements. WIDTH and HEIGHT are required.
    
     The ALT attribute provides alternative text to display should the 
     browser understand the APPLET element but be unable to run Java applets.

;  APPLET            : Java Applet
;      id            : element identifier
;      class         : for subclassing elements
;      archive       : comma-sep. list of Java ARchives 
;      code          : class file 
;      codebase      : base URL of applet 
;      name          : applet name 
;      object        : serialized applet file 
;      width         : suggested width in pixels 
;      height        : suggested height in pixels 
;      align         : vertical or horizontal alignment 
;      hspace        : suggested horizontal gutter 
;      vspace        : suggested vertical gutter 
;      alt           : for display in place of applet 
-->
<!ELEMENT APPLET - - (PARAM | %inline;)*>
<!ATTLIST APPLET
       id       ID       #IMPLIED
       class    NAMES    #IMPLIED
       archive  CDATA    #IMPLIED
       code     CDATA    #IMPLIED
       codebase %url;    #IMPLIED
       name     CDATA    #IMPLIED
       object   CDATA    #IMPLIED
       width    %pixels; #REQUIRED
       height   %pixels; #REQUIRED
       align    %ialign; #IMPLIED
       hspace   %pixels; #IMPLIED
       vspace   %pixels; #IMPLIED
       alt      CDATA    #IMPLIED
       >

<!-- .............................................................
;  PARAM             : named property value
;      id            : element identifier
;      class         : for subclassing elements
;      name          : the name of the parameter
;      value         : the value of the parameter
-->
<!ELEMENT PARAM - O EMPTY>
<!ATTLIST PARAM
       id       ID       #IMPLIED
       class    NAMES    #IMPLIED
       name     NMTOKEN  #REQUIRED
       value    CDATA    #IMPLIED
       >

<!-- end of applet.mod -->]]>


<!-- Lists ............................................ -->
<!ENTITY % HTML.list       "INCLUDE" >
<![ %HTML.list; [
    <!ENTITY % list.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Lists//EN"
        "list.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Lists Module .................................................
     file: list.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)list.mod	1.11 - 97/09/24 17:32:13 altheim $

     Revisions:
#    1997-05-02  list.mod        added %attrs; to DL,DT,DD,OL,UL,DIR,MENU,LI
#                                added %just; to OL,UL,DIR,MENU,LI
#    1997-06-10  list.mod        require end tags on DT, DD, and LI
#    1997-07-15  list.mod        allow A in DL,UL,OL in deprecation
     ....................................................................... -->

<!-- Lists ....................................................... -->

<![ %HTML.deprecated; [
<!ENTITY % DL.content  "( A*,(DT|DD)+)" ><!-- allow initial anchor in DL -->]]>

<!ENTITY % DL.content  "(DT|DD)+" >

<!-- .............................................................
;  DL                : definition list
;      %attrs;
;      compact       : more compact style
;  DT                : definition list term
;      %attrs;
;  DD                : definition list definition
;      %attrs;
-->
<!ELEMENT DL - -  %DL.content; >
<!ATTLIST DL
        %attrs;
        compact (compact) #IMPLIED
        >

<![ %HTML.recommended; [
<!ELEMENT DT - - (%inline;)* ><!-- required end tags -->
<!ELEMENT DD - - %flow;      >]]>

<![ %HTML.not-recommended; [
<!ELEMENT DT - O (%inline;)* ><!-- optional end tags -->
<!ELEMENT DD - O %flow;      >]]>

<!ATTLIST (DT|DD)
       %attrs;
       >

<!-- Ordered and unordered, directory and menu 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.

;  OL                : ordered list
;      %attrs;
;      %just;
;      type          : numbering style
;      start         : starting sequence number
;      compact       : reduced interitem spacing
;  UL                : unordered list
;      %attrs;
;      %just;
;      type          : bullet style
;      compact       : reduced interitem spacing
-->

<![ %HTML.deprecated; [
<!ENTITY % list.content  "( A*,(LI)+)" ><!-- allow initial anchor in DL -->]]>

<!ENTITY % list.content  "(LI)+" >

<!ELEMENT (OL|UL) - -  %list.content; >

<!ENTITY % ol-style "CDATA" >

<!-- List Numbering Style, constrained to: [1|a|A|i|I] 

         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.

     Note that in non-English applications, the i18n attributes should
     be used to determine proper numbering for the target language.
-->
  
<!ATTLIST OL
       %attrs;
       %just;
       type     %ol-style; #IMPLIED
       start    NUMBER     #IMPLIED
       compact (compact)   #IMPLIED
       >

<!ENTITY % ul-style "disc|square|circle"><!-- bullet styles -->

<!ATTLIST UL
       %attrs;
       %just;
       type    (%ul-style;) #IMPLIED
       compact (compact)    #IMPLIED
       >

<!-- .............................................................
;  DIR               : directory lists
;      %attrs;
;      %just;
;      compact       : reduced interitem spacing
;  MENU              : menu list
;      %attrs;
;      %just;
;      compact       : reduced interitem spacing
-->
<!ELEMENT (DIR|MENU) - -  (LI)+ -(%block) >
<!ATTLIST (DIR|MENU)
       %attrs;
       %just;
       compact (compact) #IMPLIED
       >

<!-- .............................................................
     The type attribute can be used to change the bullet style
     in unordered lists and the numbering style in ordered lists 

;  LI                : list item
;      %attrs;
;      %just;
;      type          : list item style
;      value         : reset sequence number
-->

<!ENTITY % li-style "CDATA" ><!-- constrained to: "(%ul-style;|%ol-style;)" -->

<![ %HTML.recommended; [
<!ELEMENT LI - - %flow; ><!-- list item; required end tags -->]]>

<![ %HTML.not-recommended; [
<!ELEMENT LI - O %flow; ><!-- list item; optional end tags -->]]>

<!ATTLIST LI
       %attrs;
       %just;
       type    %li-style;   #IMPLIED
       value   NUMBER       #IMPLIED
       >

<!-- end of list.mod -->]]>


<!-- Forms ............................................ -->
<![ %HTML.forms; [
    <!ENTITY % forms.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Forms//EN"
        "forms.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Forms Module ...................................................
     file: forms.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)forms.mod	1.8 - 97/09/24 17:34:07 altheim $

     Revisions:
#    1997-05-02  forms.mod      added %attrs; on FORM elements
#                               added accept, accept-charset on INPUT
#                               added accept-charset on TEXTAREA
#    1997-05-07  forms.mod      changed content model of FORM from %body.content; to %flow;
#    1997-06-11  forms.mod      require end tag on OPTION
     ....................................................................... -->

<!-- Forms ....................................................... -->

<!-- 
;  FORM              : forms
;      %attrs;
;      action        : server-side form handler
;      method        : see HTTP specification
;      enctype       : an Internet media type, as per [RFC2045]
-->
<!ELEMENT FORM - - %flow; -(FORM)>
<!ATTLIST FORM
       %attrs;
       action  %url;          #IMPLIED
       method (%http-method;) GET
       enctype %content-type; "application/x-www-form-urlencoded"
       >

<!ENTITY % input-type
      "(TEXT  | PASSWORD | CHECKBOX |
       RADIO | SUBMIT | RESET |
       FILE  | HIDDEN | IMAGE)">

<!-- .............................................................
;  INPUT             : form input widget
;      %attrs;
;      type          : what kind of widget is needed
;      name          : required for all but submit and reset 
;      value         : required for radio and checkboxes 
;      checked       : for radio buttons and check boxes 
;      size          : specific to each type of field 
;      maxlength     : max chars allowed in text fields 
;      src           : for fields with background images 
;      align         : vertical or horizontal alignment 
;      accept        : list of content types 
;      accept-charset : list of charsets accepted 
-->
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
       %attrs;
       type    %input-type; TEXT
       name    CDATA       #IMPLIED
       value   CDATA       #IMPLIED
       checked (checked)   #IMPLIED
       size    CDATA       #IMPLIED
       maxlength NUMBER    #IMPLIED
       src     %url;       #IMPLIED
       align   %ialign;    #IMPLIED
       accept  CDATA       #IMPLIED
       accept-charset CDATA #IMPLIED
       >

<!-- .............................................................
;  SELECT            : form selection widget
;      %attrs;
;      name          :
;      size          :
;      multiple      : allow multiple selection
-->
<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
       %attrs;
       name    CDATA       #REQUIRED
       size    NUMBER      #IMPLIED
       multiple (multiple) #IMPLIED
       >

<!-- .............................................................
;  OPTION            : form option list
;      %attrs;
;      selected      :
;      value         : defaults to element content
-->
<!ELEMENT OPTION - - (#PCDATA)*>
<!ATTLIST OPTION
       %attrs;
       selected (selected) #IMPLIED
       value  CDATA        #IMPLIED
       >

<!-- .............................................................
;  TEXTAREA          : form multi-line text input field
;      %attrs;
;      name          : 
;      rows          : field height in chars
;      cols          : field width in chars
;      accept-charset : list of charsets accepted
-->
<!ELEMENT TEXTAREA - - (#PCDATA)*>
<!ATTLIST TEXTAREA
       %attrs;
       name CDATA #REQUIRED
       rows NUMBER #REQUIRED
       cols NUMBER #REQUIRED
       accept-charset CDATA #IMPLIED
       >

<!-- end of forms.mod -->]]>


<!-- Tables ........................................... -->
<![ %HTML.tables; [
    <!ENTITY % tables.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Tables//EN"
        "tables.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Tables Module ................................................
     file: tables.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)tables.mod	1.5 - 97/09/24 18:22:48 altheim $

     Revisions:
#    1997-05-02  tables.mod     added %attrs; to TABLE,CAPTION,TR,TH,TD; %just; to CAPTION
#    1997-05-07  tables.mod     changed content of TH,TD from %body.content; to %flow;
#    1997-06-10  tables.mod     AXIS/AXES added to TH|TD; recommended: end tags on TR, TH and TD 
#    1997-06-11  tables.mod     recommended: TH allowed only as initial row and column cells
#    1997-08-22  tables.mod     changed TH|TD WIDTH and HEIGHT values from %pixels; to %length;
#    1997-09-24  tables.mod     removed restriction on TH only as initial row and column cells
     ....................................................................... -->

<!-- Extension of W3C HTML 3.2 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 

;  TABLE             : table element
;      %attrs;
;      align         : table position relative to window
;      role          : data table or as layout tool
;      width         : table width relative to window
;      border        : controls frame width around table
;      cellspacing   : spacing between cells
;      cellpadding   : spacing within cells
-->
<!ELEMENT table   - - (caption?, tr+) >

<![ %HTML.recommended; [
<!ELEMENT tr      - - (th|td)+ >
<!ELEMENT (th|td) - - (%flow;)* >
]]>

<![ %HTML.not-recommended; [
<!ELEMENT tr      - O (th|td)+ >
<!ELEMENT (th|td) - O (%flow;)* >
]]>

<!ATTLIST table
       %attrs;
       align (left|center|right) #IMPLIED
       role  (layout|data)   #IMPLIED
       width       %length;  #IMPLIED
       border      %pixels;  #IMPLIED
       cellspacing %pixels;  #IMPLIED
       cellpadding %pixels;  #IMPLIED
       >

<!-- .............................................................
;  CAPTION           : table or figure caption
;      %attrs;
;      align         :
-->
<!ELEMENT CAPTION - - (%inline;)* >
<!ATTLIST CAPTION
       %attrs;
       align (top|bottom|left|center|right) #IMPLIED
       >

<!-- .............................................................
;  TR                : table row
;      %attrs;
;      align         : horiz alignment in cells
;      valign        : vert alignment in cells
-->
<!ATTLIST tr
       %attrs;
       align  (left|center|right) #IMPLIED
       valign (top|middle|bottom) #IMPLIED
       >

<!-- .............................................................
;  TH|TD             : header or data cell
;      %attrs;
;      align         : table position relative to window
;      axis          : cell coordinate label
;      axes          : comma-sep. list of axis names      
;      rowspan       : number of rows spanned by cell     
;      colspan       : number of cols spanned by cell     
;      align         : horiz alignment in cell  
;      valign        : vert alignment in cell   
;      width         : suggested width for cell           
;      height        : suggested height for cell          
;      nowrap        : suppress word wrap                 
-->
<!ATTLIST (th|td)
       %attrs;
       axis    CDATA    #IMPLIED
       axes    CDATA    #IMPLIED
       rowspan NUMBER   1
       colspan NUMBER   1
       align  (left|center|right) #IMPLIED
       valign (top|middle|bottom) #IMPLIED
       width   %length;  #IMPLIED
       height  %length;  #IMPLIED
       nowrap (nowrap)  #IMPLIED
       >

<!-- end of tables.mod -->]]>


<!-- Math ............................................. -->
<![ %HTML.math; [
    <!ENTITY % math.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Math//EN"
        "math.mod" >
%math.module;
<!-- end of math.mod -->]]>


<!-- Document Head .................................... -->
<!ENTITY % HTML.head       "INCLUDE" >
<![ %HTML.head; [
    <!ENTITY % head.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Document Head//EN"
        "head.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Document Head Module .........................................
     file: head.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)head.mod	1.9 - 97/09/24 17:31:48 altheim $

     Revisions:
#    1997-05-02  head.mod       added %attrs; on HEAD, TITLE, ISINDEX
#    1997-06-11  head.mod       added %attrs; on META, STYLE and SCRIPT
#    1997-06-16  head.mod       deprecated SCRIPT
     ....................................................................... -->

<!-- .............................................................
;  HEAD              : document head
;      %attrs;
-->
<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">

<!-- repeatable head elements -->
<![ %HTML.deprecated; [
<!ENTITY % head.misc "LINK | META | STYLE | SCRIPT" >
]]>
<!ENTITY % head.misc "LINK | META | STYLE" >

<!ELEMENT HEAD - -  (%head.content;) +(%head.misc;)>
<!ATTLIST HEAD
       %attrs;
       >

<!-- .............................................................
     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.
;  TITLE             : document title
;      %attrs;
-->
<!ELEMENT TITLE - -  (#PCDATA)* -(%head.misc;) >
<!ATTLIST TITLE
       %attrs;
       >

<!-- .............................................................
;  ISINDEX           :
;      %attrs;
;      prompt        : prompt message
-->
<!ELEMENT ISINDEX - O EMPTY>
<!ATTLIST ISINDEX
       %attrs;
       prompt  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.

;  BASE              : base element
;      href          :
-->
<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
       href  %url;  #REQUIRED
       >

<!-- ............................................................
;  META              : generic document metainformation
;      %attrs;
;      http-equiv    : HTTP response header name
;      name          : metainformation name
;      content       : associated information
-->
<!ELEMENT META - O EMPTY >
<!ATTLIST META
       %attrs;
       http-equiv  NAME    #IMPLIED
       name        NAME    #IMPLIED
       content     CDATA   #REQUIRED
       >

<!-- ............................................................
;  STYLE             : stylesheet container
;      %attrs;
;      type          : style language content type
;      media         : media type
-->
<!ELEMENT STYLE  - - CDATA >
<!ATTLIST STYLE
       %attrs;
       type   CDATA    #REQUIRED
       media  CDATA    #IMPLIED
       >

<![ %HTML.deprecated; [
<!-- ............................................................
;  SCRIPT            : inline script statement
;      %attrs;        
;      type          : script language content type
;      language      : predefined script language name
;      src           : URL for an external script
-->
<!ELEMENT SCRIPT - - CDATA >
<!ATTLIST SCRIPT
       %attrs;        
       type  CDATA     #IMPLIED
       language CDATA  #IMPLIED
       src   %url;     #IMPLIED
       >

<!-- ............................................................
;  NOSCRIPT          : non-script alternative
;      %attrs;
-->
<!ELEMENT NOSCRIPT - - (%body.content;)>
<!ATTLIST NOSCRIPT
       %attrs;
       >
]]>

<!-- end of head.mod -->]]>


<!-- Document Structure ............................... -->
<!ENTITY % HTML.structure  "INCLUDE" >
<![ %HTML.structure; [
    <!ENTITY % structure.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Document Structure//EN"
        "struct.mod" >
<!-- ....................................................................... -->
<!-- SHML 1.0 Document Structure Module ....................................
     file: structure.mod

     This is SHML 1.0, a variant of the W3C HTML 3.2 DTD.
     Copyright 1997 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)struct.mod	1.8 - 97/09/24 17:32:35 altheim $

     Revisions:
#    1997-05-02  struct.mod     added %attrs; to HTML
     ....................................................................... -->

<!-- Document Structure .......................................... -->

<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.version;'" >

<!ENTITY % html.content "HEAD, BODY" >

<!-- .............................................................
;  HTML              : Document Container
;      %attrs;
;      %version.attrs;
-->
<!ELEMENT HTML - -  (%html.content;) >
<!ATTLIST HTML
       %attrs;
       %version.attr;
       >

<!-- end of structure.mod -->]]>

<!-- end of HTML DTD 3.2-Based Variant SHML 1.0 ........................... -->
<!-- ...................................................................... -->
