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

Bibliothèques et frameworks PHP Discussion :

[DOM] Petit problème de validatio !


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 32
    Par défaut [DOM] Petit problème de validatio !
    Bonjour à tous!
    Ces temps-ci j'ai beaucoup posté sur votre site pour des ptits problème et je vous remerci de m'avoir aider à les résoudre!
    Cependant j'ai un dernier (...du moins je l'espère) avec une sauvegarde d'un xml par DOM.

    En fait sur une page, je crée le XML par DOM, je l'enregistre dans un répertoire.
    Par exemple
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //inclure la dtd
    $dtd = $imp->createDocumentType('LISTE', '', 'xml/liste.dtd');
    //sauvegarde du document
    $document -> save('xml/liste.xml');
    et tout fonctionne parfaitement!

    J'ai donc créé un autre fichier mais qui doit cette fois parser le xml!
    Mais avant de le parser, je dois faire sa validation au cas ou quelqu'un arriverait à remplacer le fichier.xml
    Le gros problème est que comme j'ai mis le fichier dans un répertoire, lorsque j'ouvre le fichier, je dois mettre le chemin du répertoire.Donc je fais:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $document -> load('xml/liste.xml');
    et lorsque je fais un validate, j'obtien ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    failed to load external entity "file:///E:/wamp/www/Projet2v3/xml/xml/liste.dtd"
    je me retrouve donc avec un chemin qui a deux répertoires xml imbriqués et je n'arrive pas a contrer le problème.
    J'ai pensé a tout mettre dans le meme répertoire , mais ce serait trop simple et pas propre! lol
    Merci d'avance pour vos réponses!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Tous ces fichiers sont situés dans le répertoire E:/wamp/www/Projet2v3/xml ? Si oui, le chemin de la DTD étant relatif au document, il ne faudrait pas l'indiquer ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'xml/liste.dtd');

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'liste.dtd');

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 32
    Par défaut
    Citation Envoyé par julp Voir le message
    Tous ces fichiers sont situés dans le répertoire E:/wamp/www/Projet2v3/xml ? Si oui, le chemin de la DTD étant relatif au document, il ne faudrait pas l'indiquer ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'xml/liste.dtd');

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'liste.dtd');
    Merci pour ta réponse!Oui le fichier xml est bien dans le répertoire xml!
    Sinon je suis complètement d'accord avec toi!
    J'ai déjà essayé ça mais le problème est que lorsque je fais la création du fichier xml, je fais un validate() également et si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'liste.dtd');
    eh ben j'ai le message d'erreur me disant qu'il ne trouve pas la dtd!
    Que puis-je faire!

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Et en passant par son adresse HTTP ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'http://nomMachine/Projet2v3/xml/xml/liste.dtd'); // A adapter

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 32
    Par défaut
    Citation Envoyé par julp Voir le message
    Et en passant par son adresse HTTP ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dtd = $imp->createDocumentType('LISTE', '', 'http://nomMachine/Projet2v3/xml/xml/liste.dtd'); // A adapter
    ça fait un peu bourrin et ce n'est pas ce que je veux! lol
    finalement lors de la création j'ai créé une autre variable qui charge le document créé et je fait la validation dessus!
    C'est la meilleure solution que j'ai trouvé!
    Encore merci pour le coup de pouce!
    bonne journée!
    salut!

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

Discussions similaires

  1. [DOM] Petit, trés petit problème de DOM
    Par Clad3 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2006, 20h56
  2. [DOM][nodes]Petit problème de syntaxe..
    Par GDVL dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/09/2005, 12h24
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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