岩井です。
2010年5月3日16:34 Maruyama Akira <
akira...@gmail.com>:
> DMで回答を頂きましたので、一部異なる部分を確認も含めシェアします。
なんでDMなんだろう。まあいいけど。
実名やそれに準ずるものが嫌なら専用メールアドレスで参加してほしいな。
>>> ・UTF-8以外だと先頭にxml宣言が必須
>
> こちら、エンコーディングがHTTPヘッダーなどで指定されていれば、UTF-8に限らずXML宣言を省いてもいいのでは?
> とありました。どうなんでしょうか?
私の知っていることは別メールに書いた通りなので省略。
そこはXML 1.0の仕様ですね。
| EmptyElemTag ::= '<' Name (S Attribute)* S? '/>
とあるように、「S」はあってもなくてもいいのです。
HTMLにまつわる話では、そもそもは、過去のXMLに対応していないウェブブラウザのために
空白類が入ることが推奨されていました。
しかしながら、HTML5を策定中の現在、そのようなウェブブラウザは考慮しなくてよくなったという
判断だと思います。
あとは別メールで紹介した話題をみていただければより深く理解できると思います。
>> ・XML構文では、charsetの指定はXML宣言で行うので<meta charset="">は不要
>> と言ったところでしょうか。
>
> これですが、xml宣言が無い場合は何で判断するのでしょうか?
XML宣言にもなく、ハイレベルプロトコルにもなければUTF-8かUTF-16と理解されると思います。
そのどちらでもなければ、ウェブブラウザなどのエラーを許容した方がいいUAは頑張って処理する
んじゃないかなー。
(HTML5でどう規定されているのか、そもそも規定されているのかも未確認。ごめんなさい)
--
いわい