#?SuikaWikiConfig/2.0

ModuleSet:
  @Name: Hypertext Markup Language
  @Version: 3.0 (draft 00)
  @ID: html30-00
  @BaseURI:
    http://suika.fam.cx/www/markup/html/dtd/module/
  
  @Namespace:
    @@Name:
      urn:x-suika-fam-cx:markup:ietf:html:3:draft:00:
    @@DefaultPrefix: H3
    @@UsePrefix: 0
  
  @Copyright: Wakaba <w@suika.fam.cx>
  @RCSDate:
    $Date: 2005/04/05 01:49:12 $

Datatype:
  @Type:
    @@Name: classes
    @@XMLType: NMTOKENS
    @@Description: 
      @@@lang:en
      @@@@:
        A space-separated list of SGML NAME tokens.  By convention, the 
        class names are interpreted hierarchically, with the most 
        general class at the first and the most specific at the last,
        where classes are separated by a period.
  
  @Type:
    @@Name: clear
    @@XMLType: NMTOKENS
    @@Description: (left|right|all|<number> <unit>)

  @Type:
    @@Name: id
    @@XMLType: ID
    @@Description:
      @@@lang:en
      @@@@:
        HTML 3.0 Unique Identifiers
  
  @Type:
    @@Name: LanguageCode
    @@XMLType: CDATA
    @@Description: 
      @@@lang:en
      @@@@:
          A two letter language code from ISO 639, optionally followed 
          by a period and a two letter country code from ISO 3166.

  @Type:
    @@Name:
      :LanguageCode
    @@XMLType: CDATA
    @@Description: IETF Language Tag or empty string (See XML 1.0 TE)
  
  @Type:
    @@Name: md5
    @@XMLType: CDATA
    @@Description: MD5 checksum
  
  @Type:
    @@Name: NUMBER
    @@XMLType: NMTOKEN
    @@Description: SGML.NUMBER
  
  @Type:
    @@Name:
      :URI
    @@XMLType: CDATA
    @@Description: URI Reference

Attribute:
  @AttributeSet:
    @@Name: common
    @@REF:
      xml:base
    @@REF:
      xml:lang
    @@REF:
      xml:space
  
  @AttributeSet:
    @@Name: block.align
    @@Attribute:
      @@@Name: "align"
      @@@Type: "(bleedleft|left|center|right|bleedright|justify)"
      @@@Default: "center"
  
  @AttributeSet:
    @@Name: class
    @@Attribute:
      @@@Name: "class"
      @@@Type: classes
      @@@Description:
        @@@@lang:en
        @@@@@:
          Subclassing element type names.  For instance, 
          <div class="appendix"> defines a division that acts as an appendix.
          \
          The class attribute is most commonly used to attach a different
          style to some element, but it is recommended that where 
          practical class names should be picked on the basis of the 
          element's semantics, as this will permit other uses, 
          such as restricting search through documents by matching on 
          element class names.
  
  @AttributeSet:
    @@Name: id
    @@Attribute:
      @@@Name: "id"
      @@@Type: id
      @@@Description:
        @@@@lang:en
        @@@@@:
          An SGML identifier used as the target for hypertext links
          or for naming particular elements in associated
          style seets.
          \
          Use of this attribute is deprecated; use xml:id attribute instead.
  
  @AttributeSet:
    @@Name: imagemap
    @@Attribute:
      @@@Name: "imagemap"
      @@@Type:
        :URI
    @@Description: a URI for processing image clicks and drags
  
  @AttributeSet:
    @@Name: lang
    @@Attribute:
      @@@Name: "lang"
      @@@Type: LanguageCode
      @@@Default: #IMPLIED
      @@@Description:
        @@@@lang:en
        @@@@@:
          Language abbreviation.  It can be used by parsers to select
          language specific choices for quotation marks, ligatures,
          hypenation rules, etc.
          \
          This attribute is deprecated; use xml:lang attribute instead.
      @@@ImplNote:
        @@@@lang:en
        @@@@@:
          HTML 3.0 draft 00 declares default value as "en.us", which
          has some problem with regard to inheriting.
  
  @AttributeSet:
    @@Name: Size
    @@Attribute:
      @@@Name: "width"
      @@@Type: NUMBER
    @@Attribute:
      @@@Name: "height"
      @@@Type: NUMBER
    @@Attribute:
      @@@Name: "units"
      @@@Type: "(en|pixels)"
      @@@Default: "pixels"
  
  @AttributeSet:
    @@Name: src
    @@Attribute:
      @@@Name: "src"
      @@@Type:
        :URI
  @AttributeSet:
    @@Name: src.required
    @@Attribute:
      @@@Name: "src"
      @@@Type:
        :URI
      @@@Default: #REQUIRED
  
  @AttributeSet:
    @@Name: attrs
    @@ref: id
    @@ref: lang
    @@ref: class
  
  @AttributeSet:
    @@Name: needs
    @@Attribute:
      @@@Name: "clear"
      @@@Type: clear
    @@Description: Attributes for controlling text flow
  
  @AttributeSet:
    @@Name: url.link
    @@Attribute:
      @@@Name: "md"
      @@@Type: md5
    @@Description: Attributes associated with URL based links

Module:
  @ID: struct
  
  @Element:
    @@Name: banner
    @@Content: $body.content
    @@Attribute:
      @@@ref: attrs
    @@Description:
      Used for corporate logos, navigation aids, disclaimers
      and other information which shouldn't be scrolled with
      the rest of the document.  It provides an alternative to
      using link element in the document head to reference an
      externally defined banner.
  
  @Element:
    @@Name: bodytext
    @@Content: $body.content
    @@Description:
      dummy element
  
  @Element:
    @@Name: fn
    @@Content: $body.content
    @@Attribute:
      @@@ref: attrs
    @@Description:
      footnotes, and when practical, rendered as pop-up notes
  
  @Element:
    @@Name: note
    @@Content: $body.content
    @@Attribute:
      @@@ref: attrs
      @@@ref: src
      @@@ref: url.link
      @@@ref: needs
    @@Description:
      admonishments such as notes,
      cautions or warnings, as commonly used in technical documentation

Module:
  @Name: Inline
  @ID: inline
  
  @Element:
    @@Name: au
    @@Content: $text.content
    @@Attribute:
      @@@ref: attrs
    
    @@Description:
      The name of an author.
  
  @Element:
    @@Name: person
    @@Content: $text.content
    
    @@Attribute:
      @@@ref: attrs
    
    @@Description:
      Names of people to allow these to be extracted
      automatically by indexing programs.

  @Element:
    @@Name: tab
    @@Content: "EMPTY"
    
    @@Attribute:
      @@@ref: attrs
      @@@Attribute:
        @@@@Name:"indent"
        @@@@Type:NUMBER
        @@@@Description:
          @@@@@lang:en
          @@@@@@:
            The number of en units before the tab stop.  This attribute
            is not meaningful when combined with the to attribute.
      @@@Attribute:
        @@@@Name:"to"
        @@@@Type:"IDREF"
        @@@@Description:
          @@@@@lang:en
          @@@@@@:
            A previously defined tab stop.

    @@Description:
      @@@lang:en
      @@@@:
        Controls over the horizontal positioning. 
        \
        See: <http://www.w3.org/MarkUp/html3/tabs.html>

Module:
  @Name: List
  @ID: list
  
  @Element:
    @@Name: lh
    @@Content: $text.content
    @@Attribute:
      @@@ref: attrs
    
    @@Description:
      a title for a list

Module:
  @Name: Figure
  @ID: figure
  
  @Element:
    @@Name: fig
    @@Content:
      (
        overlay*,
        (:caption|caption)?,
        figtext,
        credit?
      )
    @@Attribute:
      @@@ref: attrs
      @@@ref: needs
      @@@ref: url.link
      @@@ref: block.align
      @@@ref: src.required
      @@@Attribute:
        @@@@Name: "noflow"
        @@@@Type: (noflow)
      @@@ref: Size
      @@@ref: imagemap
    
    @@Description:
      figures
  
  @Element:
    @@Name: overlay
    @@Content: "EMPTY"
    @@Attribute:
      @@@ref: url.link
      @@@ref: src.required
      @@@ref: Size
      @@@ref: imagemap
      @@@Attribute:
        @@@@Name: "x"
        @@@@Type: NUMBER
        @@@@Description: X offset from the top left corner of the base image
      @@@Attribute:
        @@@@Name: "y"
        @@@@Type: NUMBER
        @@@@Description: Y offset from the top left corner of the base image
  
  @Element:
    @@Name: figtext
    @@Content: $body.content
    @@Description: dummy element
  
  @Element:
    @@Name: credit
    @@Content: $text.content
    @@Attribute:
      @@@ref: attrs
    @@Description: name the source of a block quotation or figure
