Příznaky
Při pokusu o načtení souboru XML, který je uložen jako UTF-7 (převod kódování formátu Unicode), analyzátor jazyka XML v aplikaci Internet Explorer generuje následující chybová zpráva:
Neplatné na nejvyšší úrovni dokumentu.
Stejné chybě také dochází při použití analyzátoru MSXML ze skriptu na straně serveru nebo klienta.
Příčina
Verze analyzátoru MSXML před MSXML 2.6 nepodporují UTF-7.
Řešení
Chcete-li vyřešit tento problém uložit dokumenty XML ve formátu UTF-8 kódování formát upřednostňovaný přenosu Unicode.MSXML 2.6 nebo novější podporuje kódování UTF-7.
Stav
Toto chování je záměrné.
Další informace
Sice Unicode jednotnou znakovou sadu pro téměř všechny světové jazyky, existuje mnoho reprezentace bajt nebo transformace formáty, které lze použít ve formátu Unicode. Nejoblíbenější formát je UTF-8, které reprezentuje znaky Unicode jako sekvence jedné až čtyř 8bitových bajtů. UTF-7 je formát 7-bit transformace vymezené umožňují průchod brány pošty, které předpokládají ASCII a vysokou přenosovou textové zprávy odstranit text v kódu Unicode. Založené na standardu XML 1.0 oddíl 4.3.3, je platný soubor XML musí být jedna z následujících:
-
Unicode soubor ve formátu UTF-8.
-
Unicode soubor ve formátu UTF-16.
-
Soubor v některé jiné kódování znaků (například ASCII), která má jako svou úplně první bajt
UTF-7 nepoužívá značka pořadí bajtů. UTF-7 převede XML zvláštní znak <+ ADw, které skončilo první znak kódování UTF-7 je také kódování dokumentu XML. Protože není kompatibilní s XML standard, odmítne MSXML načtení takové soubory. Mnoho textových editorů a textové procesory umožňují ukládat textové soubory Unicode, označované jako služby řízení Kódovaný text zpráv v aplikaci Microsoft Word, v mnoha různých přenos kódování, včetně UTF-7. Takže pokud uložíte dokument v aplikaci Word jako "textu s kódováním UTF-7", MSXML odmítne načíst z výše uvedených důvodů.
Kroky pro reprodukci chování
-
Vytvořte jednoduchý soubor XML v aplikaci Word 2000:
<?xml version="1.0"?><MyTag><EmbeddedTag name1="value"/></MyTag>
-
Uložte soubor jako Kódovaný text. Word zeptá, zda chcete dojít ke ztrátě formátování, klepněte na tlačítko Ano. Aplikace Word bude poté výzvu pro formát kódování použít. Vyberte kódování UTF-7a potom dokument uložíte jako název souboru víčko TestUTF7.xml.
-
Načtěte název souboru víčko TestUTF7.xml v aplikaci Internet Explorer 5. Zobrazí se následující chybová zpráva:
Neplatné na nejvyšší úrovni dokumentu. Řádek 1, pozice 1 + ADw-? xml verze + AD0AIg - 1.0 + ACI-? + AD4-.
Odkazy
U nejnovější Microsoft Global Software Development http://www.unicode.org/ pro nejnovější Unicode Standard.Další informace o vytváření webových řešení pro aplikaci Microsoft Internet Explorer naleznete na následujících webech společnosti Microsoft:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) Microsoft Corporation 2000, všechna práva vyhrazena. Příspěvky Jay Andrew Allen, Microsoft Corporation.