PRB: Analizator składni XML nie może przeanalizować dokumentów UTF-7

Dotyczy: Brak

Symptomy


Podczas próby załadowania pliku XML zapisywane jako UTF-7 (transfer formatu kodowania Unicode), analizator składni XML w programie Internet Explorer generuje komunikat o błędzie:
Nieprawidłowe na najwyższym poziomie dokumentu.
Ten sam błąd występuje również podczas korzystania ze skryptu po stronie serwera lub klienta parsera MSXML.

Przyczyna


Wersji parsera MSXML przed programu MSXML 2.6 nie obsługują UTF-7.

Rozwiązanie


Aby rozwiązać ten problem, można zapisać dokumenty XML jako UTF-8, format kodowania preferowany transferu Unicode.MSXML 2.6 lub nowszej obsługuje kodowanie UTF-7.

Stan


Takie działanie jest celowe.

Więcej informacji


Chociaż Unicode jest znakiem jednolity zestaw reprezentujących prawie wszystkich języków, istnieje wiele reprezentacje bajt lub transformacja formatów, korzystających z plikiem Unicode. Najbardziej popularnym formatem jest UTF-8, który reprezentuje znaków Unicode jako sekwencja jednego do czterech 8-bitowych bajtów. UTF-7 jest to format transformacji 7-bitowe zdefiniowane umożliwiają tekst Unicode, aby przechodzić przez bramy poczty, które założono ASCII i usuwają dużej szybkości wiadomości tekstowych. Oparty na standardzie XML 1.0, ppkt 4.3.3, prawidłowy plik XML jest musi być jedną z następujących czynności:
  • Plik Unicode w formacie UTF-8.
  • Plik Unicode w formacie UTF-16.
  • Plik zapisany w niektóre inne kodowanie znaków (na przykład ASCII), który ma jako jego pierwszy bajtów
UTF-7 nie używa znacznika kolejności bajtów. Ponadto UTF-7 konwertuje XML specjalnych znaków < do + ADw, który kończy się pierwszy znak UTF-7 zakodowane dokumentu XML. Ponieważ nie jest zgodny ze standardem XML, MSXML odmawia obciążenia takie pliki. Wiele edytorów tekstu i edytory tekstu pozwalają zapisać pliki tekstowe Unicode, znany jako tekst zakodowany w programie Microsoft Word w wiele kodowań przesyłu, włączając UTF-7. Po zapisaniu dokumentu w programie Word jako "tekst zakodowany UTF-7", MSXML będą odrzucać go załadować z powyższych powodów.

Kroki do odtworzenia problemu

  1. Tworzenie prostego pliku XML w programie Word 2000:
    <?xml version="1.0"?><MyTag><EmbeddedTag name1="value"/></MyTag>
  2. Zapisz plik jako tekst zakodowany. Gdy program Word pyta, czy życzy sobie utratę formatowania, kliknij przycisk Tak. Następnie program Word monituje formatu kodowania użyć. Wybierz UTF-7, a następnie zapisz dokument jako nazwy pliku cap TestUTF7.xml.
  3. Nazwa pliku cap obciążenia TestUTF7.xml w programie Internet Explorer 5. Otrzymasz komunikat o błędzie:
    Nieprawidłowe na najwyższym poziomie dokumentu. Linia 1, pozycja 1 + ADw-? xml wersja + AD0AIg - 1.0 + ACI-? AD4- +.

Informacje


Aby uzyskać najnowszy program Microsoft Global Software Development http://www.unicode.org/ uzyskać najnowszy Unicode Standard.
Aby uzyskać więcej informacji dotyczących projektowania rozwiązań opartych na sieci Web dla programu Microsoft Internet Explorer odwiedź następujące witryny firmy Microsoft w sieci Web:(c) 2000 Microsoft Corporation Wszelkie prawa zastrzeżone. Składek przez Jay Andrew Allen, firma Microsoft Corporation.