comment declaration

コメント (HTML、XML)

[70] コメント (comment) は、 内容でもマーク付けでもないデータ (著者自身のための補足情報など) を HTMLXML文書中に埋め込む構文・節点です。

Comment インターフェイス (DOM)

[43] DOM では、注釈節 (Comment node) はどんな種類の子も持つことは出来ません。

[44] 注釈節は HTML (SGML) 及び XML注釈宣言に対応しています。

[45] CharacterData を継承しています。 追加の属性等はありません。

[46] DOM の規定では、「<!-- で始まり --> で始まるその間が注釈だ、 だけどこれは XML の話で、 HTML 解析器は完全な SGML の注釈を解釈できるかもねん☆」となっていますが、 その 「SGML の注釈」がどう扱われるのかは書かれていません。

例えば、 <!--comment 1-- -- comment 2 -- > はどう解釈されるのでしょう。 nodeValuecomment 1 comment 2 でしょうか、それとも comment 1-- -- comment 2 でしょうか。はたまたその他でしょうか。

また、 SGML 的に不正な、 <!-- comment1 -- comment2 --> のような注釈を、著者の意図したように解釈する HTML 解析器は少なくありませんが、そのような場合はどうなるのでしょう。

不正な例:

拡張点としての注釈

[57] HTMLにおける他言語統合点を参照。

歴史

[71] HTMLXMLコメントは、どちらも SGML に由来するものでした。

コメント、コメント宣言 (SGML)

[2]

注釈宣言 (comment declaration)
注釈だけを含むマーク宣言JIS X 4151‐1992 3. (167)
  • [3] 注釈宣言 := mdo [注釈 *(s / 注釈)] mdc ;; (91)

[4] 空の注釈宣言 <!> は、 見易さのために空行を入れたいものの、 短縮参照を使っているので記録開始記録終了を迂闊に使えない時に有用です。 (JIS X 4151‐1992 参考3 5.2.1 参照。)

[5] 規格参照区切子で注釈を使うときは、途中で -- を使わないことにするのはもちろん、一番最後に - を使わないようにも注意しないといけません。 (---> で、最初の -- と謎の -> に誤認されます。)

[14] >>3 マーク宣言だけど ps ではなく s なんだ。

[23] >>14 引数実体参照を認めると面倒くさいからでしょうね。

[24] コメント:

文書を使う人を補助する説明又は留意事項を含むマーク宣言の一部。 Comment。 (JISX4151‐1992 3. (165))

[26] 注釈内では、終端区切子 com 以外のマークは認知しません。 (9.3 参照。)

ISO/IEC 10744 Conventional Comment

[27] ISO/IEC 10744:1997 は conventional comment と称して注釈中に構文その他の注釈を入れる書式を規定しています。 これはこの仕様書内だけのもので、応用その他が特別な処理をすることを想定はしていません。

仕様書:

[28]

-- 問題

[67] HTML4 の適合性の項も参照。

[15] HTML 4 では注釈宣言に注釈は1つしか入れることができないという説があるようで、 その元凶は Another HTML-lint : Explanation : コメント中に `--` を書くことはできません。 http://openlab.ring.gr.jp/k16/htmllint/explain.html#excluded-w-hyphens-in-comment なのではないかと思われます。

HTML4.01(J)では、コメント中に 2個以上連なったハイフンは書かないように、とされています。XML(J)でも禁止です。つまり、上の例 (引用者注: 複数ハイフンの例) はすべて誤りです。

と説明していますが、 HTML 4 は should avoid としか言っていません。 ですから、誤りには (誤りが incorrect にせよ error にせよ) なりません。 (仮に禁止してしまうと、 HTML 4 が SGML に適合しません。)

[64] <!-- コメント--> () http://www.tohoho-web.com/html/comments.htm

HTML2.0 では、<! と > の間に複数の -- コメント -- を記述することができるという仕様でした。下記の○の個所にコメントを記述することができます。(△の個所には記述できません。)

<!--○--△--○--△--○-->

これは、HTML の元になった SGML という規格が以下のような文法で記述され、この定義部を取り除いたものが HTML のコメントとして採用されていることに由来します。

<!定義部 --コメント--

定義部 --コメント-->

しかし、HTML4.0 では、<!-- と --> の間に 2個以上の連続したハイフンを用いることは避けねばならないと説明されています。よく、下記のようなコメントを見ますが、HTML4.0 に正確に従うのであれば、このような使用法は避けた方がよいでしょう。

<!---------- こんな使い方は駄目だよ ---------->

また、HTML4.0に正確に従うのであれば、JavaScriptの中で -- 演算子を使用する際も注意が必要です。

<script type="text/javascript">

<!-- // この部分はHTMLのコメントなので、

xx--; // -- 演算子を記述することは許されない。

xx -= 1; // これなら大丈夫。

// -->

</script>

[66] SGMLマーク付け宣言HTML注釈宣言になったようなことが書いてあるが、 注釈宣言SGML にもちゃんとある。そもそも HTML4SGML応用と主張しているのだから、 HTMLSGML は別物であるかのような説明はおかしい。

[65] HTML4 には JavaScript-- を使うなとは (たぶん) 書いてない。 少なくても、 Scripts in HTML documents () https://www.w3.org/TR/html4/interact/scripts.html#idx-user_agent にはそんなこと書いてない。 HTML4 に従うなら script 要素内容CDATA なので、 <!--注釈宣言ではなく文字データ-- が禁止される根拠はない。

[42] HTML 4 仕様書は、 DTD注釈参考としています。

XHTML 1.0 仕様書にはこのような規定はありません。

[6] HTML 4 では、利用者エージェントは注釈 (宣言) をレンダリングしてはなりません。 (IW:HTML4:conform.html#sgmlconvent 参照。)

これを厳密に解釈すると、注釈宣言表示機能を実装した UA は HTML 4 不適合になってしまいますが、あくまで、 通常の表示モードではレンダリングしないというのが HTML 4 の意図でしょう。

[13] 古い HTML UA には、注釈宣言内の > で注釈宣言を終わらせてしまうものがありました。 このため、かつては、 HTML の注釈宣言内に > を入れるのは望ましくないと言う人もいました。

[16] Hixie's Natural Log: People who don't realise that they're wrong http://ln.hixie.ch/?start=1137799947&count=1

Ian HicksonWebブラウザ標準モードHTML注釈宣言SGMLの仕様に基づいて構文解析するように働きかけてきた。 各ブラウザがAcid2のために修正した。 そしてIanはいま自らの誤りに気づいた。・・・遅過ぎだってww (名無しさん 2006-01-21 04:13:29 +00:00)

[17] 我的春秋: (X)HTML, XML のコメント記述位置 (2007-01-23 08:53:24 +09:00 版) http://my-chunqiu.cocolog-nifty.com/blog/2007/01/xhtml_xml__83b4.html (名無しさん 2007-01-22 23:59:28 +00:00)

[18] Netscape Navigator Extensions to HTML http://web.archive.org/web/20000415023954/http://www.netscape.com/home/services_docs/html-extensions.html

HTML 2.0 の拡張と称して、 Netscape Navigator では注釈宣言中にタグを含むことができなかったのができるようになったことが紹介されています。

[19] PlaceXMLHTML head に埋め込む時に HTML注釈を使います。 プロジェクト自体が Web 2.0 の影響を受けているようですので、 明らかに Trackback Auto Discovery の悪習をまねたのでしょう。 (名無しさん)

[20] EMail Msg <9306050318.AA10442@wintermute.ncsa.uiuc.edu> (2007-07-01 05:00:05 +09:00 版) http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/436.html (名無しさん)

[21] hoshikuzu | star_dust の書斎 - 2007-09-18 (2007-09-23 16:39:56 +09:00 版) http://d.hatena.ne.jp/hoshikuzu/20070918#p2 (名無しさん)

[22] >>21 WinIE 6 で本来の h2 の下に background-imageレンダリングされるのを確認。

http://suika.fam.cx/gate/2007/cssom/viewer.en.html?c=h2%20*%20%7B%0D%0A%20%20padding%3A%20100px%3B%0D%0A%20%20display%3A%20block%3B%0D%0A%20%20background-image%3A%20url(image)%3B%0D%0A%7D;h=%3Ch2%3EXXX%3C!----%3E%3C%2Fh2%3EYYY;p=q;x=style-element

[49] IRC logs: freenode / #whatwg / 20100607 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20100607#l-147

[50] Web Applications 1.0 r5513 Nuke the comment end space state.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10578 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5512&to=5513

[51] Bug 570309 – [HTML5] CNNMoney unclickable links ("-- >" terminates comment in HTML5) ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=570309

[52] [whatwg] Consecutive hyphen-minus characters in comments/in ACE-strings of IDNs ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-November/028937.html

[53] [whatwg] Parse error for "--" in comment end state? ( 版) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2006-May/006337.html

[54] [whatwg] Consecutive hyphen-minus characters in comments/in ACE-strings of IDNs ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-January/029706.html

[55] [whatwg] Consecutive hyphen-minus characters in comments/in ACE-strings of IDNs ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031436.html

[47] IRC logs: freenode / #whatwg / 20100721 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20100721#l-842

[48] Add constructors for DocumentFragment, Text, and Comment. (DocumentType ... · a2f1e18 · whatwg/dom ( ( 版)) https://github.com/whatwg/dom/commit/a2f1e18ff56ecc12643dc54fcf50f0c335beec71

[56] XQuery and XPath Data Model 3.0 ( ( 版)) http://www.w3.org/TR/xpath-datamodel-3/#CommentNode

[58] Hixie's Natural Log: People who don't realise that they're wrong ( ()) http://ln.hixie.ch/?start=1137799947&count=1

[59]

2016/05/31 01:59:09 (tantek) I'm pretty sure we fixed that in Tasman (IE5/Mac) too back in the day, because of the thoroughness of all the rest of Hixie's tests.

[60] Allow dashes in comments (zcorpan著, ) https://github.com/whatwg/html/commit/518d16fdc672d1023dcfd2847d86f559d13a842f

[61] Allow comments to end with <!--> (zcorpan著, ) https://github.com/whatwg/html/commit/1633b9aadab815e6daba17950c4ff81a80b896ed

[62] Specify global object references in more detail (annevk著, ) https://github.com/whatwg/dom/commit/fa8adb6cd107cd845feaeb71c9da208971b670ca

[63] Restrict comment syntax to not contain --> or --!> (yuyokk著, ) https://github.com/whatwg/html/commit/4637996e5f1579659e0351a6fac5c930c3ea553e

[68] Improve <style> and <script> processing and conformance (domenic著, ) https://github.com/whatwg/html/commit/9c612ac8641b5174849a2d3cb924fe662a8d3a09

[69] HTML Design Notebook () https://www.w3.org/People/Connolly/drafts/html-design.html

Mosaic 2.4

broken comment parsing -- thinks comments end with >, rather than the actual-->

[72] Align with IDL constructor changes (autokagami著, ) https://github.com/whatwg/dom/commit/57512fac17cf2f1c4c85be4aec178c8086ee5ee4

[73] Update to constructor operations · Issue #780 · whatwg/dom () https://github.com/whatwg/dom/issues/780