2012年10月1日月曜日

HTML4.0 入門 (HTML DTDの読み方)

DTDでのコメントは前後を -- で覆う。例えば、
<!ELEMENT PARAM -O EMPTY        -- named property value -->
のように。ここでは "named property value" がコメント。


HTML DTD にはパラメータ実体定義というのがある。それは以下の引用のようなことを表す。
HTML DTDは、一連のパラメータ実体定義で開始される。 パラメータ実体定義は、DTDの他の箇所で参照され展開される一種のマクロを定義する。 このマクロは、DTDにのみ出現可能であり、HTML文書には出現し得ない。
DTDにおいてパラメータ実体が名前で参照されるとパラメータ実体は文字列へと展開される。

パラメータ実体の書き方を引用すると、
パラメータ実体の定義は、「<!ENTITY %」というキーワードで始まり、この後に実体名と、引用符で囲った展開された際の文字列とが続き、最後に「>」で閉じられる。 DTD中のパラメータ実体インスタンスは「%」で始まり、パラメータ実体名が続き、「;」で閉じられる。「;」は省略され得る。
ということである。つまり例えをあげると、
<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">
と言う感じの記述である。



HTML DTD の大部分は要素型およびその属性の宣言で構成され、それはキーワード <!ELEMENT で宣言が始まり、 > で宣言が終わる。このキーワードで挟まれる部分の定義を引用すると
  1. 要素名。
  2. 要素のタグが省略可能であるかどうか。 要素名の次に2つのハイフンが現れていれば、これは開始タグも終了タグも共に必須であることを意味する。1つのハイフンの後に大文字Oがあるという組み合わせの場合、終了タグが省略可能であることを意味する。大文字Oが2つだった場合、開始タグと終了タグの両方が省略可能である。
  3. 内容がある要素の場合、その内容。ある要素において許容される内容は、内容モデルと呼ばれる。 内容を持たないよう設計された要素は、空要素と呼ばれる。 空である要素型の内容モデルは、「EMPTY」というキーワードを用いて宣言される。



DTDの属性宣言はキーワード <!ATTLIST である要素が取り得る属性の宣言が始まる。その後に、対象となる要素の名称と属性定義リストが続き、 > で宣言が終了する。各属性定義を引用すると、

  • 属性の名称。
  • 属性の値の型、あるいは可能な値の明示的集合。 DTDで明示的に定義される値には、大文字小文字の区別はない。 属性値の型については、基本HTMLデータの形式の項を参照のこと。
  • 属性の値が、デフォルトで暗示的に存在する (キーワード「#IMPLIED」で示される)のか、常に著者による指定が要求される (キーワード「#REQUIRED」で示される)のか、所定の値に固定される (キーワード「#FIXED」で示される)のかの区別。 「#IMPLIED」の場合、ユーザエージェントはデフォルト値を供給しなければならない。暗示的デフォルト値は親要素から継承される場合もある。 キーワード以外に、デフォルト値が明示的に定められている属性定義もある。

  • 属性の中にはブール変数のような役割を果たすものがある。ある要素の開始タグにブール変数のような役割を果たす属性が存在した場合、属性の値が真であることが示される。また、存在しない場合は値が偽であると判断される。

    0 件のコメント:

    コメントを投稿