Re: [xsl] generating mailto

Subject: Re: [xsl] 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


Current Thread