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 :

[XSLT] Mettre un lien http dans un xsl. [Débutant(e)]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut [XSLT] Mettre un lien http dans un xsl.
    Bonjour, voilà je suis un débutant en tout ce qui est XML et XSL, mais j'ai une question :

    J'utilise une application (web based java) qui envoi des mails. Ces mails utilisent des templates que je peux personnaliser.
    Pour celà je n'ai qu'a modifier les .xsl.
    Et justement j'essaye de mettre dans ces mails, donc dans ces xsl, un lien vers un site web avec dans l'adresse une variable fournie par le xml.
    en gros de base le mail affiche le nom d'un client, les produits qu'il a commandé, et un numéro de commande.
    j'aimerais ajouter dans ce mail un lien vers un site web (pour retirer des licences) avec dans l'url le numéro de la commande!

    je ne peux pas avoir accès au XML qui "remplit le mail", sinon j'aurais ajouté un champ "url" dedans.

    j'aimerais donc l'inclure directement dans le xsl.

    j'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="{lien/@url}">
          <xsl:value-of select="lien/texte" />
    </a>
    ou ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:element name="a">
       <xsl:attribute name="href">
            <xsl:value-of select="lien/@url" />
            </xsl:attribute>
       <xsl:value-of select="lien/texte" />
    </xsl:element>

    voilà, est-ce possible ou pas?
    Merci d'avance!

    je le rappelle je suis un énorme néophite, donc tout ce post va peut-être vous sembler être une énorme aberration alors soyez indulgents!

  2. #2
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut
    oupela dslé pour les balises, c'est un bel oubli de ma part, et aussi pour le tag d'ailleurs!

  3. #3
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Citation Envoyé par angearael

    je ne peux pas avoir accès au XML qui "remplit le mail", sinon j'aurais ajouté un champ "url" dedans.

    j'aimerais donc l'inclure directement dans le xsl.
    pas clair

    le code xslt que tu fournis est correct mais est ce que tu veux ecrire les données dans ton xslt ?

  4. #4
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut
    voici le fichier xsl :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml"/>
    	<xsl:template match="Entitlement">
    		<message xml:space="preserve">
    		<subject>Entitlement certificate for  Entitlement ID:<xsl:value-of select="@EntitlementID"/> attached</subject>
                    <body>
     
          	<xsl:text>
         	LECTRA grants</xsl:text> <xsl:value-of select="SoldTo"/><xsl:text> the right to activate the following product(s):
    	</xsl:text>
     
    		<xsl:apply-templates select="EntitlementLineItems" />
     
    	<xsl:text>
    	The Activation IDs will be required to login. You will also need the Hostid of the computer with which these licenses will be associated. 
    	If you have any questions, contact your local LECTRA office.                 
     
     
     
    	TEST
     
    	http:\\www.google.com
     
        TEST	
     
     
     
    	Rights and restrictions on the use of the products are set forth in LECTRA License Terms agreement.
         	</xsl:text>   
    	</body>
    	 </message>
    	</xsl:template>
     
    	<xsl:template match="EntitlementLineItems">
    		<xsl:for-each select="EntitlementLineItem">
    	 	ActivationID:	<xsl:value-of select="@ActivationID"/>
    	  	Product Name:	<xsl:value-of select="Product/Name"/>
    	  	Product Desciption: <xsl:value-of select="Product/Description"/>
    	 	Order ID: <xsl:value-of select="OrderID"/>
    	 	Quantity: <xsl:value-of select="SeatCount"/>
    	  	</xsl:for-each>
    	</xsl:template>
    </xsl:stylesheet>
    et j'aimerais ajouter dedans ce lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://host:port/flexnet/operationsportal/autologon.do?activationId=@ActivationID
    voilà.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Par défaut
    Finalement j'arrive à créer un lien même si je pense que la solution n'est pas vraiment idéale!

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml"/>
    	<xsl:template match="Entitlement">
    		<message xml:space="preserve">
    		<subject>Entitlement certificate for  Entitlement ID:<xsl:value-of select="@EntitlementID"/> attached</subject>
                    <body>
     
          	<xsl:text>
         	LECTRA grants</xsl:text> <xsl:value-of select="SoldTo"/><xsl:text> the right to activate the following product(s):
    	</xsl:text>
     
    		<xsl:apply-templates select="EntitlementLineItems" />
     
    	<xsl:text>
    	The Activation IDs will be required to login. You will also need the Hostid of the computer with which these licenses will be associated. 
    	If you have any questions, contact your local LECTRA office.                 
     
     
    	Rights and restrictions on the use of the products are set forth in LECTRA License Terms agreement.
         	</xsl:text>   
    	</body>
    	 </message>
    	</xsl:template>
     
    	<xsl:template match="EntitlementLineItems">
    		<xsl:for-each select="EntitlementLineItem">
    	 	ActivationID:	<xsl:value-of select="@ActivationID"/>
    	  	Product Name:	<xsl:value-of select="Product/Name"/>
    	  	Product Desciption: <xsl:value-of select="Product/Description"/>
    	 	Order ID: <xsl:value-of select="OrderID"/>
    	 	Quantity: <xsl:value-of select="SeatCount"/>
     
    	 	----------------------------------------------------
     
    	 	Pour activer votre licence vous n'avez qu'a cliquer sur le lien suivant :
     
    	 	http://wspareces25.eu.lectra.com:8888/flexnet/operationsportal/autologon.do?activationId=<xsl:value-of select="@ActivationID"/>
     
    	 	----------------------------------------------------
    	  	</xsl:for-each>
    	</xsl:template>
    </xsl:stylesheet>

    moi qui cherchait midi à 14h!!!!
    mais bon celà marche quand on ouvre le mail avec outlook qui met automatiquement les liens... mais est-ce que ça marchera avec tout...
    j'aurais aimé quelque chose de plus propre donc si vous avez, mais sinon au pire je me suffirait de ça!

Discussions similaires

  1. Mettre un lien cliquable dans une zone de texte
    Par mlny84 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2009, 22h23
  2. Visu d'un lien https dans un frame
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/10/2008, 14h17
  3. [XSLT]javascript ne marche pas dans le XSL
    Par KorT3XX dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/06/2007, 13h10
  4. Comment mettre un lien html dans une table MySql
    Par god_enel dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/01/2007, 14h20
  5. [XSLT] Creer des hyperlink parametres dans un xsl
    Par ld438 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/07/2006, 14h04

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