[1] SGML 公式システム識別子の
標準弁当蓄積域管理器 (sbento
) 記法形式は、
包含子実体内の位置と大きさによって識別する包含子蓄積域管理器です。
[6] 名前の BENTO
というのは、弁当
の詰め合わせのイメージに由来しているそうです。しかも
Bento Entity for Natural Transport of Objects
の再帰頭字語になっているという(藁)。
ISO/IEC 10744 A.6.7.6.2 NOTE 528
[2] 仕様書:
sbento
ISO/IEC 10744:1997//NOTATION FSISM CONTAINER Standard BENTO//EN
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 "<sbentoin
=ctr1>1 5000" > <!ENTITY fig SYSTEM "<sbentoin
=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 "<sbentoin
=ctr1>5000" > <!ENTITY fig SYSTEM "<sbentoin
=ctr1after
=doc>2500" >
>>9 と同じですが、先頭位置を省略して大きさだけを指定しています。
実体 doc
の宣言では after
属性が指定されていませんから、蓄積域物体の先頭からになります。
[11] 文書実体と同じ蓄積域物体を使う例 ISO/IEC 10744 A.6.7.6.2 NOTE 532 改
<!ENTITY bento1 SYSTEM "<ThisOneextents
='342 -1'>" NDATA sbento > <!ENTITY inbento1 SYSTEM "<sbentoin
=bento1>1 500" >
蓄積域物体の位置 1 から位置 341 までを文書実体が使用していて、 その一部がこの例の宣言であるとします。
実体 bento1
は現在蓄積域物体の残りの部分すべてです。
そしてそのうちの位置 1 から位置 500 までを実体
inbento1
として使用します。