W3C HTML と ISO/JIS HTML では、文書構造という言葉自体が示すものが明確に違うため、ISO/JIS HTML な理論を無理に W3C HTML に適用する必要はないのです。
やや分かりにくい書きかたをしてしまいましたが、ISO-HTML(JIS-HTML)の話をW3CのHTMLに適用しようというのではなく、あくまでISO-HTML(JIS-HTML)の中での話のつもりでした。
具体的には、次のような構成のHTML文書があったとして、
<H1>H1</H1> <H2>H2</H2> <P>P</P> <H3>H3</H3> <P>P</P> <H2>H2</H2> <P>P</P> <ADDRESS>ADDRESS</ADDRESS>
ISO-HTMLとして文法をチェックする際、次のようにDIVn要素が補われた文書が想定されるかと思います。
<H1>H1</H1> <DIV1> <H2>H2</H2> <DIV2> <P>P</P> <H3>H3</H3> <DIV3> <P>P</P> </DIV3> </DIV2> <H2>H2</H2> <DIV2> <P>P</P> <ADDRESS>ADDRESS</ADDRESS> </DIV2> </DIV1>
しかし、このDIVn要素というのは、「見出しレベルの跳び越しがないかどうかをプログラムでチェックするための、便宜上のもの」か、それとも「HTML文書を記述する際に、著者が当然想定しておくべき文書構造までをも示すもの」なのか、というところで疑問を持ちました。
3月3日の闇黒日記では後者を採っているようでしたが、JIS-HTMLの利用者ガイドを読むと、DIVn要素については見出し順序の検証に関連しての記述しかないようなので、前者なのではないかな、と考えて先日の文を書いた次第です。
<ADDRESS>要素は,文書又は文書の主要部分の作成者又は発信元を示す。JIS X 4156は,一般的なマーク付けのためにこの要素型を使用するのは非推奨とし,<BLOCKQUOTE>, <BODY>, <DIV>, <FIELDSET>, <FORM>及び<OBJECT>の各要素の内容の中でだけ出現することを要求する。
と、利用者ガイドのADDRESS要素の説明にはありますが、これをそのまま受け取れば、BODY要素内に書かれたADDRESS要素は、どの位置にあっても文書作成者を示すものとして、文書の他の部分とは独立した構造をもつものと言えそうな気がします。
しかしDTDに従うならADDRESS要素はBODY要素直下には記述できず、DIV、FORM、FIELDSET、OBJECT要素内にしか記述できないわけで、そこのところがやはり謎であります。
↑というのはJIS-HTML規格書の附属書Bを確認しつつ書いたのですが、本家のISO/IEC 15445:2000(E) ISO-HTMLを見ると、もはやFORM要素内にもADDRESS要素は記述できなくなっているようでありました。しかしDTDの読みに自信がないので、どなたか確認頂けると有難いです。
追記: FORM要素内にADDRESS要素は記述できなくなったことはISO/IEC 15445:2000 (ISO-html)の書式についてにおいて既に指摘済みでした。
(2002年3月8日)
北村曉 kits@akatsukinishisu.net