IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[XSD] php 5 - XML [Débutant(e)]


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Par défaut [XSD] php 5 - XML
    Bonjour

    Me lançant dans l'apprentissage de XML, je fais des tests avec un tutoriel d'un bouquin que j'ai chez moi...

    Malheureusement, je tourne en rond depuis un bon moment, avec des Warning plein l'écran

    Voici le fichier .php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php 
     
    $dom = new domDocument();
    $dom->load("news.xml");
     
    if(!$dom->schemaValidate("news.xsd"))
    	print("Le fichier Newsxml n'est pas valide !");
    else
     	{
     	$xsl = new domDocument();
    	$xsl->load("news.xsl");
     
     
    	$proc = new xsltProcessor();
    	$proc->importStylesheet($xsl);
     
    	// paramètre du nom de page
    	$proc->setParameter("", "titre", "Titre de la page");
    	$string = $proc->transformToXml( $dom );
     
    	print($string);
    	}
     
    ?>
    ainsi que le fichier .xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <news>
    	<info date="Le 25/01/2004 à 14:36:23">
    		<auteur>Nom de l'auteur</auteur>
    		<titre>Titre de l'info</titre>
    		<texte>Texte de l'info</texte>
    	</info>
     
    	<info date="Le 20/01/2004 à 14h35:10">
    		<auteur>Nom de l'auteur</auteur>
    		<titre>Titre de l'info 2 </titre>
    		<texte>Texte de l'info 2</texte>
    	</info>
    </news>
    et enfin, le fichier .xsd

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
     
    <xs:element name="news">
    	<xs:complexType>
    		<xs:sequence>
    			<xs:element maxOccurs="unbounded" ref="info"/>
    		</xs:sequence>
    	</xs:complexType>
    </xs:element>
     
    <xs:element name="info">
    	<xs:complexType>
    		<xs:sequence>
    			<xs:element ref="auteur" minOccurs="1" maxOccurs="1" />
    			<xs:element ref="titre" minOccurs="1" maxOccurs="1" />
    			<xs:element ref="texte" minOccurs="1" maxOccurs="1" />
    		</xs:sequence>
     
    		<xs:attribute ref="date" use="required" />
    	</xs:complexType>
    </xs:element>
     
    <xs:element name="titre" type="xs:string" />
    <xs:element name="auteur" type="xs:string" />
    <xs:element name="texte" type="xs:string" />
    <xs:element name="date" type="xs:string" />
     
    </xs:schema>
    Et à l'écran, et bien j'obtiens çA :

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: /home/bikenjoy/public_html/giantvalais/news/news.xsd:12: parser error : Opening and ending tag mismatch: schema line 2 and element in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: </xs:element> in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: ^ in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: /home/bikenjoy/public_html/giantvalais/news/news.xsd:14: parser error : Extra content at the end of the document in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: <xs:element name="info" /> in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: ^ in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: Failed to parse the XML resource '/home/bikenjoy/public_html/giantvalais/news/news.xsd'. in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11

    Warning: DOMDocument::schemaValidate() [function.DOMDocument-schemaValidate]: Invalid Schema in /home/bikenjoy/public_html/giantvalais/news/news.php on line 11
    Le fichier Newsxml n'est pas valide !

    Si quelqu'un aurait le coeur de m'aider, ce serait chouette
    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    tu t'es assuré qu'il n'y avait pas d'espaces inutiles au début de chacun de tes fichiers ?
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Par défaut
    Hello !

    Quel genre d'espace inutile ? Les espace sont "comptés" avec le .xml / .xsd ? En tout cas, il n'y a aucun espace vide avec les premières ligne...

  4. #4
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Les espaces avant le prologue XML (<?xml ...?>) sont généralement mal acceptés par les parseurs XML respectant les spécifications.

    Mais il y a autre choser ; remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:element name="date" type="xs:string" />
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:attribute name="date" type="xs:string" />
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Par défaut
    J'ai ôté tous les espaces dans mes fichiers.
    Et en effet, j'ai commis une erreur pour cette ligne. Mais j'ai corrigé et l'erreur n'a pas changé

    Est-ce possible qu'il y ait un problème de paramètrage à quelque part ?

    Merci pour ton aide en tout cas

  6. #6
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Le support des W3C XML Schemas est encore en alpha dans PHP. Je me demande si les références d'élément sont supportées ; réécris ton schéma en supprimant les références, à tout hasard...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/02/2010, 11h08
  2. [XSD] Problème validation/compréhension xml/xsd PHP
    Par speedev dans le forum Valider
    Réponses: 3
    Dernier message: 03/12/2008, 14h02
  3. [Wamp] Cherche plateforme pour développer en php, mysql, xml, xsl
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 18/10/2005, 17h31
  4. [XSD][xerces] validation xml avec un xsd
    Par chand_bing dans le forum Valider
    Réponses: 2
    Dernier message: 05/02/2004, 20h21
  5. PHP dans XML ou XSL
    Par mathieu dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 31/08/2003, 21h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo