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 :

ajout du contenu d'une balise


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 190
    Points : 49
    Points
    49
    Par défaut ajout du contenu d'une balise
    Bonjour,
    j'ai pas travaille avant avec xslt,
    j'ai une modification a faire lors de la generation d'un xml avec un xslt
    qui consiste a generer en plus le contenu de la balise version
    ci-dessous un exemple de xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <document>
    <code>E7AD0102P0</code>
    <version>0</version>
    <type>G</type>
    <codeNature>D</codeNature>
    <batDate>2011-06-27T11:46:10</batDate>
    <localisations>

    j'ai ajouté ceci, mais ca genere version avec un contenu vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:attribute name="version">
    						<xsl:value-of select="@version"/>
    					</xsl:attribute>
    ci-dessous le xslt a modifier :

    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
    16
    <xsl:template match="document">
    		<document>
    			<!-- Récupérer tous les codes phrase, sans doublons -->
    			<xsl:for-each select="//Phrase[generate-id(.)=generate-id(key('id', @code)[1])]">
    				<thesaurus>
    					<xsl:attribute name="code">
    						<xsl:value-of select="@code"/>
    					</xsl:attribute>
    					<xsl:attribute name="version">
    						<xsl:value-of select="@version"/>
    					</xsl:attribute>
    					<xsl:attribute name="type">
    						<xsl:value-of select="'9'"/>
    					</xsl:attribute>
    				</thesaurus>
    			</xsl:for-each>
    un extrait du xml generé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <thesaurus code="0180836304963XiY" version="" type="9"/>
    merci pour votre aide
    Sallemel

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Edit : j'avais oublié deux-trois détails.

    - dans ton XML de départ, version (et tout le reste) n'est pas un attribut mais un élément. Le @ n'a rien à faire là.

    - Le for-each change le contexte et l'élément <document> n'est plus accessible, ce qui fait qu'on ne peut plus accéder à son élément <version> (ni aux autres.)

    Il faut d'abord le placer dans une variable, pour que le changement de contexte n'empêche pas d'y revenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:variable name="document" select="current()"/>
     
    <xsl:for-each select="truc">
      <!-- ... -->
      <xsl:value-of select="$document/version"/>
    </xsl:for-each>
    - Il est beaucoup plus simple de produire <thesaurus> comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <thesaurus code="{@code}" version="{$document/version}" type="9"/>

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/09/2014, 20h18
  2. [XSL]Ajout Namespace a partir du contenu d'une balise
    Par Altaran dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2010, 15h01
  3. modiffier le contenu d'une balise
    Par duplo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 18h20
  4. [xsl] mauvaise interprétation du contenu d'une balise XML
    Par Cédric B. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/01/2006, 13h59

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