現象
Utf-7 (Unicode のエンコード形式の転送) として保存した XML ファイルをロードしようとすると、Internet Explorer で XML パーサーには、次のエラー メッセージが生成されます。
ドキュメントの最上位レベルでは無効です。
サーバー側またはクライアント側スクリプトから MSXML パーサーを使用する場合も同じエラーが発生します。
原因
MSXML 2.6 の前に、MSXML パーサーのバージョンでは、utf-7 をサポートしていません。
解決方法
として UTF-8 では、XML ドキュメントを保存、この問題を解決するのには Unicode.MSXML 2.6 またはそれ以降の優先転送エンコード形式は、utf-7 エンコーディングをサポートします。
状態
この動作は仕様です。
詳細情報
設定のほぼすべての言語を表す統一された文字を Unicode には、多くのバイト、または変換形式のため、Unicode ファイルを使用するにはあります。最も人気のある形式は、UTF-8、Unicode 文字を 1 ~ 4 個の 8 ビット バイトのシーケンスとして表現されます。Utf-7 は、ASCII を前提としていて、テキスト メッセージのビットを削除するメール ゲートウェイを通過する Unicode 文字を許可するのには定義されている 7 ビット変換形式です。セクション 4.3.3、XML 1.0 標準に基づく有効な XML ファイルは、次のいずれかを指定するために必要。
-
UTF-8 形式で Unicode ファイルです。
-
Utf-16 形式に Unicode ファイルです。
-
非常に最初のバイトとしていくつかの他の文字エン コード (ASCII) ファイルを持つ、
Utf-7 では、バイト順マークは使用しません。+ 入るが、utf-7 での最初の文字が最終的に特殊な XML 文字の< (UTF-7) に変換は、XML ドキュメントをエンコードします。XML 標準に準拠していないため、このようなファイルをロードするのには MSXML が拒否されます。多くのテキスト エディターとワード プロセッサを使用すると、utf-7 を含む、多くの異なる転送のエンコーディングで Microsoft Word で、エンコードされたテキストをと呼ばれる Unicode テキスト ファイルを保存できます。 「テキスト utf-7 でエンコードされた」として、Word で文書を保存する場合に上記の理由で MSXML を拒否します。
現象の再現手順
-
Word 2000 では、単純な XML ファイルを作成します。
<?xml version="1.0"?><MyTag><EmbeddedTag name1="value"/></MyTag>
-
エンコードされたテキストとしてファイルを保存します。Word には、書式が失われる場合が要求する、[はい] をクリックします。単語入力を求め、使用するエンコード形式を指定します。(UTF-7)を選択し、cap ファイル名 TestUTF7.xml として、ドキュメントを保存します。
-
Cap ファイル名では、Internet Explorer 5 の TestUTF7.xml をロードします。次のエラー メッセージが表示されます。
ドキュメントの最上位レベルでは無効です。行 1、位置 1 + 入るのですか? xml バージョン + AD0AIg - 1.0 + ACI-? + AD4-。
参照情報
用の最新グローバル ソフトウェア開発の Microsoft http://www.unicode.org/ Unicode 標準の最新の。Microsoft Internet Explorer の Web ベースのソリューションを開発する方法の詳細については、次のマイクロソフト Web サイトを参照してください。
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) マイクロソフト株式会社、2000 無断転載を禁止します。Jay Andrew Allen、米国 Microsoft Corporation によって貢献します。