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 :

XSL : Ordonner les attributs


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Points : 30
    Points
    30
    Par défaut XSL : Ordonner les attributs
    Bonjour,

    Je suis en train de faire une canonisation d'un XHTML, c'est à dire que je réécris le XHTML dans un XHTML personnalisé :
    - déboublement des balises vide
    - suppression des espaces en trop dans les balises
    - réordonnement des attributs

    Mon problème concerne ce dernier point (le réordonnement des attributs) ... en fait, j'y arrive pas.

    Merci d'avance pour votre aide...

    Pour vous donner une vue de ce que je souhaite faire (peut-être que je m'y prend mal!!!), voici le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    	<xsl:output method="xml" omit-xml-declaration="no"/>
     
    	<xsl:template match="node()">
    		<xsl:if  test="name()!=''">
    			<BR/>&lt;<xsl:value-of select = "name()"/>
    			<xsl:apply-templates select="@*"/>&gt;<xsl:value-of select="text()"/><xsl:apply-templates select="node()"/>&lt;/<xsl:value-of select="name()"/>&gt;
    		</xsl:if>
    	</xsl:template>
     
    	<xsl:template match="@*">
    		<xsl:value-of select="name()"/>="<xsl:value-of select="."/>"<xsl:apply-templates select="@*"/>
    	</xsl:template>
    </xsl:stylesheet>

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    la spécification XML précise que l'ordre des attributs restitués par un parser est arbitraire, donc tu t'embêtes pour rien...

  3. #3
    Membre éprouvé 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
    Points : 1 247
    Points
    1 247
    Par défaut
    Un peu d'ordre ne nuit pas à la lecture par de pauvres mortels...

    <xsl:apply-templates> accepte les <xsl:sort>

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par alain.couthures Voir le message
    <xsl:apply-templates> accepte les <xsl:sort>
    Certes, mais le xsl:sort n'intervient que sur l'ordre de traitement des attributs par le processeur ; rien ne garantit que cet ordre sera préservé lors de la sérialisation...

  5. #5
    Membre éprouvé 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
    Points : 1 247
    Points
    1 247
    Par défaut
    Si j'ai bien compris, ici, il ne s'agit pas de sérialisation mais de visualisation d'un XHTML à l'intérieur d'un autre XHTML : chaque attribut est rendu sous forme de texte.

    Donc, le tri devrait, ici, marcher sans problème.

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par alain.couthures Voir le message
    Si j'ai bien compris, ici, il ne s'agit pas de sérialisation mais de visualisation d'un XHTML à l'intérieur d'un autre XHTML : chaque attribut est rendu sous forme de texte.
    Au temps pour moi, j'avais lu en diagonale... Le xsl:sort devrait effectivement résoudre le problème.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/04/2012, 16h01
  2. [XSL~FO][FOP] variables possibles dans les attributs de tags ?
    Par lebechen dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/06/2006, 09h17
  3. [XSL][XPATH] recopier les attributs d un élément mais pas le
    Par Triangle dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/08/2005, 16h07
  4. [VBA-E]modifier les attributs d'un commentaire dans une cellule
    Par Olivier vb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2004, 10h26
  5. Retrouver les attributs d'un noeud...
    Par LLaurent dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/12/2003, 09h20

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