PRB: Аналізатора XML не вдалося проаналізувати UTF-7 документів


Ознаки


Під час спроби завантажити XML-файл як UTF-7 (передачі формат кодування Юнікод), аналізатора XML, у браузері Internet Explorer, генерує повідомлення про помилку:
Неприпустимий на найвищому рівні документа.
Також, сама помилка виникає під час використання аналізатор MSXML у сценарії на стороні сервера або на стороні клієнта.

Причина


Аналізатор MSXML, перш ніж MSXML 2.6 версій не підтримують UTF-7.

Спосіб вирішення


Щоб вирішити цю проблему, збережіть XML-документи як UTF-8, основний передавання кодування формат для Unicode.MSXML 2.6 або пізнішої версії, підтримує UTF-7-кодування.

Стан


Це зроблено навмисно.

Додаткові відомості


Хоча Юнікод уніфікований символів, значення, що майже в усьому світі мови, існує багато байт заяви або перетворення форматів, файлів у форматі Юнікод можна використовувати. Найпопулярніші формат, це UTF-8, який представляє символи Юнікод, як послідовність один з чотирьох стеку байт. UTF-7 – це 7-бітне перетворення формату для файлів у форматі Юнікод тексту проходити крізь шлюзів електронної пошти, припустімо, ASCII, а також смуги з високим біт текст повідомлення. На основі XML 1.0 стандарту, розділ 4.3.3, дійсним XML-файл має бути одне з таких дій:
  • У форматі Юнікод UTF-8 формат.
  • У форматі Юнікод UTF-16 формат.
  • Деякі інші кодування символів (наприклад, ASCII) файлу, що містить як її перший байт на
UTF-7, не використовуйте порядку байтів. Крім того, перетворює UTF-7, XML спеціальний символ + ADw, коли закінчується час першу цифру UTF-7, закодовано XML-документ. Так, як це не сумісний зі стандартних XML, MSXML відмовляється завантаження таких файлів. Текстовий редактор і текстових процесорів дозволяє зберігати файли тексту в кодуванні Юнікод, відомий як кодування тексту у програмі Microsoft Word, у багато різних передавання кодування, включно з UTF-7. Таким чином, можна зберегти документ у програмі Word, "кодований текст UTF-7" MSXML відмовиться інсталював її причини.

Відтворення проблеми

  1. Створення простого XML-файл, у Word 2000:
    <?xml version="1.0"?><MyTag><EmbeddedTag name1="value"/></MyTag>
  2. Збережіть файл, як кодування тексту. Word запитує, якщо ви бажаєте втрати форматування, натисніть кнопку так. Word потім вам буде запропоновано для кодування формат, використання. Виділіть UTF-7і збережіть документ, як ім'я обмеження TestUTF7.xml.
  3. Завантажити обмеження ім'я TestUTF7.xml, в Internet Explorer 5. З'явиться таке повідомлення про помилку:
    Неприпустимий на найвищому рівні документа. Рядок 1, положення 1 + ADw-? xml версії + AD0AIg - 1.0 + АЧІ-? + AD4 –.

Посилання


Щоб за останній глобальні програмного забезпечення Microsoft http://www.unicode.org/ останні стандарту Юнікод.
Щоб отримати додаткові відомості про розробку рішення на веб інтерфейс для Microsoft Internet Explorer відвідайте такі веб-сайти Майкрософт:(c) Microsoft Corporation 2000 всі права застережені. Внесок Джей Ендрю Аллен, корпорація Майкрософт.