Я хочу иметь список требуемых элементов в любом порядке, определенном в dtd, но понятия не имею, как я мог это сделать.
Например, у меня есть следующее определение:
<!ELEMENT parent (child1, child2, child3)>
Это объявление dtd успешно проверит следующий фрагмент xml:
<parent>
<child1></child1>
<child2></child2>
<child3></child3>
</parent>
Но в следующем случае xml не пройдет проверку:
<parent>
<child2></child2>
<child1></child1>
<child3></child3>
</parent>
Одним из возможных решений является объявление
<!ELEMENT parent (child1 | child2 | child3)>
Но в этом случае один из дочерних элементов может отсутствовать, хотя проверка будет успешной.
Мне нужно правильное объявление элемента dtd для случая, когда список необходимых элементов может присутствовать в любом порядке.