[xyzzy:01787] Re: html でのコメント
- Subject: [xyzzy:01787] Re: html でのコメント
- From: YAMAGUCHI Yoshiaki <yoshiaki@xxxxxxxxxxx>
- X-mailer: Winbiff [Version 2.20]
おはようございます。やまぐち@あわぐもです。
なんか話題爆発ですが...。
<199902040412.NAA21194@xxxxxxxxxxxxxxxx> の、
"[xyzzy:01783] Re: htmlでのコメント" において、
"Masahito Henmi <henmi@xxxxxxxxxxxxx>"さんは書きました:
> htmlは知りませんが、XMLの仕様書には、コメント中に2つの連続した-は
> 使っちゃだめと書いてありました。
>
> でも、 終わりは --> と書いてあったので、 -- でコメントの終わりとしては
> まずいのかも知れません。変なの ^^;
HTML 4.0の勧告を見ると、「<!」が開始記号、「--」がコメント開始記号、かつ、
コメント終了記号、「>」がマークt付け宣言終了記号です。「<!」と「--」の間に
は空白があってはいけないですが、「--」と「>」の間は良い、などと書いてあり
ます。
で、なんでこんななっているのかというと、DTDでコメントを書く場合、
<!ELEMENT PARAM - O EMPTY -- named property value -->
~~~~~~~~~~~~~~~~~~~~~~~~~~ここがコメント
となるからです。各パラメータにコメントを付けたりしたいときに使うのでしょう。
※Cで言えば
void func(int a /* hoge */,
char b /* uge */)
ってな書き方ですね。
ただし、XMLではDTDのタグ内にコメントは書けないことになっています。だから、定義は
こんなんなってます。
『Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'』
そんなわけで、SGML、HTMLとXMLではちょっと事情が異なります。XMLでは、書かれているように
「--」は含めてはいけません(「--->」で終わるのも駄目ですね)。
どっちにしろ、HTML4の勧告中には「--」をコメント内に入れることを避けるようにという
記述はありますが、コメントの厳密な定義はないです。実際にはブラウザの実装依存に
なりますから、HTMLを書く場合には、
・「<!--」と「-->」で囲む
・この中に「--」は書けない
・厳密には細かい話があるが、どのみちHTMLとしての厳密な決まりはない
と覚えておくのが一番間違いがないです。HTML4.0のXMLによる記述(*1)の
こともありますし。
*1) http://www.w3.org/TR/1998/WD-html-in-xml-19981205
日本語訳はhttp://www.doraneko.org/xml/voyager/Overview.html
--
山口佳成【をゐなり】 E-Mail:yoshiaki@xxxxxxxxxxx
(YAMAGUCHI,Yoshiaki) NIFTY SERVE:GCD02060 ICQ UIN:5231160
PGP Fingerprint:85 97 59 54 31 EC 79 31 1F DA D5 49 65 40 84 0D