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 :

[XPATH] Valeur d'un attribut moins sa position()


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Points : 5
    Points
    5
    Par défaut [XPATH] Valeur d'un attribut moins sa position()
    Hello,

    Etant donné le cas suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <NODE   valeur="3">BLA BLA BLA</NODE>
    Je cherche à obtenir la soubstraction de valeur avec position.

    Mais cette commande n'est âs acceptée :-\
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:variable name="qty" select="@valeur - position()"></xsl:variable>
    Une idée ?

    Merci d'avance,
    Loic

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Hello,
    Pour la position c'est (en partant de 0):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count(preceding-sibling::*)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Merci bcp pour ta réponse.

    Je dois mal m'y prendre :-\

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:variable name="idx"><xsl:value-of select="@ss:Index"/></xsl:variable>
             <xsl:variable name="prec"><xsl:value-of select="count(preceding-sibling::*)"/></xsl:variable>
             <xsl:variable name="qty"><xsl:value-of select="$idx-$prec"/></xsl:variable>
    Oxygen me renvoie qu'$idx n'est pas défini.

    Si je tente directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:variable name="qty" select="@ss:Index-count(preceding-sibling::*)"></xsl:variable>
    j'obtiens cette erreur :
    @ss:Index-count(preceding-sibling::*): @ must be followed by a NameTest or NodeTest
    pour rappel le node en entrée a cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Cell ss:Index="4">BLA</Cell>
    J'essaye d'obtenir la différence entre l'attribut ss:Index et la position (donnée par ton conseil via count(preceding-sibling::*))

    Loic

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Hum mets des espaces autour du '-', tu peux aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="number($idx) - number($prec)"/>
    .
    Ca regle pas le pb de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:variable name="idx"><xsl:value-of select="@ss:Index"/></xsl:variable>
    qui serait vide.
    Le préfixe est bien défini comme dans l'xml source?
    sinon tu pourrais faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @*[local-name()='Index']
    .

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    C'était bien un problème d'espaces ;-)
    Merci mille fois pour ton aide.
    Ca fonctionne nickel maintenant :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtrer sur une valeur d'un attribut XPATH
    Par jbnoel dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/01/2008, 10h00
  2. [XPATH] Selectionner un noeud selon la valeur de son attribut
    Par Gregco dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/10/2007, 15h34
  3. Réponses: 11
    Dernier message: 12/04/2007, 12h28
  4. [XPath][PHP5] Récuperer la valeur d'un attribut
    Par laetyboop dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 26/06/2006, 20h54
  5. [XPath]fonction récupérer plus grand valeur d'un attribut ?
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 18/05/2006, 14h27

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