From: Yasuhiro Fukuma Date: 1999-02-22T07:53:59+09:00 Subject: [ruby-dev:5432] Re: htmlelem.rb 福間@福岡 です。 記事 <199902211555.AAA21849@hanare00.math.sci.hokudai.ac.jp> において、 gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) さんは書きました : > ruby には関係ないんですが, ですね(^^;; > >「知らないタグは黙って無視する」といったほうが、より正確でしょうね。 > >RFC1866 (HTML2.0 Spec.)にも、そうするのが望ましいといったことが書かれて > >いたように思います。 RFC1866: | 4.2.1. Undeclared Markup Error Handling | | To facilitate experimentation and interoperability between | implementations of various versions of HTML, the installed base of | HTML user agents supports a superset of the HTML 2.0 language by | reducing it to HTML 2.0: markup in the form of a start-tag or end- | tag, whose generic identifier is not declared is mapped to nothing | during tokenization. Undeclared attributes are treated similarly. The | entire attribute specification of an unknown attribute (i.e., the | unknown attribute and its value, if any) should be ignored. On the | other hand, references to undeclared entities should be treated as | data characters. また HTML4.0 Spec. にも同じような記述があります: http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.1 > これって,HTML4.0 を知らないブラウザへのトリックと > 思っておけばよいんでしょうか?? まあ、だいたいそういうことだと思います。 HTML4.0を知らないuser agent (UA)が という記述に出逢うと、 ←やっぱりSCRIPTという要素は知らない ←これも知らないので無視 ということで、結局

What time is it now?

だけが残る、というわけです。 # 結構勘違いしているひとも多いようですが、ここでNOSCRIPT要素の中身は # 「NOSCRIPT要素の中身だから」解釈されているのでは*ありません* もちろんHTML4.0を知っているUAは ・SCRIPT要素の中身は、type属性に応じてスクリプト言語として処理する (タグや実体参照があっても一切解釈しない) # こうすると余計な "" まで残ってしまいますが、これは # スクリプト言語の処理系が適当に解釈してよきにはからってくれること # でしょう ・スクリプトの実行機能が有効になっていれば、NOSCRIPT要素の中身は 無かったことにする(タグや実体参照も解釈はする) ということを知っていますので、結局どちらの場合でもそれなりにうまくいくと いうことになります。 > # それで,goo で俺日記がヒットするとスタイル要素の > # 中身が見えるのカー STYLE要素も同じように解釈されますから、なるべく で囲んでおく ほうがいいでしょうね。 --- Yasuhiro Fukuma (福間 康弘) as Yasu.F @ Kitakyushu.Fukuoka.Japan Web site: http://www8.big.or.jp/~yasuf/ “君の主人公は君だ。”