2009-10-28 7 views
1

J'ai déclaré une variable dans xslt, je lui ai assigné une certaine valeur mais en récupérant la valeur je suis confronté à un problème.<a> La balise <xsl: variable> ne fonctionne pas

    <xslt:variable name="Msg"> 
       Hello for more info <a href="http://someurl/">click me.</a> 
       </xslt:variable> 

lors de la récupération de la valeur du contenu est à venir sous forme de texte signifie Cliquez-moi ne vient pas comme link.should je change mon approche pour ce lien ou quelque chose ne va de ma fin. Merci.

Répondre

2

à partir du son, vous utilisez actuellement <xsl:value-of select="$Msg"/> pour obtenir le contenu de la variable. Au lieu de cela, essayez d'utiliser <xsl:copy-of select="$Msg"/>.

+0

oui, cela a fonctionné pour moi .. merci pour votre aide. Wondering

+1

Pour référence future, voici un aperçu des différentes façons de sélectionner des valeurs dans XSLT: 'value-of' convertit une valeur donnée en chaîne,' copy-of' fait une copie exacte d'un noeud, et 'apply-templates' s'applique les modèles correspondants à la valeur. Toutefois, en raison d'une partie de la spécification XSLT 1.0 qui a été supprimée dans la version 2.0, à moins que le contenu de la variable ne soit obtenu par l'attribut 'select' de la variable, vous ne pouvez pas utiliser' apply-templates'. Dans ces cas (y compris celui-ci), «copy-of» est votre meilleur pari. – Jakob

1

EDIT:

Utilisez-vous <xsl:copy-of select="$Msg"/> lors de la sortie de la valeur? Sinon, les balises ne seront pas restitués correctement, vérifiez également la méthode de sortie est réglée sur HTML:

<xslt:output method="html" version="1.0" encoding="ISO-8859-1" indent="yes"/> 
+0

non ça ne fonctionnera pas, il va imprimer Wondering

+0

EDIT: Voir les commentaires ci-dessus –

+0

nope.still ne fonctionne pas .. Je pense que je dois montrer le lien d'une autre manière .... – Wondering

Questions connexes