CDATA セクションは、マークされたセクションです。SGML には、抽象構文と具象構文の両方があります。マーク付きセクション宣言の抽象構文は、マークアップ宣言オープン(mdo)区切り文字で始まり、その後に宣言サブセット オープン( dso) 区切り文字が続きます。次にステータス キーワードが続き、その後に 2 番目の宣言サブセット オープン(dso)区切り文字が続きます。マーク付きセクションは、マークアップ宣言クローズ(mdc)区切り文字が続くマーク付きセクション クローズ(msc)区切り文字で終了します。したがって、マークされたセクション宣言の抽象構文は次のとおりです。
mdo dso status-keyword dso my-data msc mdc
ドキュメントごとに具体的な構文が定義されています。この構文は、各ドキュメントに関連付けられた SGML 宣言内で指定されます。具体的な構文は、ドキュメントに使用される区切り文字を定義します。ISO 8879:1986 で定義されていると思われるデフォルトの SGML 区切り文字は次のとおりです。
- マークアップ宣言を開く:
<!
- 宣言サブセットが開いています:
[
- マークされたセクションを閉じる:
]]
- マークアップ宣言を閉じる:
>
ただし、独自の具体的な構文を自由に定義できるため、区切り文字として使用される文字を変更できます。
したがって、マークされたセクション宣言のデフォルトの具体的な構文は次のとおりです。
<![ status-keyword [my-data]]>
可能なステータスキーワードは次のとおりです: CDATA、RCDATA、IGNORE、INCLUDE、TEMP
これにより、次のことがわかります。
<![ CDATA [my-data]]>
Martin Bryan著SGML and HTML Explainedの次の章を参照してください。