textflow

textflow

textflow 要素型 (HTML)

[1] WinIE 3.0βが実装していた独自拡張であるとされている (ことも多い) HTML の要素型です。

この要素は、 applet 要素の子供として使って、 その Java applet代替文とします。

怪しい WinIE3β DTD <http://openlab.jp/k16/htmllint/notice.html#ie30b> によれば、 この要素の子供としては、行内要素PCDATA に加え、 applet (!), script, object, embed, marquee, bgsound, noscript 辺りを入れられます。 属性はありません。

[3] この要素型、実は Cougar (HTML4 draft) にあったりします <http://www.w3.org/MarkUp/Cougar/HTML.dtd>。 注釈によると、混合内容になってしまうと云々。 fieldset にもあるあの問題ですね。

つまり、 applet の中身は最初の方に param を、後の方に代替文を書かせたいわけです。

<applet>
foo
<param/>
</applet>

ではなく

<applet>
<param/>
foo
</applet>

と。ところが、 SGML 的にはこれを実現するために内容モデル(param*, %flow;) としちゃうと、空白の扱いのせいでうまくいかない。 そこで開始タグ終了タグも省略可能なダミーの textflow 要素を用意した、と。

最終の HTML 4 では (HTML 3.2 でも) 諦めて (param | %flow;)* にしたみたいです。

[2] htmlKona という実装が 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 ルール群』にある html.dsl というスタイルシートもこの要素型のを 「何もしない」という表示規則で定義しています。

[6] 結局、この要素型は SGML 互換性のために HTML 3.2/4 draft DTD にあったものを、その DTD をコピペして WinIE 3.0β 用 DTD なんてものをうっかり公開しちゃって、 大元の W3C 仕様からはその後消されてしまったために M$ 独自拡張の汚名が残ってしまったというわけみたいです。 (W3C draft は読まないくせにたまたま IE のβ DTD の存在を知ってしまったような香具師がタグ一覧(謎)なんてものを作るから誤解が広まる。そういう意味では AHL も加担してるな。。。)

textflow 要素型 (SVG)

メモ