UnicodeのXML文書はどのように作るのですか? | |
取引先から、XML文書をシフトJISではなくUnicodeで欲しいといわれました。UnicodeのXML文書は言語タグのところを変えるだけでいいのでしょうか? また、どんなツールを使えばUnicodeでXML文書が作成できるのでしょうか? |
回答/富士ソフトABC株式会社 技術センター
2001/4/27
Windowsで一般のテキストエディタなどを利用して文書を作成すると、全角文字がシフトJISコードで保存され、シフトJISコードのXML文書が作成されます。これを、Unicodeに変えるには、幾つかの方法とポイントがあります。
その前に、Unicodeについて簡単に説明しましょう。
Unicodeとは、Unicodeコンソーシアムによって、世界各国に複数存在する文字コード体系を一本化することを目的に作られたコード体系です。Unicodeでは、日本語の文字も、中国語の文字やハングル文字も、それぞれ固有のコードが割り当てられています。 XML文書で広く用いられているのは、Unicodeの中でも8ビットエンコーディングされた「UTF-8」と呼ばれるものです。
質問に、 「UnicodeのXML文書は言語タグのところを変えるだけでいいのでしょうか」とありますが、この「言語タグ」は、XML宣言部分の
encoding属性(符号化宣言)の部分を指していると思われます。しかし、XML宣言の符号化宣言部分を <xml encoding="UTF-8">
としただけでは、残念ながらXML文書を Unicode化したことにはなりません。
<?xml version="1.0" encoding="shift-jis"?> |
シフトJISで書かれたXML文書 |
<?xml version="1.0" encoding="UTF-8"?> |
符号化宣言部分だけを Unicode にしたXML文書 |
XML文書の中で全角文字列がシフトJISで記述されている場合には、符号化宣言を単に変更しただけでは、下に示すようにXMLパーサがエラーを返します。
XMLパーサ(Microsoft Internet Explorer)でのエラー表示 |
符号化宣言は、当該のXML文書がどのようなコードで書かれているかを宣言する部分ですので、文書内容のコード体系と合わせて宣言する必要があります。膨大なコード体系を処理する必要のあるXMLパーサが誤りなくXML文書を処理するために重要な宣言ですので、忘れずに宣言してください。ただし、符号化宣言のないXML文書はUTF-8 として処理されます。ASCII文字はUTF-8のサブセットになっていますので、すべてASCII文字セットで書かれたXML文書ならば、符号化宣言なしでもXMLパーサによる処理が可能です。
では、どのようなツールを使えばUnicodeでXML文書を作成できるのか、ご紹介しましょう。
Windows 2000では、内部の文字コードにUnicodeが採用されていますので、「メモ帳」を利用してXML文書を作成できます。すでにシフトJISの文書があれば、
-
Unicodeに変換したいXML文書を「メモ帳」でオープンする
- 符号化宣言部分をUTF-8に書き直す(encoding="UTF-8")
- [ファイル]-[名前を付けて保存]メニューを選択する
- ダイアログボックス内のプルダウンメニューで[文字コード]を[UTF-8]に設定して、保存する
<?xml version="1.0" encoding="UTF-8"?> |
「メモ帳」で変換したUnicode形式のXML文書の場合、符合化宣言部分を"UTF-8"にする |
Windows 2000の環境以外でも、「秀丸エディタ」など、最近では多くのテキストエディタが、Unicodeでの保存に対応しているので、それらも同様にXML文書をUnicodeで作成するのに使用できます。もちろん、メモ帳やテキストエディタなどでコード変換を行う場合にも、それに応じてXML文書の符号化宣言部分を修正しなければなりません。
市販のXMLエディタを使用するともっと簡単にUnicodeのXML文書に変換できます。アンテナハウス株式会社の「TagEditor」などには、指定したエンコード形式でXML文書を作成できる機能があります。
「Ask XML Expert」 |
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|