[2] > :注釈宣言 (comment declaration): [[注釈]]だけを含む[[マーク宣言]]。 ([[JIS X 4151]]‐1992 3. (167)) - [3] [CODE(ABNF)[[DFN[注釈宣言]] := [CODE(SGML)[[[mdo]]]] [注釈 *([[s]] / 注釈)] [CODE(SGML)[[[mdc]]]] ;; (91)]] [4] 空の注釈宣言 [CODE(SGML)[]] は、 見易さのために空行を入れたいものの、 [[短縮参照]]を使っているので[[記録開始]]・[[記録終了]]を迂闊に使えない時に有用です。 (JIS X 4151‐1992 参考3 5.2.1 参照。) [5] [WEAK[規格参照区切子で]]注釈を使うときは、途中で [CODE[--]] を使わないことにするのはもちろん、一番最後に [CODE[-]] を使わないようにも注意しないといけません。 ([CODE(SGML)[--->]] で、最初の [SAMP(SGML)[--]] と謎の [SAMP[->]] に誤認されます。) [14] >>3 マーク宣言だけど [CODE(SGML)[[[ps]]]] ではなく [CODE(SGML)[[[s]]]] なんだ。 ([[名無しさん]]) [[#comment]] * 例 - [7] [SAMP(SGML)[]] (XML でも OK) - [8] [SAMP(SGML)[]] (XML でも OK) - [9] [SAMP(SGML)[]] - [11] [SAMP(SGML)[]] - [12] [SAMP(SGML)[]] [[#comment]] 不正な例: - [10] [SAMP(SGML)[]] * 参考文献 - [1] ''マニアックな文法論議 - SGML の注釈宣言'' [[#comment]] * メモ @@ [[HTML]] の[[注釈]]に関しては別の項に移動する ([[SGML]]-based な [[HTML]] も含めて) [6] [[HTML 4]] では、[[利用者エージェント]]は注釈 (宣言) を[[レンダリング]]してはなりません。 ( 参照。) これを厳密に解釈すると、注釈宣言表示機能を実装した UA は HTML 4 不適合になってしまいますが、あくまで、 通常の表示モードではレンダリングしないというのが HTML 4 の意図でしょう。 [13] 古い HTML UA には、注釈宣言内の [SAMP[>]] で注釈宣言を終わらせてしまうものがありました。 このため、かつては、 HTML の注釈宣言内に [SAMP[>]] を入れるのは望ましくないと言う人もいました。 [15] [[HTML 4]] では注釈宣言に注釈は1つしか入れることができないという説があるようで、 その元凶は ''Another HTML-lint : Explanation : コメント中に `--` を書くことはできません。'' なのではないかと思われます。 > HTML4.01(J)では、コメント中に 2個以上連なったハイフンは書かないように、とされています。XML(J)でも禁止です。つまり、上の例 [INS[(引用者注: 複数ハイフンの例)]] はすべて誤りです。 と説明していますが、 HTML 4 は [Q[should avoid]] としか言っていません。 ですから、[Q[誤り]]には ([Q[誤り]]が incorrect にせよ error にせよ) なりません。 (仮に禁止してしまうと、 HTML 4 が SGML に適合しません。) ([[名無しさん]]) [16] [CITE[Hixie's Natural Log: People who don't realise that they're wrong]] [[Ian Hickson]]は[[Webブラウザ]]が[[標準モード]]で[[HTML]]の[[注釈宣言]]を[[SGML]]の仕様に基づいて[[構文解析]]するように働きかけてきた。 各ブラウザが[[Acid2]]のために修正した。 そしてIanはいま自らの誤りに気づいた。・・・遅過ぎだってww ([[名無しさん]] [WEAK[2006-01-21 04:13:29 +00:00]]) [17] [CITE[我的春秋: (X)HTML, XML のコメント記述位置]] ([CODE[2007-01-23 08:53:24 +09:00]] 版) ([[名無しさん]] [WEAK[2007-01-22 23:59:28 +00:00]]) [18] [CITE[Netscape Navigator Extensions to HTML]] [[HTML 2.0]] の拡張と称して、 [[Netscape Navigator]] では[[注釈宣言]]中に[[タグ]]を含むことができなかったのができるようになったことが紹介されています。 [19] [[PlaceXML]] は [[HTML]] [CODE(HTMLe)@en[[[head]]]] に埋め込む時に [[HTML]] の[[注釈]]を使います。 [[プロジェクト]]自体が [[Web 2.0]] の影響を受けているようですので、 明らかに [[Trackback Auto Discovery]] の悪習をまねたのでしょう。 ([[名無しさん]]) [20] [CITE[EMail Msg <9306050318.AA10442@wintermute.ncsa.uiuc.edu>]] ([TIME[2007-07-01 05:00:05 +09:00]] 版) ([[名無しさん]])