htmlの流儀

f:id:tenman:20090531160445j:image:w400





ブログにしろ、ホームページにしろ、たとえ、フラッシュといっても、インターネットの多くのコンテンツは、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 boolean

PHP タグの短縮型 ( ) を使用 可能にするかどうかを設定します。PHPをXMLと組み合わせて用いる 場合は、 をファイル中で用 いるためにこのオプションをオフにする必要があります。オンにし た場合にPHPでXMLを出力するには、例えば、次のようにします。 これをオフにした場合、長い方の形式のタグ ( )を使用する必要があります。

注意

.htaccessでは、動作するようですが、(xrea)

#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()は、動作