[2]
%inlineinblock; は、
DTBook の内容モデルを表す引数実体参照の1つです。
[1] DAISY ANSI/NISO Z39.86-2002 - The DAISY Consortium, https://daisy.org/info-help/document-archive/archived-projects/daisy-ansi-niso-z39-86-2002-archived/
[3] DTBook は HTMLもどきの1つで、 派生当時の HTML と同じように XML DTD の引数実体参照によって要素を分類しつつ整理する手法を採っていました。
[4]
当時の HTML にはブロック要素の %block; と行内要素の
%inline; があり、 DTBook もそれらを引き継いでいました。
DTBook の DTD にはそれに加えて
%inlineinblock;]]
がありました。
[5]
inlineinblock
はブロック要素中にも出現できる inline だとの説明があります。
>>1
[6] 当時の HTML や DTBook では行内要素は行内要素を認める要素か、
%flow; を認める要素で使えるとしていました。
inlineinblock の要素は例外的に、本来行内要素であるにも関わらず、
内容がブロック要素の並びであるような要素でも使えるとされています。
[8] つまり %flow; ほどなんでもありにしたくはない、
ブロック要素だけしか認めたくない要素での特例として使われています。
[9]
inlineinblock に含まれるのは、
a, cite, samp,
kbdpagenumcaptionimg は当初含まれましたが、後に削除されました。
現行の DTBook ではブロック要素にも行内要素にも含まれています。[14]
a は後の HTML5 でも透過内容となり、
当時の HTML / DTBook でいう行内要素でもブロック要素でもある存在に近くなっています。
結果的に先取りした形といえます。
[15]
samp, kbd は例文のようなものをブロック要素として記載する想定でしょうか。
XHTML2 の blockcode が連想されます。
[16]
caption は HTML ではブロック要素でも行内要素でもない特定の位置でだけ使える要素です。
DTBook でもブロック要素でも行内要素でもないのですが、
特定の位置で使えるのに加えて、 inlineinblock を通していくつかの要素でブロック要素と並べて使えます。
caption や cite は小ブロックの題名や引用のような用法が想定されたのでしょうか。
levelhd,hn,hdなど見出し系の要素が異様に多いのですが、どうやって運用していたのでしょうね?