<!--	html-mcom.dtd

        Document Type Definition for the HyperText Markup Language (HTML DTD)
	with Netscape Communications Corp Extensions

	$Id: html-mcom.dtd,v 1.2 1994/10/27 23:10:29 connolly 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.//DTD HTML//EN"

        -- Typical usage:

            <!DOCTYPE HTML PUBLIC "-//Netscape Comm. Corp.//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
	   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 "&#38;"     -- ampersand          -->
<!ENTITY gt CDATA "&#62;"      -- greater than       -->
<!ENTITY lt CDATA "&#60;"      -- less than          -->
<!ENTITY quot CDATA "&#34;"    -- double quote       -->

<!ENTITY reg  CDATA "&#174;"    -- registered trademark -->
<!ENTITY copy CDATA "&#169;"    -- copyright            -->

<!--=================== Text Markup =======================================-->

<![ %HTML.Highlighting [

<!ENTITY % font " TT | B | I | FONT">

<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE | BLINK">

<!ENTITY % text "#PCDATA | 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 #REQUIRED -- should be NUTOKEN, using size=plus3, -->
]]>

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


<!--=================== 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|justify) #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 | 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 CDATA #IMPLIED
	>
<!ATTLIST (OL)
	START NUMBER #IMPLIED
	COMPACT (COMPACT) #IMPLIED
	TYPE CDATA "1"
	>

<!ELEMENT LI    - O %flow>
<!ATTLIST LI
	TYPE CDATA #IMPLIED
	VALUE CDATA #implied>

<!--=================== Document Body =====================================-->

<![ %HTML.Recommended [
	<!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
	-- <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>
<!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>


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


<!--================ 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 &#34;%HTML.Version;&#34;">

<!ATTLIST HTML
	%version.attr;-- report DTD version to application --
	>


