DTD потребовал упорядочивания элементов

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

Например, у меня есть следующее определение:

<!ELEMENT parent (child1, child2, child3)>

Это объявление даты успешно проверит следующую часть xml:

<parent>
   <child1></child1>
   <child2></child2>
   <child3></child3>
</parent>

Но в следующем случае xml не передаст проверку:

<parent>
   <child2></child2>
   <child1></child1>
   <child3></child3>
</parent>

Одно из возможного решения состоит в том, чтобы объявить

<!ELEMENT parent (child1 | child2 | child3)>

Но в этом случае один из childs мог бы отсутствовать, хотя проверка будет успешна.

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

13
задан altern 11 June 2010 в 12:52
поделиться

1 ответ

Читая спецификацию можно сделать вывод, что нельзя.

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

Я думаю, это потому, что вы объявляете последовательность (или упорядоченный список, если хотите), а не коллекцию (или неупорядоченный список).

2
ответ дан 1 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: