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

XSL/XSLT/XPATH XML Discussion :

[XSLT] Comparaison de fichier


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 135
    Par défaut [XSLT] Comparaison de fichier
    Bonjour,

    Je savoir comment on fait pour comparer la structure de deux fichiers xml.

    Par exemple: si mon fichier A comporte 5 balise et mon fichier B comporte les meme balise mais pas organise de la meme maniere ou dans le meme ordre est il possible de faire un xsl qui serait capable de dire que mes fichiers sont identique malgre l'ordre d'affichage des éléments.



    Merci

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Oui, mais il faudra tes infos pertinentes: text(), comment(), processing-instruction etc......

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    oui c est possible
    assez simplement même...
    mais il faudra être plus précis que cela sur tes "spécifications"

  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
    Citation Envoyé par luta
    assez simplement même...
    Simplement, peut-être pas...

    La comparaison entre deux noeuds étant récursive, ça se complique très rapidement, et c'est pire s'il faut détecter les déplacements de noeuds, au point qu'un algorithme générique n'est pas faisable avec XSLT.

    Pour ton problème précis, s'il est suffisamment trivial ça reste envisageable mais il faudrait que tu donnes plus de précisions.
    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
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par GrandFather
    et c'est pire s'il faut détecter les déplacements de noeuds, au point qu'un algorithme générique n'est pas faisable avec XSLT.
    Pas tout a fait d'accord avec toi (mais faudra que tu te decide à le tester )

    Le problème est plutot de mon point de vue de voir ce qui est ou non une modification:
    Si seul l'ordre des attributs,noeuds elements peut changer ca va
    Ca se complique si on n'a des noeuds commentaires ou si on peut avoir la même valeur textuelle dans un noeud mais pas le même nombre de noeud text
    .Et considère-t-on qu'il est different s'il a les même noeud texte mais pas dans le même ordre .....
    Le problème se situe plutot au niveau de la generalité de la notion de différence.
    Citation Envoyé par luta
    assez simplement même...
    On voit que tu n'en as pas fait de generique, même ordonnée strictement (bcp plus facile), pour dire ça

  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
    Citation Envoyé par Erwy
    Le problème se situe plutot au niveau de la generalité de la notion de différence.
    Si on raisonne en termes de comparaison de deux arbres, donc avec une comparaison de tous les noeuds indifféremment de leur type, franchement c'est assez coton... J'ai vu des algorithmes implémentés en Python et en Java, utilisant généralement DOM pour la représentation des arbres, et je vois mal une implémentation en XSLT.
    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

  7. #7
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par GrandFather
    Si on raisonne en termes de comparaison de deux arbres, donc avec une comparaison de tous les noeuds indifféremment de leur type, franchement c'est assez coton... J'ai vu des algorithmes implémentés en Python et en Java, utilisant généralement DOM pour la représentation des arbres, et je vois mal une implémentation en XSLT.
    Teste l'algo, je ne sais plus trop ou je me suis arrêté ., par contre le pb c'est surtout


    est ce que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <a>
    a<!--test-->b
    </a>
     
    <a>
    b<!--test-->a
    </a>
     
    <a>
    ab
    </a>
    sont equivalent
    dans le 1 et le 2 seul l'ordonacement des noeud texte change
    et le 1 et le 3 on meme valeur textuelle mais pas meme nombre de noeud (si on ne prend pas le comment() en compte ).
    Pour moi , prendre TOUS les noeuds , n'est pas forcemment le plus complexe (regarde ici si tu supprime le comment())

Discussions similaires

  1. [Debutant(e)]comparaison de fichier : imprimer
    Par demostene dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 06/07/2004, 10h43
  2. XSLT: nom de fichiers relatifs
    Par Ymer dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 21/06/2004, 12h47
  3. Comparaison de fichiers Word
    Par Zelphalya dans le forum Langage
    Réponses: 5
    Dernier message: 20/10/2003, 15h15
  4. [langage] Comparaison de fichiers
    Par Jibees dans le forum Langage
    Réponses: 3
    Dernier message: 23/04/2003, 16h27
  5. Comparaison de fichier
    Par danzerg dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 11h49

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