markup declaration

マーク付け宣言 (SGML、XML)

[4]

(260) マーク宣言 (markup declaration)
文書の中のマークの解釈を制御する宣言JIS X 4151-1992 3.

[1] SGMLマーク宣言は、普通 mdo (<!) + 宣言名で始まり、 mdc (>) で終わります。

宣言名SGMLAFDRMetaXMLHTML
参照具象構文DTDLPD文書実現値DTDDTD文書実現値
(com (--))注釈宣言
(dso ([))マーク区間宣言
AFDRAFDR
ATTLIST属性定義並び宣言
DOCTYPE文書型宣言
ELEMENT要素型宣言
ENTITY実体宣言
LEXTYPE字句型宣言
LEXORD辞書的順序宣言
LEXCON字句制約宣言
LINK連結型宣言
NOTATION記法宣言
SGMLSGML宣言
SHORTREF短縮参照写像宣言
USELINK連結集合使用宣言
USEMAP短縮参照使用宣言
不完全です。

[6] XML で使用可能であっても、 SGML の場合よりその構文は非常に制限されます。 (例えば注釈の挿入が出来ません。)

[7] HTML では更に限定的になっています。

[2] XML では <?xml?> のことを「XML宣言」 などと呼びますし、その standalone 擬似属性を standalone 宣言と呼んだりもしますが、 SGML 的にはこれらはマーク宣言ではなく、処理指令 (の中のシステム・データの一部分) です。

また、 ISO/IEC 10744体系基底宣言などいくつかの宣言を持っていますが、 これも処理指令です。 (字句型宣言などは構文的にマーク宣言ですが、 SGML DTD では使えません。)

[3] ISO/IEC 10744:1997 は、文書体系を定義するための SGML による表記法にマーク宣言を流用しています。 その体系DTD はほとんど普通の DTD (応用DTD) と同じなのですが、 ISO/IEC 10744 では、 説明のためマーク宣言内の鍵語の類について、 体系DTD ではすべて小文字応用DTD ではすべて大文字、 (そのままでは使えない) 雛形DTD宣言では大文字小文字混じりで表現しています。

仕様書:

[4] DTD 内で使用するマーク宣言のことを「DTD宣言」と呼ぶこともあります。

[5] マーク宣言よりマーク付け宣言の方が逐語訳なんで、一般論からすれば望ましいんですが、どうもいまいち語呂が悪い。なれのせいか本当に語呂が悪いのかはちょっとわかりませんが。