Bonjour,
j'essaye de définir un document DTD pour un fichier XML qui contient des balises "récursives". C'est à dire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<section name="fantassin">
   <parameter typename="pseudo" name="pseudo fantassin" />
   <section name="uneautre">
      <parameter typename="int" name="EEPROMSize" />
   </section>
   <parameter typename="StDonneeFantassin" name="lesdonnees" />
</section>
L'idéal serait d'arriver à dire en DTD que :
une balise "section" doit contenir une ou plusieurs balises "parameter" et peut contenir plusieurs balises "section"
Il n'y a pas de limite sur la profondeur d'imbrication des "section".


J'ai essayé de traduire ça en DTD :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<!ELEMENT parameter (#PCDATA)>
<!ELEMENT section (section* | parameter+)>
<!ATTLIST section
	name CDATA #REQUIRED>
<!ATTLIST parameter
	typename IDREF #REQUIRED
	name CDATA #REQUIRED>
mais XmlNotepad me jette à la validation sur la définition de la deuxième section imbriquée. L'erreur est "parameter attendu".

Comment fait-on ça en DTD ?

Merci !