コメント宣言

コメント (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 解析器は少なくありませんが、そのような場合はどうなるのでしょう。

不正な例:

不正な注釈の実例

[75] Ethiopic Viewer for X-Windows, , https://www.africa.upenn.edu/Software/Ethiopic_Viewer_17981.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] conventional comment

-- 問題

[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 なので、 <!--注釈宣言ではなく文字データ-- が禁止される根拠はない。

!-- タグ

[31] コメントタグ。不思議マーク付けの世界で、囲んだ部分を表示しなくするタグ開始タグ<!-- で、終了タグ-->

[32] 不思議でない HTMLSGMLXML の世界では、注釈宣言が対応する。また、太古の HTML の comment 要素に類似したタグであるとも言える。

[28] HTML Comment Element | HTML Comment Object, InetSDK, , https://web.archive.org/web/20001011194325/http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/htmlcomment.asp

[111] HTML要素概説
要素名
!--
要素名
!-
要素名
!
日付
説明
注釈は、 低品質な解説等でしばしば要素タグとして紹介された。 開始タグ<!--, <!-, <!終了タグ-->, >タグ名!--, !-, ! などと説明される。 SGML に於いても現在の HTML に於いても誤りである。
[41] HTML要素概説
要素名
!--
日付
説明
Microsoft Corporation も HTML 注釈要素は開始タグ終了タグが必須と紹介していた。
出典
[40] HTML要素概説
要素名
!-
日付
説明
Compact HTML の tag list に、 element として !- がある。
出典

[29] The XML Object Model in Internet Explorer 4.0, Microsoft Corporation, , https://web.archive.org/web/20001018151202/http://msdn.microsoft.com/xml/articles/xmlmodel.asp

[30] >>29 XML注釈宣言タグ名! とされた API

[33] A Guide to the Internet Connection Servers - SG244805.PDF, , http://ps-2.kev009.com/rs6000/redbook-cd/SG244805.PDF#page=25

[34] >>33 ! タグ (<! ... >)

[35] Compact HTML for Small Information Appliances, , https://www.w3.org/TR/1998/NOTE-compactHTML-19980209/

[36] >>35 タグリストに要素として !- が掲載されている (めちゃくちゃ)。

[74] HTML要素概説
要素名
!--
日付
説明
<!-- から始まり --> で終わるものは、 注釈であり、タグではない。タグとは構文がまったく異なる。
[37] HTML要素概説
要素名
!
日付
説明
<!>タグ名 !開始タグのようにも見えるが、 HTML5構文解析器空文字列注釈とみなす。 SGML では注釈宣言だった。
注釈

[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.suikawiki.org/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

[38] 2004年のお便り〈9月〉(和田フォト), , https://wadaphoto.jp/otayori0409.htm

//-->
</SCRIPT><SCRIPT language="JavaScript">
<!--HPB_SCRIPT_PLD_50
HpbImgPreload('_HPB_ROLLOVER1', 'images/n_image4.gif', 'images/m_image4.gif');

[39] >>38 ホームページビルダー<!-- 行を活用して自身が生成したスクリプトを識別していた模様。