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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/10/04 20:34:36
  • 終了:--

回答(4件)

id:nitscape No.1

nitscape回答回数526ベストアンサー獲得回数02005/10/04 20:57:47

ポイント24pt

<? ?>

というのは

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

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

そのため

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

<ddd aaa=’あいう’ />

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

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


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

id:Tariq

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

2005/10/04 21:25:56
id:nitscape No.2

nitscape回答回数526ベストアンサー獲得回数02005/10/04 22:28:35

ポイント23pt

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

id:izayoimizuki No.3

izayoimizuki回答回数302ベストアンサー獲得回数02005/10/04 23:13:45

ポイント23pt

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

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

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


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

その場合は

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

といった書き方や

php.iniの

short_open_tag = On

short_open_tag = Off

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

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

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

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

id:Tariq

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

おっしゃるとおりです。

2005/10/04 23:32:06

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 peaceman1984 97 88 0 2005-10-05 03:46:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません