標準弁当蓄積域管理器

標準弁当蓄積域管理器

標準弁当蓄積域管理器 (SGML 公式システム識別子)

[1] SGML 公式システム識別子標準弁当蓄積域管理器 (Standard BENTO storage manager) (sbento) 記法形式は、 包含子実体内の位置と大きさによって識別する包含子蓄積域管理器です。

[6] 名前の BENTO というのは、弁当 の詰め合わせのイメージに由来しているそうです。しかも Bento Entity for Natural Transport of Objects の再帰頭字語になっているという(藁)。 ISO/IEC 10744 A.6.7.6.2 NOTE 528

[2] 仕様書:

[3]

完全名
標準弁当蓄積域管理器 (Standard BENTO)
参照具象構文名
sbento
公式公開識別子
ISO/IEC 10744:1997//NOTATION FSISM CONTAINER Standard BENTO//EN
基底
包含子蓄積域管理器 (container storage manager) (contnrsm)
蓄積域物体識別子
字句型 (marker | (marker, marker)+) (HyTime 次元指定並び (dimlist))
属性

[4] この蓄積域管理器ISO/IEC 10744 で定義されていますが、実装は必須ではありません。

[5] 弁当の蓄積域物体識別子 (SOI) は包含子内の占有度を表す HyTime次元指定並び (dimlist: 標識子並び記法 (marklist)) です。 包含されている実体のはじめの位置と大きさ (長さ) を指定します。 ISO/IEC 10744 A.6.7.6.2

[7] 包含子内で複数の場所に分散している時は、 次元指定を複数指定すると連結されます。 ISO/IEC 10744 A.6.7.6.2

[6] 次元指定は2つの数の組ですが、省略して 1つの数だけで指定することもできます。 その場合前の数 (先頭の位置) が省略されているとみなされ、 包含子前員 (after) 属性で指定された実体の最後の文字の次の位置と解釈します。 ISO/IEC 10744 A.6.7.6.2

[8] 包含されている物体で使用する範囲が相互に重なっていても構いません。 ISO/IEC 10744 A.6.7.6.2 NOTE 529

[9] 弁当ファイルの例 ISO/IEC 10744 A.6.7.6.2 NOTE 530

<!ENTITY ctr1
   SYSTEM "<osfile>ctr1.dat"
   NDATA sbento
>
<!ENTITY doc
   SYSTEM "<sbento in=ctr1>1 5000"
>
<!ENTITY fig
   SYSTEM "<sbento in=ctr1>5001 2500"
>

この例では、 ctr1.dat という名前のファイルのうち、 最初の5000文字実体 doc に、 その後の2500文字実体 fig に使います。

[10] 先頭位置省略の例 ISO/IEC 10744 A.6.7.6.2 NOTE 530

<!ENTITY ctr1
   SYSTEM "<osfile>ctr1.dat"
   NDATA sbento
>
<!ENTITY doc
   SYSTEM "<sbento in=ctr1>5000"
>
<!ENTITY fig
   SYSTEM "<sbento in=ctr1 after=doc>2500"
>

>>9 と同じですが、先頭位置を省略して大きさだけを指定しています。 実体 doc宣言では after 属性が指定されていませんから、蓄積域物体の先頭からになります。

[11] 文書実体と同じ蓄積域物体を使う例 ISO/IEC 10744 A.6.7.6.2 NOTE 532 改

<!ENTITY bento1
   SYSTEM "<ThisOne extents='342 -1'>"
   NDATA sbento
>

<!ENTITY inbento1
   SYSTEM "<sbento in=bento1>1 500"
>

蓄積域物体の位置 1 から位置 341 までを文書実体が使用していて、 その一部がこの例の宣言であるとします。

実体 bento1現在蓄積域物体の残りの部分すべてです。 そしてそのうちの位置 1 から位置 500 までを実体 inbento1 として使用します。

メモ

メモ