[1] SGML 公式システム識別子の包含子蓄積域管理器 (contnrsm
) 記法形式は、
他の実体を包含する蓄積域管理器に使用します。
[2] 仕様書:
contnrsm
ISO/IEC 10744:1997//NOTATION FSISM GLOBAL Container Storage Manager//EN
包含子内 (in ) | |
FSIBase | globalsm 固定 |
共通蓄積域管理器属性 (smcommon ) 属性形式 |
[4] 包含子蓄積域管理器を使うと、 TAR や MIME
の multipart/*
のような物体の中に入れ子に物体が含まれている構造を公式システム識別子で扱うことができます。
入れ子は何重にも再帰的になっている可能性がありますから、
公式システム識別子はこの階層構造を一つの識別子で扱うことを諦めて、
階層構造の数だけの実体を外部 (SGML の実体宣言)
で宣言して、それを参照する形を採っています。
つまり、ある実体 E の宣言における公式システム識別子で包含子 A に含まれる物体 B を参照したい時は、 2つの実体宣言が必要です。
in
)
属性の値として C を指定しておきます。[3] 可搬性:
包含子蓄積域管理器の蓄積域物体指定 (SOS)
が可搬かどうかは、その中にファイル名などシステム依存の情報が含まれるかどうかによります。
TAR (POSIXテープ保管庫) はこの意味で可搬ではありませんが、
標準弁当蓄積域管理器は可搬です。なお、
包含子である実体 (in
で参照されるもの)
自体の蓄積域管理器が可搬かどうかはその管理器の側の話で、
また別な問題です。
ISO/IEC 10744:1997 A.6.7.6
[5] 包含子内属性:
SGML 公式システム識別子の包含子蓄積域管理器
(contnrsm
) 記法形式の包含子内 (in
) 属性は、
指定蓄積域物体 (包含された物体) が含まれている包含子実体を識別します。
値は包含子実体を識別する実体名または公式システム識別子です。 実体名の場合、その実体は参照する (公式システム識別子が含まれる) 実体宣言よりも前に宣言されていなければなりません。 公式システム識別子による指定は、 命令行など実体宣言を自由に使えない場所でのみ使うべきです。 ISO/IEC 10744:1997 A.6.7.6
in
contnrsm
) および包含子蓄積域管理器から派生した
POSIXテープ保管庫 (tar
),
MIME蓄積域管理器 (mime
),
標準弁当蓄積域管理器 (sbento
)CDATA
ENTITY | fsi
(制約: 実体名は先に宣言されていなければなりません。)[6] 包含子前員属性:
SGML 公式システム識別子の包含子蓄積域管理器
(contnrsm
) 記法形式の包含子前員 (after
) 属性は、
包含子内で現在実体の前にある実体を指定します。
この属性は、実体の位置を相対的に識別する包含子で使うことが想定されています。 この属性を指定しない時には蓄積域物体指定 (SOS) の他の指定で実体が十分識別可能でなければなりません。 ISO/IEC 10744:1997 A.6.7.6
after
contnrsm
) および包含子蓄積域管理器から派生した
標準弁当蓄積域管理器 (sbento
)CDATA
ENTITY | fsi
[10] 値は包含子内 (in
)
属性と同じく実体名または公式システム識別子ですが、
実体名の時その実体が先に宣言されていること、
という制約がこちらの属性ではありません。
想定される実装方法を考えると、
当然こちらの属性でも先に宣言されていなければならないはずですが...