Bonjour,
J'ai un petit souci sur un programme de validation XML via DTD/XSD.
En effet, lorsque je valide un fichier XML avec et que des erreurs sont détectées, le programme ajoute des sections CDATA à l'intérieur des tags où il y a eu la ou les erreurs.
Exemple:
S'il y a une erreur à l'intérieur d'un tag nommé "description", le programme va donc écrire ceci en sortie:
Une fois le fichier XML écrit en sortie, le programme se relance en quelque sorte lui-même pour valider à nouveau ce qu'il a écrit lui-même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <description attr1="exemple"> <![CDATA[ <element id="1"> <id>exempleId</id> </element> <element id="2"> ... </element> ]]> </description>
C'est là que ça coince, la validation se faisant via XSD, le XSD n'est pas suffisamment permissif pour accepter le fait qu'il y ai une section CDATA à l'intérieur des tags <description>
Lors de la seconde validation j'obtiens donc une autre erreur de validation:
La définition de l'élément (complexType) 'description' est similaire à la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Element 'description' cannot have character [children], because the type's content type is element-only
Ma question est donc: que faut-il ajouter au niveau du XSD afin qu'il autorise la présence de section CDATA dans certains éléments ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsd:complexType name="descriptionType"> <xsd:sequence> ... </xsd:sequence> <xsd:attribute name="id" ... /> <xsd:attribute ... /> </xsd:complexType>
En vous remerciant pour avance pour toute aide apportée.
Cdlt.
Partager