Strict-HTML スレッド 2.0 (W2C Recommendation)
377 :
Name_Not_Found:
バグ辞典スレ向きかとも思ったんですが、取り敢えずこちらに……。
ruby内(rbやrt)で、HTML4.01で言う%inline;が使いたかったので、
DTDに記されていた例(xhtml11-flat.dtd・1042行目辺り)を使って
<?xml version="1.0" encoding="ISO-2022-JP-2" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" >
]>
<html xmlns="
http://www.w3.org/1999/xhtml" version="-//W3C//DTD XHTML 1.1//EN" xml:lang="ja-JP" dir="ltr">
(以下略)
と拡張したんですが、このファイルをMozilla(Mozilla {Build ID: 2002011403} (Windows))に食べさせたら
Mozillaが吹っ飛んでしまいました。
これは、私の記述ミスなのでしょうか? それとも単にMozillaのバグ?
一応、W3CのHTML Validatorでは問題なしと言われたんですが……。
#普通のXHTML 1.1に戻したらちゃんと食べてくれましたので、他に問題がある訳では無いみたいです。
すみません、"encoding="ISO-2022-JP-2"は間違いです、ISO-2022-JPです。
379 :
Name_Not_Found:02/01/21 14:08 ID:ofiJ9dC7
>>377XHTML1.1ではデフォルトでrt/rb内にインライン要素を記述できるよ。
(ruby要素の入れ子を除く)
ruby.modじゃなくもっと上の方で上書き定義されているのでそれを見て下さい。
(ていうか同じ所でハマった経験がある…)
%NoRuby.content;の場合、フラットDTDでは2687行の記述ではなく
1046行の記述が適用されます。
ちなみに。
<!DOCTYPE html 外部識別子 [内部サブセット]>
の記述の場合、パーザの解析は「内部サブセット→外部サブセット」の順で行われます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" >
]>
と記述してしまうと、パラメタ実体参照"%InlNoRuby.class;"や"%Misc.class;"の実体が
未定義であるため、ここでエラーになる訳です。
これを回避するためには
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" >
]>
として、%がパラメタ実体参照の開始と見なされないようにして下さい。
(&を&と書くのと一緒です)
更に誤読ハケーソ。連カキコすまそ。鬱。
>>377はちゃんと
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" >
]>
って書いてたつもりだったのね(数値文字参照は展開されます…)。
それでmozがこけたとすれば、mozが悪いと思います。
383 :
377:02/01/21 14:49 ID:yfs3P/04
>>379あっ、そうか、先にある1044〜1048行の宣言の方が有効なんですよね。ありがとうございます。
#後に同じ宣言がある場合、そちらで上書きされるものだと勘違いしてました……。
#今まで、二日も掛けて何やってたんだ私は。
>>380すみません、それは大丈夫です。どうやら、数値実体参照をそのまま書き込んだ為、
展開されてしまったみたいです。"&#37;"と書けばいいのかな?
#って、上の実体参照を記すのにも実体参照を使ってるんですが……あぁ頭が混乱しそう。
>>381御意。%Color.datatype;(でしたか)が無いのは有名なミスでしょうか?
>>382はい、そうです。どうも、御丁寧にありがとうございます。
……ところで、382氏は、ひょっとしてsatoshii氏ですか?
#違っていたらごめんなさい。
いつも、興味深く拝見させて頂いております。件の拡張も、satoshii氏のサイトで勉強させて頂きました。
これからも頑張って下さい。一読者として、陰ながら応援しております。