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] Ordonner un fichier xml


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut [XSLT] Ordonner un fichier xml
    Voila j'ai une petite interface en php qui me permet de rajouter des urls à un fichier sitemap, mais je voudrais que les url de mon fichier xml final soient triées par ordre de priorité.

    J'utilise DOM de php 5 pour editer mon fichier xml.
    Pour trier mon fichier je pense que je dois utilisé xsl,xslt.


    Voici le code php pour appliquer le xslt à mon 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
     
    <?php
     
    $moteurXslt = new XSLTProcessor();
    $style = new DOMDocument();
    $style->load('tri.xsl');
    $moteurXslt->importStylesheet($style);
    $source = new DOMDocument();
    $source->load('sitemap.xml');
     
    echo $moteurXslt->transformToUri($source, 'resultat.xml');
     
    ?>

    En faite je pense que c'est le xslt qui me pose probleme.
    Y à t il une autre manière pour effectuer un tri sur un fichier xml ??

    Voila pourriez vous me donner une piste pour la solution la plus adapté.

    Merci.

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    Utiliser l'API DOM pour trier un document XML ne me paraît pas du tout évident à faire alors qu'avec XSLT, il suffit de parcourir les éléments avec un <xsl:sort>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    J'ai vu que xslt avais une fonction pour trier les élement par ordre croissant mais voila mon fichier xml final après tri ne possède plus aucune balise
    Faut il que je redéfinisse un template pour tout le reste ??

  4. #4
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    Il faut se baser sur la transformation dite "identité" qui préserve tous les noeuds et attributs

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Et du coté de xpath avec dom ?? Ya il une possibilité de faire une recherche sur les éléments ?

  6. #6
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    XPath permet de récupérer tous les noeuds vérifiant une expression mais dans le désordre : il faudrait les trier par un moyen intermédiaire quelconque (table,...) puis reconstruire le XML... Le tri par XSLT me paraît plus sain et plus simple...

Discussions similaires

  1. [XSLT] Appliquer un traitement xslt sur un fichier XML distant
    Par mabig dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/03/2006, 09h38
  2. [XSLT] Création de fichier XML dynamique avec PHP
    Par daninho dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 02/02/2006, 11h18
  3. [xslt] Parser 2 fichiers XML
    Par malekms dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/12/2005, 12h22
  4. [XSLT] Diviser un fichiers xml en plusieurs pages html
    Par thibaut06 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/04/2005, 16h56
  5. [XSLT] Fusion de fichier XML ???
    Par webtheque dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/03/2005, 20h13

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