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:
Reading the spec is would appear you can't.
When children are declared in a sequence separated by commas, the children must appear in the same sequence in the document. In a full declaration, the children must also be declared, and the children can also have children.
I think it's because you are declaring a sequence (or ordered list if you like) rather than a collection (or unordered list).