2008-12-03 9 views
4

Родственный вопрос one I asked earlier ...XML пространства имен

Просто проверка на что-то: В случае, если порядок 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

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

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

+1

Вы когда-нибудь разбирались в заказе? – Dan 2009-04-07 10:14:07