[4]
>
:(260) マーク宣言 (markup declaration):
[[文書]]の中の[[マーク]]の解釈を制御する[[宣言]]。
[SRC[[[JIS X 4151]]-1992 3.]]
- 備考 [[SGML]], [[実体]], [[要素]], [[属性定義並び]],
[[記法]], [[文書型]], [[連結型]], [[連結集合]], [[連結使用]],
[[マーク区間]], [[短縮参照対応表]], [[短縮参照使用]]及び[[注釈]]の13種類がある。

[1] [[SGML]] の[DFN[マーク宣言]]は、普通 
[ABBR[[CODE(SGML)[[[mdo]]]]][マーク宣言開き]] ([CODE(SGML)[<!]]) + 
宣言名で始まり、 [ABBR[[CODE(SGML)[[[mdc]]]]][マーク宣言閉じ]] 
([CODE(SGML)[>]]) で終わります。

[FIG(list)[
,*宣言名          ,==                        ,*[[SGML]],==,==,*[[AFDRMeta]],*[[XML]],==,*[[HTML]]
,*参照具象構文   ,*                                  ,*[[DTD]],*[[LPD]],*[[文書実現値]],*[[DTD]],*[[DTD]],*[[文書実現値]],*
,([ABBR[[CODE(SGML)[[[com]]]]][注釈]] ([CODE(SGML)[--]])),[[注釈宣言]],○,○,○,○,○,○,○
,([ABBR[[CODE(SGML)[[[dso]]]]][宣言部分集合開き]] ([CODE(SGML)['''[''']])),[[マーク区間宣言]],○,○,○,○,△,△,△
,[CODE(SGML)[[[AFDR]]]]        ,[[AFDR]]            ,  ,  ,  ,○,  ,,
,[CODE(SGML)[[[ATTLIST]]]]     ,[[属性定義並び宣言]],○,○,  ,○,○,,
,[CODE(SGML)[[[DOCTYPE]]]]     ,[[文書型宣言]]      ,  ,  ,○,  ,  ,○,○
,[CODE(SGML)[[[ELEMENT]]]]     ,[[要素型宣言]]      ,○,  ,  ,○,○,,
,[CODE(SGML)[[[ENTITY]]]]      ,[[実体宣言]]        ,○,○,  ,○,○, ,
,[CODE(SGML)[[[LEXTYPE]]]]     ,[[字句型宣言]]      ,  ,  ,  ,○,  , ,
,[CODE(SGML)@en[LEXORD]]       ,[[辞書的順序宣言]]  ,  ,  ,  ,○,  ,  , 
,[CODE(SGML)@en[LEXCON]]       ,[[字句制約宣言]]    ,  ,  ,  ,○,  ,  ,
,[CODE(SGML)[[[LINK]]]]        ,[[連結型宣言]]      ,  ,  ,○,  ,  ,,
,[CODE(SGML)[[[NOTATION]]]]    ,[[記法宣言]]        ,○,○,  ,○,○,,
,[CODE(SGML)[[[SGML]]]]        ,[[SGML宣言]]        ,  ,  ,○,  ,  ,,
,[CODE(SGML)[[[SHORTREF]]]]    ,[[短縮参照写像宣言]],○,  ,  ,○,  ,,
,[CODE(SGML)[[[USELINK]]]]     ,[[連結集合使用宣言]],○,  ,○,○,  ,,
,[CODE(SGML)[[[USEMAP]]]]      ,[[短縮参照使用宣言]],○,  ,○,○,  ,,

;; 不完全です。
]FIG]

[6] [[XML]] で使用可能であっても、 SGML
の場合よりその構文は非常に制限されます。
(例えば[[注釈]]の挿入が出来ません。)

[7] [[HTML]] では更に限定的になっています。

[2] [[XML]] では [CODE(XML)[<?[[xml]]?>]] のことを「[[XML宣言]]」
などと呼びますし、その [CODE(XMLa)@en[[[standalone]]]] [[擬似属性]]を
standalone 宣言と呼んだりもしますが、
[[SGML]] 的にはこれらは[[マーク宣言]]ではなく、[[処理指令]]
(の中の[[システム・データ]]の一部分) です。

また、 [[ISO/IEC 10744]] も[[体系基底宣言]]などいくつかの宣言を持っていますが、
これも[[処理指令]]です。 ([[字句型宣言]]などは構文的に[[マーク宣言]]ですが、
[[SGML DTD]] では使えません。)

[3] [[ISO/IEC 10744]]:1997 は、[[文書体系]]を定義するための
[[SGML]] による表記法に[[マーク宣言]]を流用しています。
その[[体系DTD]] はほとんど普通の [[DTD]]
([[応用DTD]]) と同じなのですが、 [[ISO/IEC 10744]] では、
''説明のため''、[[マーク宣言]]内の[[鍵語]]の類について、
[[体系DTD]] ではすべて[[小文字]]、[[応用DTD]] ではすべて[[大文字]]、
(そのままでは使えない) [[雛形]]の [[DTD宣言]]では[[大文字]]・[[小文字]]混じりで表現しています。

;;
仕様書:
- [[ISO/IEC 10744]]:1997
-- A.3.2
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.3.2.html>

[4]
[[DTD]] 内で使用する[[マーク宣言]]のことを「[[DTD宣言]]」と呼ぶこともあります。

[5] [CODE[マーク宣言]]より[CODE[マーク付け宣言]]の方が逐語訳なんで、一般論からすれば望ましいんですが、どうもいまいち語呂が悪い。なれのせいか本当に語呂が悪いのかはちょっとわかりませんが。




[FIG(data)[ [216] [[HTML要素概説]]

:注釈:
-
[DFN[[RUBYB@ja[マーク付け宣言]@en[markup declaration]]]]
[[マーク付け]]の一種。
[[注釈宣言]],
[[マーク付き区間宣言]],
[[文書型宣言]]などがある。

]FIG]
