I want to have list of required elements in any order defined in dtd, but have no idea how I could do this.
For example, I have following definition:
<!ELEMENT parent (child1, child2, child3)>
This dtd declaration will successfully validate following piece of xml:
<parent>
<child1></child1>
<child2></child2>
<child3></child3>
</parent>
But in following case xml will not pass validation:
<parent>
<child2></child2>
<child1></child1>
<child3></child3>
</parent>
One of the possible solution is to declare
<!ELEMENT parent (child1 | child2 | child3)>
But in this case one of the childs might be missing though validation will be successful.
I need correct dtd element declaration for the case when list of required elements can be present in any order.
See Question&Answers more detail:os