xsl-list
[Top] [All Lists]

Re: generating mailto

2002-10-11 11:11:51
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(_at_)email(_dot_)com</email>
</contact>

and I want to generate a mailto URI like this:
<a href="xxx(_at_)email(_dot_)com>xxx(_at_)email(_dot_)com</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



<Prev in Thread] Current Thread [Next in Thread>