Упорядочение атрибутов XML пространств имен - PullRequest
4 голосов
/ 03 декабря 2008

связанный с вопрос, который я задал ранее ...

Просто проверка на что-то: имеет ли значение порядок атрибутов xmlns, xmlns: xsi и xsi: schemaLocation в файле XML?

Я обнаружил, что это так - по крайней мере при использовании XML Notepad 2007 для просмотра файла XML. Например (при условии, что мой XML-файл является допустимым в соответствии с моей схемой), это не дает ошибок (Пример 1):

<myroot 
    xmlns="http://www.someurl.com/ns/myroot" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd">

   <sometag>somecontent</sometag>

</myroot>

но этот делает (Пример 2):

<myroot 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd"
    xmlns="http://www.someurl.com/ns/myroot"> 

   <sometag>somecontent</sometag>

</myroot>

(ошибка в том, что sometag является недопустимой записью в соответствии со схемой).

Моя проблема в том, что если я использую код из моего другого вопроса для генерации своих атрибутов пространства имен и схемы, то я получаю выходные данные атрибутов XML в порядке примера 2 ...

Всегда ли атрибут xmlns должен быть первым в списке атрибутов?

1 Ответ

1 голос
/ 03 декабря 2008

Ах - я заметил мою проблему ....

XML, над которым я на самом деле работаю, очень сложен, и я не заметил, что я вставил xmlns = "" во все мои дочерние узлы. Как только я уберу это, проблема исчезнет, ​​и порядок атрибутов пространства имен не будет иметь значения - что я и ожидал ...

...