XSD не требует, чтобы элементы были в определенном порядке, просто позволяет настаивать на том, чтобы элементы были в определенном порядке.
Одна вещь, которая хороша для принудительного размещения элементов в определенном порядке, состоит в том, что, если вы на самом деле редактируете XML вручную, intellisense автоматически предполагает, что вы хотите следующий тег в определенном порядке. Если вы просто используете xs:all
вместо xs:sequence
, intellisense перечислит все возможные следующие элементы, и вам придется выбрать, какой из них (или получить на выбор, в зависимости от вашей перспективы :)) .
Я бы также добавил, что использование фиксированного порядка делает файлы XML более удобными для работы с пользователем. Правда, для программного чтения в файле не должно иметь значения, упорядочиваете ли вы свои координаты x, y, z или z, y, x, но для человека, читающего эти координаты, было бы легче, если бы порядок следовал общему соглашению. Людям также проще сравнивать два XML-файла, чтобы увидеть, что в них отличается, если все в одном порядке.
Просто чтобы перевести вопрос с ног на голову, в чем недостаток использования фиксированного порядка? :)