XHTML における「XML 宣言」の方法
XHTML 1.0 では、XML 宣言することが強く求められる!という事は良く知られているようですが、Internet Explorer 6.0 (IE6.0) が、それをカバーしていないため(エラーになったり、ページ表示できなかったり・・・)、宣言することを避けているサイトが結構ありますよね!
しかし、PHP が稼動するレンタルサーバでは、これを簡単に解決してくれます。詳細は、「BirDesign::IE6でのXML宣言の問題と回避方法」という投稿記事に示されています。
本サイトでも上記の投稿記事を参考に header.php の最上位行に下記のコードを挿入しました。
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (!(ereg(”Windows”,$ua) && ereg(”MSIE”,$ua)) || ereg(”MSIE 7″,$ua)) {echo ‘<?xml version=”1.0″ encoding=”‘ .get_settings(’blog_charset’) .’”?>’ . “\n”;
}
?>
上記のコード中、<?php と ?>の前後に、余計なスペース・改行などは入れないことが注意点くらいで、単純に挿入するだけで、XHTML 1.0 では、XML 宣言することができるようになります。上記のコードは、訪問者のブラウザが Windows の IE 以外だった場合に、XML宣言をするようになっているそうです。






はじめまして、今大変困っていて教えていただきたいのですがXML 宣言で
( header.php の最上位行に下記のコードを挿入しました。)とありますが
header.phpは自分でファイルを作成すれば良いのですか?コードを何処に挿入すれば良いのかわかりません、宜しくお願い致します。
masu様
私は、専門家ではありませんから、ご指導するほどではありませんからもっとウェブページに知識のある方にお聞きするのが良いとは思うのですが・・・
私なりにご回答いたしますと、上記は PHP のコードですので、html の拡張子だと機能しません。よって、ウェブページを PHP の拡張子に変更して、ページのとにかく真上(最上位行)に挿入する必要があります。PHP の利用に関しては、サーバーによっては利用できない場合もありますので注意が必要です。
ちなみに header.php は、WordPress の場合、テーマというデザインテンプレートがあり、その中にあるファイルで、その場合でも最上位行に挿入する必要があります。
私で回答できるのはこの範囲ですが・・・
なるほど分かりました、どうもありがとうございます。