<!-- ...................................................................... -->
<!-- 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" >
%basent.mod;
<!-- 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" >
%char.mod;
<!-- 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" >
%hier.module;
<!-- 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" >
%heading.module;
<!-- 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" >
%body.module;
<!-- 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" >
%text.module;
<!-- 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" >
%anchor.module;
<!-- 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" >
%csismap.module;
<!-- 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" >
%image.module;
<!-- 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" >
%link.module;
<!-- 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" >
%applet.module;
<!-- 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" >
%list.module;
<!-- end of list.mod -->]]>


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


<!-- Tables ........................................... -->
<![ %HTML.tables; [
    <!ENTITY % tables.module
       PUBLIC "-//Sun Microsystems//ELEMENTS SHML 1.0 Tables//EN"
        "tables.mod" >
%tables.module;
<!-- 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" >
%head.module;
<!-- 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" >
%structure.module;
<!-- end of structure.mod -->]]>

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