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 :

selectioner les enfants d un noeud contenu ds un paramètre


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut selectioner les enfants d un noeud contenu ds un paramètre
    salut
    ds un template j ai un parametre contenant un noeud (avec sous noeud)
    je veux réappeler ce template en passant les enfants de ce noeud mais ça ne passe pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:call-template name="Updt">
    <xsl:with-param name="Old">
      <xsl:copy-of select="$Old"/>
    </xsl:with-param>
    </xsl:call-template>
    mais si je fais <xsl:copy-of select="$Old/*"/>

    ça passe pas, le parser me dit
    "Cannot result tree fragmentError in XPath Expression, Cannot use result tree fragment"
    pourtant il n y a aucune erreur ds le XML qui est bien formé

    help me please parce que là je comprend vraiment rien

    --------------------
    autre question:
    comment récupérer le nom d un balise alors que celle ci est contenu ds un e variable?
    name() donne le nom du node courant mais ce n est pas ce je cherche.

  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,

    en faisant un <xsl:copy-of> dans une variable (ou un paramètre), tu créés ce qu'on appelle un Result Tree Fragment, une structure arborescente sur laquelle tu ne peux appliquer aucun template et faire aucune requête XPath. Tu peux aussi créer une variable de type RTF simplement en placant des balises à l'intérieur de sa déclaration, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:with-param name="Old">
      <toto>
        <titi tata="1"/>
      </toto>
    </xsl:with-param>
    Pour pouvoir écrire une expression telle que $Old/*, il faut que la variable $Old contienne non pas un RTF mais une liste de noeuds, cette liste de noeuds étant constituée des noeuds sélectionnés par l'expression XPath présente dans l'attribut select de la variable (ou du paramètre).

    Dans ton cas précis, il faut donc écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:call-template name="Updt"> 
      <xsl:with-param name="Old" select="$Old"/> 
    </xsl:call-template>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    je vais etudier cela
    RTF je suppose qu il s agit d un noeud un peu comme un root..bref un seul noeud
    si g bien compris...
    merci bcp

Discussions similaires

  1. recuperer les enfants d' un noeud (fils d' un autre parent)
    Par legide dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/04/2009, 12h20
  2. [JDOM] Parsage : comment boucler sur les enfants d'un noeud ?
    Par Nelieru dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 12/02/2009, 16h28
  3. Recuperer les enfants d'un noeud parent dans un treeview
    Par skunkies dans le forum Windows Forms
    Réponses: 8
    Dernier message: 20/01/2009, 14h31
  4. [XPath] test d'existence de noeud avec conditions sur les enfants
    Par MasterOfChakhaL dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 11/04/2007, 10h42
  5. Réponses: 3
    Dernier message: 05/05/2004, 00h39

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