Validation XML

  • Auteur de la discussion Auteur de la discussion jeroen
  • Date de début Date de début
WRInaute passionné
Salut, je cherche à valider un document XML, mon code est le suivant

Code:
$dom = new DomDocument();
$dom->validateOnParse = true;
$dom->load($string);

if (!$dom->schemaValidate('schema.xsd')) die ('DTD Validation failure.');


mais je ressors toujours avec une l'erreur suivante :
Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: The document has no document element
Le problème est que je n'ai aucune idée de ce que ça veut dire...

Y'a t'il des pros du xml dans la salle ?


Merci
 
WRInaute passionné
Merci pour vos réponses

Oui, le XML est valide, mais ça ne change pas le problème que je ne comprends pas l'erreur...

Et effecivement $dom->load($string) répond FALSE ?!?
Tu vois d'où peut venir le problème ?
 
WRInaute passionné
Ok, je suis un boulet, $dom->load() charge un fichier, et non une chaine. Il fallait donc utiliser $dom->loadXML()

J'ai un autre problème :

Mon fichier à valider (fourni par l'internaute, je ne maitrise pas son contenu) commence par
Code:
<?xml version="1.0"?>
<gpx xmlns="http://www.topografix.com/GPX/1/0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">

et fait donc référence à une ancienne version de schéma xsd (on en est à la 1.1)

j'ai sur mon serveur le fichier file.xsd qui correspond à la nouvelle version du schéma xsd.

lorsque j'appelle
Code:
$dom->schemaValidate('file.xsd'));

j'ai l'erreur suivante :

Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: Element '{http://www.topografix.com/GPX/1/0}gpx': No matching global declaration available for the validation root

Visiblement le validateur va donc chercher le schéma dans l'entête du fichier, alors que je voudrais qu'il utilise le fichier file.xsd....


Vous avez une idée ?
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut