XML, DTD: comment rendre la commande non importante

J'ai commencé à l'aide d'un fichier XML et un analyseur comme un moyen pratique pour stocker mes données

Je veux utiliser la DTD pour vérifier la structure des fichiers xml quand ils arrivent.

Voici mon fichier DTD

< ?xml version="1.0" encoding="UTF-8"?>
< !ELEMENT document (level*)>
< !ELEMENT level (file,filelName?,fileNumber?)>
< !ELEMENT file (#PCDATA)>
< !ELEMENT filelName (#PCDATA)>
< !ELEMENT fileNumber (#PCDATA)>

(notez que le nom de fichier et le fichier number sont en fait purement facultatif)

et

<document>
 <level>
  <file>group1file01</file>
 </level>
 <level>
  <file>group1file02</file>
  <fileName>file 2</fileName>
  <fileNumber>0</fileNumber>
 </level>
...

en tant que tel tout cela fonctionne très bien. (J'utilise eclipse "valider" option de le tester pour l'instant)

cependant, alors que les tests que j'ai obtenu ce que je trouve bizarre d'erreur

si je ne

 <level>
  <levelName>Level 2</levelName>
  <levelNumber>0</levelNumber>
        <file>group1level02</file>
 </level>

de changer l'ordre des lignes, Eclipse refuse de le valider ...

Je me demandais si c'était un problème avec Eclipse ou si la commande est réellement important.

Si l'ordre est important de savoir comment puis-je modifier la DTD pour le faire fonctionner, peu importe l'ordre des il des éléments?

Je ne peux pas vraiment changer le XML, car j'ai déjà tous les fichiers XML et de l'analyseur à l'écrit (je sais je l'ai fait dans le mauvais sens lol).

source d'informationauteur Jason Rogers