* [CODE[figtext]] 要素, [CODE[bodytext]] 要素, [CODE[embed.body]] 要素


[FIG(data)[ [64] [[HTML要素概説]]

:[F[要素名]]:[CODE[bodytext]]
:[F[要素名]]:[CODE[figtext]]
:日付:[TIME[1995-03-24]]
:説明:
[TIME[1995-03-24]]、
[CITE[HTML 3.0]] [[DTD]]
に、
[CODE[bodytext]],
[CODE[figtext]]
が追加された。
[[混合内容問題]]回避のためとされる。
[SRC[HTML3-19950324]]
:注釈:
- [DFN[混合内容問題]]
[[SGML]] では特定の[[要素]](群)の後に[[文字データ]]や[[要素]]が任意個続く構造を扱い難い。
そのままの[[内容モデル]]を記述すると、初めの[[要素]]の前に整形のための[[空白]]を挿入できなくなる。
[[空白]]が後続の[[文字データ]]の一部分とみなされるためである。
この問題を回避するため
[CODE[body]],
[CODE[bodytext]],
[CODE[figtext]],
[CODE[embed.body]],
[CODE[textflow]]
といったダミーの[[要素]]が作られた。

]FIG]

[FIG(data)[ [14] [[HTML要素概説]]

:[F[要素名]]:[CODE[embed.body]]
:日付:[TIME[1995-11-22]]
:説明:
[TIME[1995-09-21]]版 [[HTML 2.1E]] [[DTD]] に、
[CODE[embed.body]]
がある。
[SRC[HTML21E19950921]]
[TIME[1995-11-22]]版
[[HTML 2.1E]] に
[CODE[embed.body]]
がある。
[[フォールバック内容]]のための[[要素]]とされるが、
[[混合内容問題]]回避のためのものである。
[SRC[>>8]]
前後の版の
[CODE[bodytext]]
に当たる。
:出典:
[REFS[

-
[8] 
[CITE@en[Compound Documents in HTML]], 
[DATA(.author)[[[Paul Burchard]]]],
[DATA(.author)[[[Dave Raggett]]]],
[DATA(.status)[[[Internet Draft]]]],
[TIME(.published)[1995-11-22]],
[TIME[2024-08-16T03:11:27.000Z]] <https://datatracker.ietf.org/doc/html/draft-ietf-html-cda-00>

]REFS]
:参照:[CODE[figtext]]
:参照:[CODE[embed]]

]FIG]



[FIG(data)[ [284] [[HTML要素概説]]

:[F[要素名]]:[CODE[bodytext]]
:日付:[TIME[1995-12-20]]
:説明:
[TIME[1995-12-20]]版
[CITE[HTML3 Linking and Embedding Model]]
は、
[CODE[insert]]
と
[CODE[fig]]
で
[CODE[bodytext]]
を使っている。
[SEE[>>7]]
:出典:
[REFS[

-
[CITE@en[HTML3 Linking and Embedding Model]], 
[DATA(.author)[[[W3C]]]],
[DATA(.status)[Working Draft]],
[TIME(.published)[20-Dec-95][1995-12-20]],
[TIME[1999-02-04T17:57:09.000Z]], [TIME[2024-08-15T07:38:59.446Z]] <https://www.w3.org/TR/WD-insert-951220.html>

]REFS]
:注釈:
-
[7] 
[TIME[1995-12-01]]版 [[DTD]] の [CODE[insert]] では
[CODE[body]]
が使われていた。



]FIG]






[FIG(data)[ [98] [[HTML要素概説]]

:[F[要素名]]:[CODE[bodytext]]
:[F[要素名]]:[CODE[figtext]]
:日付:[TIME[1996]]
:説明:
[[Emacs/W3]]
は、
少なくても[[構文解析]]において
[CODE[bodytext]],
[CODE[figtext]]
を実装していた。
:出典:
[REFS[

-
[DFN[E/W3:Parse]]:
[CITE@en[w3/w3-parse.el at master · emacsmirror/w3 · GitHub]], 
[TIME(.seen)[2024-08-16T13:42:02.000Z]] <https://github.com/emacsmirror/w3/blob/master/w3-parse.el>

]REFS]

]FIG]

[12] 
[CITE@en[w3/w3-parse.el at master · emacsmirror/w3 · GitHub]], [TIME[2024-08-16T13:42:02.000Z]] <https://github.com/emacsmirror/w3/blob/master/w3-parse.el#L1438>



* textflow 要素型 (HTML)

[1] [[WinIE 3.0]]βが実装していた独自拡張であるとされている
(ことも多い) [[HTML]] の要素型です。

この要素は、 [CODE(HTMLe)[[[applet]]]] 要素の子供として使って、
その [[Java applet]] の[[代替文]]とします。

怪しい WinIE3β DTD <http://openlab.jp/k16/htmllint/notice.html#ie30b> 
によれば、
この要素の子供としては、[[行内要素]]・[CODE(SGML)[[[PCDATA]]]]
に加え、 [CODE(HTMLe)[applet]] (!), [CODE(HTMLe)[[[script]]]],
[CODE(HTMLe)[[[object]]]], [CODE(HTMLe)[[[embed]]]],
[CODE(HTMLe)[[[marquee]]]], [CODE(HTMLe)[[[bgsound]]]],
[CODE(HTMLe)[[[noscript]]]] 辺りを入れられます。
[[属性]]はありません。

[3] この要素型、実は [[Cougar]] ([[HTML4]] draft)
にあったりします <http://www.w3.org/MarkUp/Cougar/HTML.dtd>。
注釈によると、[[混合内容]]になってしまうと云々。
[CODE(HTMLe)[[[fieldset]]]] にもあるあの問題ですね。

つまり、 [CODE(HTMLe)[[[applet]]]] の中身は最初の方に
[CODE(HTMLe)[[[param]]]] を、後の方に代替文を書かせたいわけです。
[PRE[
<applet>
foo
<param/>
</applet>
]PRE]
ではなく
[PRE[
<applet>
<param/>
foo
</applet>
]PRE]
と。ところが、 SGML 的にはこれを実現するために[[内容モデル]]を [CODE(SGML)[([CODE(HTMLe)[param]]*, %[[flow]];)]]
としちゃうと、[[空白]]の扱いのせいでうまくいかない。
そこで[[開始タグ]]も[[終了タグ]]も省略可能なダミーの
[CODE(HTMLe)[textflow]] 要素を用意した、と。

最終の HTML 4 では ([[HTML 3.2]] でも) 諦めて [CODE(SGML)[([CODE(HTMLe)[param]] | %flow;)*]] にしたみたいです。

[2] [[htmlKona]] という実装が [CODE(HTMLe)[textflow]]
に対応しています。
''htmlKona の使い方'' <http://edocs.beasys.co.jp/e-docs/wls61/htmlkona/htmlkona.html#689709>

[[HTML++]] も対応しています。
''HTML++ Home Page'' <http://www.cfc.co.jp/lepton/html++.html>

[[JIS TR X 0010]]:2000 『日本語組版のDSSSLライブラリ』の附属書 D 
『特定 DTD ルール群』にある [CODE(file)[html.dsl]] 
という[[スタイルシート]]もこの要素型の[[節]]を
「何もしない」という表示規則で定義しています。

[6] 結局、この要素型は SGML 互換性のために HTML 3.2/4
draft DTD にあったものを、その DTD をコピペして
WinIE 3.0β 用 DTD なんてものをうっかり公開しちゃって、
大元の W3C 仕様からはその後消されてしまったために
M$ 独自拡張の汚名が残ってしまったというわけみたいです。
[WEAK[(W3C draft は読まないくせにたまたま IE のβ DTD の存在を知ってしまったような香具師がタグ一覧(謎)なんてものを作るから誤解が広まる。そういう意味では [[AHL]] も加担してるな。。。)]] 

-[4] ''HTML 3.2: TEXTFLOW is confusing www-html@w3.org from May 1996 by thread'' <http://lists.w3.org/Archives/Public/www-html/1996May/thread.html#524>
- [5] ''TEXTFLOW - Replacement for text in applet'' <http://www.htmlhelp.com/reference/wilbur/special/textflow.html>


[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[textflow]]
:日付:[TIME[1996-05-06]]
:説明:
[TIME[1996-05-06]]版 [CITE[HTML 3.2]] [[DTD]]
に、
[CODE[textflow]]
がある。
[SRC[HTML32-19960506]]
[[混合内容問題]]回避のためのものである。
[CITE[HTML 3.2]] のその後の原案や [[Cougar]] にも引き継がれたが、
[CITE[HTML 3.2]] の最終版や [CITE[HTML 4.0]] は採用しなかった。
:説明:
[[Internet Explorer]]
用 [[DTD]]
として公開されたものが
[CODE[textflow]]
を含んだ時期の
[CITE[HTML 3.2]] [[DTD]] 
から派生したものだったため、 
[CODE[textflow]]
を含んでいた。おそらくこれが原因で、
[CODE[textflow]]
が
[[Internet Explorer]]
の独自の要素と紹介されることがあった。
しかし、
[[Internet Explorer]]
自体が
[CODE[textflow]]
を実装したことはなかったと思われる。
:出典:[[<textflow>]]
:参照:[CODE[figtext]]
:参照:[CODE[bodytext]]

]FIG]

* textflow 要素型 (SVG)

[[#comment]]

* メモ