[XSD] Problème validation/compréhension xml/xsd PHP
Bonjour,
Je ne parviens pas à comprendre un message d'erreur retourné par la validation d'un xml par un xsd.
Pour info c'est la première fois que je fais de la validation XML (et ça doit fonctionner depuis il y a un mois pour le client ...j'ai trouvé de la documentation mais côté PHP c'est pas très riche...j'ai peu de temps pour me documenter).
Voici une maquette épurée du XSD de mon client :
Code:
1 2 3 4 5 6 7 8 9 10
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="test">
<xs:complexType>
<xs:sequence>
<xs:element ref="nom"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema> |
Une maquette du XML associé :
Code:
1 2 3 4 5
|
<?xml version='1.0' encoding='UTF-8'?>
<test>
<nom>COUCOU_COUCOU</nom>
</test> |
Le code que j'ai écris pour valider le XML :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<?php
header("Content-type: text/xml");
$xml = new DOMDocument();
$xml->load($chemin_vers_mon_xml);
if ($xml->schemaValidate("http://www.chemin.com/vers_mon_xsd.xsd")) {
echo "OK";
} else {
echo "Erreur !";
}
?> |
L'erreur retournée que je ne comprends pas :
Code:
1 2 3 4 5
|
<b>Warning</b>: DOMDocument::schemaValidate() [<a href='function.DOMDocument-schemaValidate'>function.DOMDocument-schemaValidate</a>]: Element 'nom': [facet 'enumeration'] The value 'COUCOU_COUCOU' is not an element of the set {'coucou_coucou'}. in <b>/home/www/chemin_vers_mon_script.php</b> on line <b>xx</b><br />
//la ligne d'erreur est la suivante :
if ($xml->schemaValidate("http://www.chemin_xsd.com")) { |
Si je traduis intuitivement je comprends ça :
La valeur de la balise "nom" n'est pas un élément connu de la liste {'coucou_coucou'}. (??)
Serait-ce un problème de casse...
Merci pour votre coup de main !