2002年2月18日(月曜日)
実は valid な HTML::Template
HTML::Templateモジュールのドキュメント (www.perldoc.com)に、こんなことが書かれています。
Note: even though these tags look like HTML they are a little different in a couple of ways. First, they must appear entirely on one line. Second, they're allowed to "break the rules". Something like:
<IMG SRC="<TMPL_VAR NAME=IMAGE_SRC>">
is not really valid HTML, but it is a perfectly valid use and will work as planned.
以上、http://www.perldoc.com/perl5.6.1/lib/HTML/Template.html より
not really valid とありますが、そんなことはありません。属性値に "<" と ">" が含まれていることを問題にしているのでしょうが、引用符で括られた属性値は RCDATA としてパースされるので、< などが出現してもマークとはみなされないのです。RFC1866 の 3.2.4. Attributes にも以下のように書かれていました。
NOTE - Some historical implementations consider any occurrence of the `>' character to signal the end of a tag. For compatibility with such implementations, when `>' appears in an attribute value, it should be represented with a numeric character reference. For example, `<IMG SRC="eq1.jpg" alt="a>b">' should be written `<IMG SRC="eq1.jpg" alt="a>b">' or `<IMG SRC="eq1.jpg" alt="a>b">'.
以上、urn:ietf:rfc:1866 より
仕様的には、属性値の中で > を使っても開始タグ終了区切り子とはみなさないことが分かります。
ということで、そのようなマーク付けは実は valid なのです。もちろん、RFC1866 に書いてあった通りオススメできない書き方ではありますし、XML では
[10] AttValue ::= '"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'"
以上、http://www.w3.org/TR/2000/REC-xml-20001006#NT-AttValue より
ですので、XHTML では invalid となります。
※なお、<IMG SRC="<TMPL_VAR NAME="IMAGE_SRC">"> と書くと、HTML 的にも valid ではなくなります。
- 「実は valid な HTML::Template」にコメントを書く
303 See Other
HTTP/1.1 には 303 See Other というステータスがあります。
しかし Netscape Navigator 4.7 は、ステータス 303 を受け取ってもリダイレクトしません。もちろん Location フィールドはちゃんと出力しているのに、です。
303 See Other は HTTP/1.0 にはありませんでしたから、HTTP/1.1 に対応していない UA の動作として不思議は無いのですが。
Note: Many pre-HTTP/1.1 user agents do not understand the 303 status. When interoperability with such clients is a concern, the 302 status code may be used instead, since most user agents react to a 302 response as described here for 303.
- 前(古い): 2002年2月17日(Sunday)のえび日記
- 次(新しい): 2002年2月19日(Tuesday)のえび日記