餃子を食べるとき、何をつけますか?

以下のようなXML

<?xml version="1.0" encoding="Shift_JIS"?>
<aaa>
<■漢字/>
</aaa>

IEで表示しようとするとエラーになります。
encoding が間違っているのでしょうか。
よろしくお願いします。
-----
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。


--------------------------------------------------------------------------------

無効な文字で名前が始まりました。リソース 'file:///sample.xml' の実行エラーです。ライン 3、位置 3

<■漢字/>
--^

A 回答 (2件)

えーっと。

■は少なくともXML 1.0の要素名に使えない文字みたいです。(XML 1.1は知らん)

まず
http://homepage3.nifty.com/jgrammar/ja/tools/cod …
の文字→符号値の欄に■を入力
UTF-16にチェックが入っていることを確認してください
符号値参照して調べると
■は16進数で25A0です

ここで、
XML 1.0(Forth Edition)をみると
http://www.w3.org/TR/REC-xml/#NT-STag
要素名がNameで
それは
http://www.w3.org/TR/REC-xml/#NT-Name
Letter, _ , :のうちどれかで始まり、その後、0以上の任意の個数のNamecharが続くことになります
Letterは
BaseCharかIdeographic
のどちらかですが、
示されたそれぞれのリストの範囲の中に#x2540は含まれません!

ちなみに
Digit,CombiningChar,Extender, . , - にも含まれないので
要素名の2番目以降にも存在できません。規格上。
実際Minefield(Firefoxの開発版)
XMLEDITOR.NET(フリーウェア),Safari,Opera 9.5等の実装も試してみましたが、当然のように駄目でした。
    • good
    • 0
この回答へのお礼

よく理解できました。
これから要素名に日本語を使うことをやめます。
大変丁寧に説明していただいて、ありがとうございました。

お礼日時:2008/03/28 14:15

単なるtypoの修正


[誤]
#x2540は含まれません!
[正]
#x25A0は含まれません!

その他の点には影響ありません

# <__ />も<:: />も許されるはずなんだけど、手元の実装では全て後者でエラーが出ます。何ででしょうね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報