2009-09-21 13 views
4

Je veux créer ceci:Construct a href = en utilisant XSLT

<a href="domain.com?=USERNAME">Login</a> 

où USERNAME = en XML de sorte que la sortie HTML est spécifique à l'utilisateur actuellement connecté Quelqu'un peut-il conseiller.?

Je sais que je peux utiliser:

<xsl:variable name="class" select="a:Subject"/> 
<p class="{$class}">English</p> 

Pour extraire une valeur et l'utiliser comme une classe CSS mais qu'en utilisant un lien?

+0

Sans connaître la structure du fichier XML, il serait difficile de répondre. –

Répondre

3

Quel est le problème avec l'utilisation de xsl: attribute?

<a><xsl:attribute name='href' select='Username' />Login</a> 
+0

Être nitpicky: l'encodage d'URL manquant est faux. Une fonction d'encodage URL correcte est manquante dans XSLT 1.0, en tenant compte du fait que la création de sortie HTML était l'un des objectifs de conception. – Tomalak

+0

Quel est le problème avec l'utilisation de 'xsl: attribute'? ['select' n'est pas un attribut valide de' xsl: attribute'] (http://i.imgur.com/84OsuKu.png). –

+0

Et il vous a fallu quatre ans pour découvrir cette erreur? ;-) –

2

Le même

<a href="domain.com?={$user}">OMG!</a> 
3

pense que je pourrais avoir répondu à moi-même:

<xsl:variable name="username" select="Username"/> 
<a href="{$username}">Login</a> 
0

Juste pour remarquer que si vous avez besoin d'un esperluette dans le cadre de l'URL pour envoyer des valeurs multiples, vous pouvez utiliser "&"

<a href="ESMData.aspx?dni={DNI}&amp;consulta=1">Ficha Técnica</a> 
0

xsl: attribute fonctionne:

<a><xsl:attribute name='href'><xsl:value-of select='Username'/></xsl:attribute>Login</a> 
Questions connexes