人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

XML宣言をしたいのですが、<? ?>じゃない指定の仕方はありませんか。

●質問者: Tariq
●カテゴリ:ウェブ制作
✍キーワード:XML
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● nitscape
●24ポイント

<? ?>

というのは

<?xml version=”1.0” encoding=”UTF-8”?>

こんな感じで使われるヘッダー行の話しですよね。これはXMLがシフトJISなどで書かれているときは必須ですが、UTF-16のときは無くても可です。

そのため

ー---------------

<ddd aaa=’あいう’ />

ー---------------

というXMLもOKです(ただし保存形式はUTF-16にすること!S-JISではNGです)。


このように”<? ?>を消す”という方法で”XMLはUTF-16”ということを指定することが可能です。

◎質問者からの返答

なるほど!UTF8出ないとダメですか?


2 ● nitscape
●23ポイント

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です。省略した場合は上で書いたような値として処理されます。


3 ● izayoimizuki
●23ポイント

他の指定の仕組みという事ですがそれはありません。

文字コードによっては必須ではありませんがXMLのバージョン宣言など

XMLを扱う上で重要な情報を宣言しますので宣言する事が強く推奨されています。


おそらく問題の雰囲気からすればPHPとのバッティングでしょうか。

その場合は

<?php echo ’<?xml version=”1.0”?>’;?>

といった書き方や

php.iniの

short_open_tag = On

short_open_tag = Off

にする事が根本解決です。

またPHPは1ローカル仕様なのに対し

XMLはデファクトスタンダードなのでPHPのショートオープンタグは使うべきでもありませんし

無効にする事が推奨されるべきでもあります。

◎質問者からの返答

鋭いご指摘誠にありがとうございます。

おっしゃるとおりです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ