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] Comment utilise-t-on un schéma?


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [XSD][PHP] Comment utilise-t-on un schéma?
    J'ai un xml, généré avec php et je ne sais pas comment le valider avec un .xsd.

    Qui peut m'expliquer svp?

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Est-ce que ton fichier XML est relié à ton XSD avec les attributs xmlns et xsi:schemaLocation ?

    si Oui, je te renvoies à ce post un peu plus haut : [FAQ] [Contributions] Comment valider un XML avec un XSD ?

    Sinon, il faut que ton XML soit relié à ton XSD ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <root xmlns="http://www.exemple.com/namespace_de_ton_xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exemple.com/namespace_de_ton_xsd http://www.exemple.com/ton_xsd.xsd">
    PS : tu as du sauter le paragraphe sur la recherche dans ta lecture !
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci Swoög.

    Mon xml est éffectivement "relié".

    Mais je suis un peu chiant désolé:
    j'ai regardé le sujet auquel tu fais référence mais je n'ai rien trouvé concernant le php et surtout je ne comprends pas la façon dont on utilise le schéma.

    Et faut il que mon xml ait les mêmes tags que le xsd?
    Dernière modification par Invité ; 22/09/2006 à 16h27. Motif: manque un mot

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Qu'entends-tu par tag ?

    Un XSD est comme un DTD, un document permettant de décrire un format XML, pour ensuite vérifier la validitée du document XML par rapport au XSD, il te faut un validateur, je ne sais pas s'il y en a en PHP (ou plutôt je n'en connais pas, mais je suppose qu'il doit y en avoir), cependant il y en a de nombreux dans d'autres langages voir en standalone (programme à part entière) [cf page d'accueil du W3C sur les XML-Schemas]

    Par contre, je ne vois pas l'intêret de valider un document XML que tu as toi-même généré (automatiquement), normalement, tu t'assures dans le script de création du XML qu'il sera de toutes façons valides, ensuite le XSD permet de renseigner ceux qui voudraient par la suite utiliser tes XML (ou aux applications tiers) de connaître le format des XML qu'ils sont censés attendre, et de vérifier celui-ci...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je parlais de balises.

    Donc si je comprends bien le schéma .xsd sert ni plus ni moins qu'à décrire un doc xml?

    Merci pour les infos en tout cas.

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Pas un doc en lui-même, un format de doc, autrement dit, quelles balises seront/pouront être dedans, quels attributs elles auront (ou pourront avoir), quel format auront les attributs ou les contenus des balises, quelles balises contiendront quelles balises, dans quel ordre (éventuellement), etc...

    Cela permet de standardiser le format des données, et donc de rendre plus simple le travail de plusieurs personnes sur les même documents (exemple : flux RSS, XHTML, enveloppes SOAP, etc.)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    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
    Citation Envoyé par Swoög
    Un XSD est comme un DTD, un document permettant de décrire un format XML, pour ensuite vérifier la validitée du document XML par rapport au XSD, il te faut un validateur, je ne sais pas s'il y en a en PHP (ou plutôt je n'en connais pas, mais je suppose qu'il doit y en avoir), cependant il y en a de nombreux dans d'autres langages voir en standalone (programme à part entière) [cf page d'accueil du W3C sur les XML-Schemas]
    Il n'existe pas de validateur de schémas pour PHP. Le support de XML par PHP repose sur la librairie Gnome libxml2, qui ne n'implémente pour l'instant qu'une fraction de la spécification des W3C XML Schemas.
    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

  8. #8
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    OK, Merci de la précision, je pensais pourtant que c'était quelque chose qui devait exister... :\ dsl
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

Discussions similaires

  1. [PHP] comment utiliser soap & wsdl ?
    Par alaindu18 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 08/09/2008, 16h19
  2. [ODBC] Comment utiliser Access en PHP ?
    Par Herman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/04/2007, 12h39
  3. Réponses: 1
    Dernier message: 26/01/2007, 16h13
  4. utilisation du php, comment coder ?
    Par arnolem dans le forum Langage
    Réponses: 8
    Dernier message: 05/04/2006, 13h25
  5. php:comment utiliser les sessions en php
    Par feten dans le forum Langage
    Réponses: 3
    Dernier message: 19/11/2005, 16h17

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