Subject: Re: generating mailto
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Fri, 11 Oct 2002 19:11:51 +0100
|
Hi Steve,
> I'm just getting my feet wet in XSL and it's pretty interesting. I
> think I am missing something though, because I find myself needing
> xsl:text more than I think I really ought to. For example, if I have
> XML
>
> <contact>
> <email>xxx@xxxxxxxxx</email>
> </contact>
>
> and I want to generate a mailto URI like this:
> <a href="xxx@xxxxxxxxx>xxx@xxxxxxxxx</a>
Whenever you find yourself using disable-output-escaping, you know
you're on the wrong track! The secret here is to use attribute value
templates as follows:
<xsl:template match="contact">
<a href="{email}"><xsl:value-of select="email" /></a>
</xsl:template>
or use the longer xsl:attribute instruction if you prefer:
<xsl:template match="contact">
<a>
<xsl:attribute name="href">
<xsl:value-of select="email" />
</xsl:attribute>
<xsl:value-of select="email" />
</a>
</xsl:template>
Try to think in terms of building a tree of nodes rather than in terms
of creating an XML string, and XSLT will seem a lot simpler to use.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|