non‐parsed entity

non‐parsed entity

[12] SGML には、 SGML に従って解釈できない任意のデータを扱うためのデータ実体という構造が存在していました。

[13] XML には同様の非解析対象実体が存在していました。 ただし SGML に比べると極めて限定的でした。

[16] 文字データ実体特定文字データ実体は、 バイト文字の変換に当たる部分は SGML の通常の方法により、その結果の解釈は応用実装に依存した方法により定めるものでした。 特定文字データ実体文字実体の記述によく使われていました。

[14] 非SGMLデータ実体非解析対象実体は、 例えば SGML文書JPEG 画像を埋め込むような場合に使う想定だったようです。 それ以外にも SGML だけで記述しきれないものを扱うための拡張点として運用可能な仕組みでした。

[15] ただその柔軟性ゆえに具体的な利用方法や処理方法の規定が一切存在せず応用実装に委ねられており、 相互運用性に欠け使いづらいという面もありました。

SGML データ実体

[1] データとして宣言し、参照のときに構文解析しない実体。 data entity。 備考 これには、文字データ実体, 特定文字データ実体及び非SGMLデータ実体の3種類がある。 (JISX4151‐1992 定義 (174))

[2] <!ENTITY name CDATA "data"> のようにして宣言される実体のことですね。

[3] データ実体を宣言するときに使用する鍵語 (規格参照具象構文の場合):

CDATA
文字データ実体
SDATA
特定文字データ実体
NDATA
非 SGML データ実体

(名無しさん)

[4]

(名無しさん)

[5] データ実体は、文字データ実体・特定文字データ実体は0文字以上のSGML文字の列、非 SGML データ実体は0文字以上の文字の列です。 (JIS X 4051‐1992 5.3 参照。)

内部データ実体は、実体宣言の実体値です。 (JIS X 4051‐1992 9.5.3 参照。)

XML 非解析対象実体

[8] XML としての構文に合致しない実体を、 非解析対象実体 (non‐parsed entity) といいます。

[9] ありがちな使用例としては、埋め込み画像とか、音とか、動画とか。 TeX の数式とか。

[10] もっとも、 TeX みたいな text 系は SGML とも親和性が悪くないから、内容モデルCDATA な要素の内容にでもしておいて、 NOTATION 属性でその書式を明示しておくのが常套手段かも。

[11] 非解析対象実体は内部実体にはできませんから、必ず別のファイルなり資源なりが必要になってしまいます。だからやっぱり >>10 のような手が可能ならそうしたいかもしれません。特に短い内容ならね。

[6] あ、念のため。 >>10 は解析対象実体の一部を応用が SGML 以上の解釈をするだけであって、その部分に非解析対象実体が埋め込まれているとは言いません。

分類

[2] 非解析対象実体実体の一種です。実体には非解析対象実体の他に解析対象実体があります。

[7] 非解析対象実体SGML でいうデータ実体に相当します。