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 :

Afficher les attributs sur plusieurs lignes


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Par défaut Afficher les attributs sur plusieurs lignes
    Bonjour,

    Je cherche à afficher les attributs de certaines balises sur plusieurs lignes (un attribut par ligne) dans le xml de sortie, ce pour plus de clarté.
    Il faudrait donc que le xml suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <balise att1="un" att2="deux" att3="trois">
    </balise>
    s'affiche ainsi suite à la transformation xsl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <balise att1="un" 
            att2="deux" 
            att3="trois">
    </balise>
    Il me semble que c'est un format d'affichage couramment utilisé mais je n'ai trouvé aucun post à ce sujet sur divers forum.
    Quelqu'un aurait-il une idée ?

    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
    Quel est l'environnement pour pouvoir faire cela ? Java ? Navigateur ? Linux ? Windows ? ... ?

    On appelle cela la sérialisation du XML et XSLT expose quelques options, dont l'indentation. Je n'ai encore jamais vu de sérialiseur qui fasse plus que trier les attributs dans l'ordre alphabétique.

    Il se trouve que je dispose de mon propre parseur/sérialiseur écrit en Javascript pour les navigateurs et Node.js. Je retiens l'idée d'un saut de ligne entre les attributs, c'est effectivement plus lisible. Je pense, notamment, aux attributs contenant des expressions XPath sur plusieurs lignes !

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Par défaut
    Simplement un fichier xml initial que je transforme en un autre fichier xml à l'aide de xslt. Je fais diverses tranformations et j'aimerais ajouter celle là (affichage des attributs de certaines balises sur plusieurs lignes).
    J'ai du mal à croire qu'il n'existe aucun moyen de le faire à l'aide de xslt. C'est quand même un besoin courant non ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    Déjà non, ce n'est pas un besoin courant, les gens veulent des résultats et l'ordre des attributs ne change rien.

    Ensuite, il est assez évident que par conception, XSLT s'intéresse assez peu à l'apparence du XML produit, et presque uniquement au modèle de données. Il propose une gestion de l'indentation et puis voilà. Il propose aussi un peu de contrôle sur les whitespaces et les CDATA, mais ce genre de choses sont parfois de vraies données et pas pour faire joli, donc il a pas le choix de toute façon.

    Or la manière d'écrire les attributs ne fait pas partie du modèle de données. Normal donc que, comme presque tout ce qui ne fait pas partie du modèle de données, XSLT ne prévoit rien de ce genre.
    Note supplémentaire, Saxon, le meilleur moteur XSLT du marché, propose de nombreuses extensions pour l'apparence des fichiers XML produits... Mais rien de ce genre-là. Si c'était vraiment demandé, il est difficile d'imaginer qu'il ne le proposerait pas.

    Dans le même genre, la plupart des bibliothèques de gestion de XML ne proposent aucune option pour sérialiser les fichiers comme ça. On ne trouve ce genre de choses que dans le menu "formater" des éditeurs texte/XML. Et encore, ce n'est que l'un des nombreux effets d'indentation qui doivent être tous pris ensembles, et pas proposés séparément, que ce soit ce qu'on veut ou pas.

    Remarque annexe, après tout ce n'est jamais que du XML. Quand les outils qui existent déjà ne font pas tout ce qu'on veut, il n'est pas très compliqué d'écrire soi-même ses propres outils pour le faire. La dernière fois que j'ai voulu un programme qui me produise des XML qui ressemblent à ça, je l'ai programmé moi-même, et puis voilà. Ca m'a pas pris la journée.

    Citation Envoyé par steens Voir le message
    Simplement un fichier xml initial que je transforme en un autre fichier xml à l'aide de xslt.
    "xslt" c'est pas un programme. ... Mais peu importe comment tu t'y prends, je n'ai jamais entendu parler d'un moteur XSLT capable de gérer les attributs comme ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Quand les outils qui existent déjà ne font pas tout ce qu'on veut, il n'est pas très compliqué d'écrire soi-même ses propres outils pour le faire.
    Oui, oui, bien sur. Mais bon avant de me lancer dans une journée de code, je regarde si ce que je veux n'existe pas déjà sur l'étagère.

    Merci quand même pour les infos.

Discussions similaires

  1. [JScrollPane] Afficher du texte sur plusieurs lignes
    Par MeDReD dans le forum Composants
    Réponses: 3
    Dernier message: 31/07/2008, 16h01
  2. Réponses: 1
    Dernier message: 07/03/2008, 12h42
  3. [CR XI] section detail - afficher les données sur plusieurs colonnes
    Par Flamby38 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/09/2007, 14h44
  4. Réponses: 2
    Dernier message: 02/05/2007, 17h08
  5. [MySQL] Checkboxes : récupérer les informations sur plusieurs lignes
    Par eric41 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 12/06/2006, 12h41

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