[1] SGML のマーク宣言は、普通
mdo
(<!
) +
宣言名で始まり、 mdc
(>
) で終わります。
[6] XML で使用可能であっても、 SGML の場合よりその構文は非常に制限されます。 (例えば注釈の挿入が出来ません。)
[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] マーク宣言
よりマーク付け宣言
の方が逐語訳なんで、一般論からすれば望ましいんですが、どうもいまいち語呂が悪い。なれのせいか本当に語呂が悪いのかはちょっとわかりませんが。