<? ?>
というのは
<?xml version=”1.0” encoding=”UTF-8”?>
こんな感じで使われるヘッダー行の話しですよね。これはXMLがシフトJISなどで書かれているときは必須ですが、UTF-16のときは無くても可です。
そのため
ー---------------
<ddd aaa=’あいう’ />
ー---------------
というXMLもOKです(ただし保存形式はUTF-16にすること!S-JISではNGです)。
このように”<? ?>を消す”という方法で”XMLはUTF-16”ということを指定することが可能です。
http://www.atmarkit.co.jp/fxml/rensai2/xmlmaster06/master06.html
@IT:XMLマスターへの道 第6回 XMLマスター模擬問題:XMLの基本
1です。
もしかするとヘッダー部の書き方の質問だったのでしょうか?そうだとしますと・・・
<?xml version=”○○” encoding=”××” standalone=”△△”?>
というのがフルな書き方だと思います。
○○の部分はバージョンを示します。値は”1.0”のみです。省略した場合は”1.0”になります。
××の部分は文字コードを示します。”UTF-8”や”UTF-16”、”Shift_JIS”、”ISO-2022-JP”などがあります。省略した場合は”UTF-16”もしくは”UTF-8”の自動判別です。
△△の部分はDTDの有無です。値は”yes”か”no”です。省略した場合は”no”になります。
<?xml standalone=”△△” encoding=”××” version=”○○” ?>
のように順番が違っていてもOKですし
<?xml encoding=”××” ?>
のように一部を省略しても可ですし、全部省略してもOKです。省略した場合は上で書いたような値として処理されます。
他の指定の仕組みという事ですがそれはありません。
文字コードによっては必須ではありませんがXMLのバージョン宣言など
XMLを扱う上で重要な情報を宣言しますので宣言する事が強く推奨されています。
おそらく問題の雰囲気からすればPHPとのバッティングでしょうか。
その場合は
<?php echo ’<?xml version=”1.0”?>’;?>
といった書き方や
php.iniの
short_open_tag = On
を
short_open_tag = Off
にする事が根本解決です。
またPHPは1ローカル仕様なのに対し
XMLはデファクトスタンダードなのでPHPのショートオープンタグは使うべきでもありませんし
無効にする事が推奨されるべきでもあります。
鋭いご指摘誠にありがとうございます。
おっしゃるとおりです。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | peaceman1984 | 97回 | 88回 | 0回 | 2005-10-05 03:46:50 |
なるほど!UTF8出ないとダメですか?