Заботится ли XML о порядке элементов?

XML иногда меня смущает, но я пытаясь понять это. То, что мне говорит поставщик, не имеет смысла, но опять же, XML и я не ладим :)

У меня есть XML, который я отправляю в веб-службу поставщика, который выдает мне случайные сбои:

<root>
    <Request>
        <Driver id="1" VehId="1">...</Driver>
        <Driver id="2" VehId="1">...</Driver>
        <Driver id="3" VehId="2">...</Driver>
        <Vehicle id="1">...</Vehicle>
        <Vehicle id="2">...</Vehicle>
        <Driver id="4" VehId="2">...</Driver>
    </Request>
</root>

Не существует XSLT или XSD, с которыми можно было бы сравнивать, чтобы убедиться, что мой XML действителен.

Производитель заявляет, что XML недействителен, поскольку драйвер №4 находится в неправильной области. XPath для драйвера должен быть root / Request / Driver, а Vehicle - root / Request / Vehicle.

Часто ли парсеры XML принудительно устанавливают порядок элементов, особенно если нет XSD, с которым можно было бы сравнить XML? Служба поддержки продавца не спешит со мной, поэтому я хочу знать, что является хорошей общей практикой.

Followup

Я достаточно жаловался нашему представителю по работе с клиентами на то, что не могу это проверить (и сказал, что они просто пытались получить деньги на поддержку), что оказалось, что у разработчиков есть XSD, а у службы поддержки нет. Итак, я разговаривал не с той группой * facepalm *

. Я получил XSD, и он обеспечивает соблюдение определенного порядка элементов.

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

32
задан dragonmantank 2 December 2010 в 15:32
поделиться