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 :

fonction document() et variable


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut fonction document() et variable
    Bonjour,

    le code suivant ne fonctionne pas :

    <xsl:variable name = "input" >
    <xsl:value-of select = "document('mdh2IsamiInputSample.xml')" />
    </xsl:variable>



    <xsl:template match="@value">
    <xsl:variable name = "current" >
    <xsl:value-of select = "." />
    </xsl:variable>

    <xsl:choose >

    <xsl:when test = "starts-with($current,'mdhpath:')" >
    <xsl:variable name = "mdhxpath" >
    <xsl:value-of select = "substring-after($current,'mdhpath:')" />
    </xsl:variable>
    <xsl:attribute name="value"><xsl:value-of select = "$input/$mdhxpath"/></xsl:attribute>

    </xsl:when>

    <xsl:otherwise >
    <xsl:attribute name="value"><xsl:value-of select = "$current" /></xsl:attribute>
    </xsl:otherwise>

    </xsl:choose>

    </xsl:template>

    mdhxpath est la représentation format string d'une partie d'un xpath.

    Quelqu'un peut-il m'aider ?

    Thanks

  2. #2
    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
    C'est la partie $mdhxpath qui n'est pas possible et non pas la partie $input.

    Comme solution à votre problème, je ne vois que la génération d'une seconde feuille XSLT par une première transformation puis l'application de la seconde...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci bcp pour la réactivité.

    pouvez vous m'aiguiller un peu plus svp ;-)

  4. #4
    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
    Il n'est pas autorisé d'avoir une expression XPath en variable (pas de fonction "eval" en XSLT). Comme généralement il ne s'agit pas d'un besoin riche, on contourne par des expresssions telles que *[name()=$var]

    Sinon pour faire des enchainements de transformation, il n'existe pas encore de structure stable. XProc devrait le permettre mais les implémentations actuelles ne sont probablement disponibles qu'avec J2EE. J'ai, quant à moi, développé mon propre moteur pour cela en PHP et .Net...

  5. #5
    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,

    il est aussi possible d'enchaîner des transformations, en d'autres termes de créer un workflow XML, avec ANT, et ce sans programmation.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2014, 14h16
  2. [XSLT] pb fonction Document() avec variables
    Par Quentor dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 14/08/2007, 13h59
  3. Réponses: 1
    Dernier message: 20/07/2005, 09h13
  4. [XSL]Récupérer erreur de la fonction document() ?
    Par Chips dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/05/2005, 18h03
  5. [XSL-FO] fonction document()
    Par bob33 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/05/2005, 10h07

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