Является ли тег объявления XML чувствительным к регистру? - PullRequest
8 голосов
/ 28 мая 2009

У меня, наверное, очень простой, изумительный вопрос, но я нигде не могу найти на него ответ, и мне нужно быть в этом уверенным.

У меня есть различные XML-файлы от разных поставщиков. Один из поставщиков предоставил мне XML-файл с японскими символами в этом файле. Первоначально у меня были проблемы при обработке файла XML (я использую MSXML SDK ). Персонажи вышли бы не так. Я обнаружил, что если в файл XML добавлено следующее, все работает отлично.

<?xml version="1.0" encoding="UTF-16"?>

И поэтому я попросил продавца добавить это в свой файл. Но они добавили его с кодировкой в ​​нижнем регистре:

<?xml version="1.0" encoding="utf-16"?>

И когда я загружаю этот новый файл с этим объявлением, я получаю ту же проблему, что и когда этого объявления не было.

Что я пытаюсь выяснить (наверняка), так это то, что этот атрибут кодирования чувствителен к регистру (или иным образом проблема). Имеет ли значение, что они ставят "UTF-16" против "UTF-16"?

Обновление : По совету тех, кто разместил здесь ответы, я настроил и выполнил тест. Один файл имел нижний регистр utf-16, а другой верхний регистр. Кроме этого, файлы были идентичны. Это не решило проблему и не является проблемой. Я пришел к выводу, что MSXML не чувствителен к регистру, как указано в спецификации, опубликованной в ответах.

Ответы [ 2 ]

11 голосов
/ 28 мая 2009

Я полагаю, что вопрос на самом деле не "является ли стандарт чувствительным к регистру?" но "чувствительна ли к регистру кодировка в MSXML SDK ?"

С bytes.com :

В спецификации XML сказано, что процессоры "ДОЛЖНЫ" соответствовать именам кодировки регистронезависимо. «СЛЕДУЕТ» - технический термин, менее сильный, чем «ДОЛЖЕН», но я не вижу никакой причины, по которой процессор не будет этого делать.

Однако мы знаем, что это не всегда может быть правдой на практике. Если вы можете попробовать обе программы одновременно, пожалуйста, сделайте это и дайте нам знать, каков будет результат.

10 голосов
/ 28 мая 2009

Из XML-спецификаций :

XML processors SHOULD match character encoding names in a case-insensitive way

Так что это не нужно, но рекомендуется без учета регистра, согласно RFC 2119 :

  1. ДОЛЖНО Это слово или прилагательное "РЕКОМЕНДУЕМЫЕ" означают, что могут существовать веские причины в особые обстоятельства, чтобы игнорировать
    конкретный предмет, но полный последствия должны быть поняты и
    тщательно взвесить, прежде чем выбрать другой курс.
...