htmlの流儀
ブログにしろ、ホームページにしろ、たとえ、フラッシュといっても、インターネットの多くのコンテンツは、htmlと無関係ではありません。
htmlは、ハイパーテキストを書くための言語 という意味で、ハイパーテキストトランスファープロトコルという、通信規約でインターネットを見ているためです。
このhtmlは、プログラムではないので、間違った記述をしても、ブラウザは、適当に解釈したり、無視したりするようにできています。
一文字違っても動作しなくなるようなプログラムと違って、軽く見られ勝ちですが、そういう間違いの積み重なったhtmlファイルは、プログラムのように、「はい、見えません」といった挙動ではなく
表示がだらしなく重なり合いひどければ、読めない文書として、だらしなく表示するという意味では、エラーの表示方法が、とてもいやらしく、閲覧者を、2度と閲覧したくない気分にさせてしまいます。
動かなくて制作者を困らせるだけの 単純な報復ではなく、
htmlは、欠陥があると、閲覧した外部の人に、製作者の無能ぶりを言いつけて、外堀から、評判を落としていく、非常にたちの悪い仕返しを制作者にするので、
制作者たちの多くは、WEB標準とかいう、業界標準を守って制作するという流儀になってきています。
さて、そのような、html文書の記述の決まりごとの中で、xml互換文書を作成するときに、一行目に、xml宣言というものを記述することになっています。
<?xml version="1.0" encoding="utf-8" ?>
と書くんですが、これは、phpというスクリプトの中で書くときには、
Parse error: syntax error, unexpected T_STRING in…
というエラーを発生させるので、
echo '<?xml version="1.0" encoding="utf-8" ?>'; とか echo '<?xml version="1.0" encoding="utf-8"'. '?'.'>';とか書きます。
私も、ずっとこういう書き方をしていました。
でも、.htaccess ファイルに、以下の一行を記述すればいいらしいので、メモに残しておきます。
もう、ショートタグなんて使っていないですから、、、
マニュアルより、
short_open_tag booleanPHP タグの短縮型 ( ) を使用 可能にするかどうかを設定します。PHPをXMLと組み合わせて用いる 場合は、 をファイル中で用 いるためにこのオプションをオフにする必要があります。オンにし た場合にPHPでXMLを出力するには、例えば、次のようにします。 これをオフにした場合、長い方の形式のタグ ( )を使用する必要があります。
注意
#xml宣言でエラーを出さない php_flag short_open_tag off
phpファイルから以下のような記述では動作しないようです。
<?php echo ini_get('short_open_tag'); ini_set('short_open_tag','off'); ?>
※ .htaccessで short_open_tagの設定を ini_get()は、動作