xsl-list
[Top] [All Lists]

Re: generating mailto

2002-10-11 11:01:02
At 2002-10-11 01:42 -0400, Steve Salkin wrote:
I'm just getting my feet wet in XSL and it's pretty interesting. I think
I am missing something though,

Yes, you are treating XSLT as an "angle-bracket processor" when, in fact, it is a "node tree processor".

You need to represent the node tree structure of your result in the node tree structure of your stylesheet ... see http://www.biglist.com/lists/xsl-list/archives/200210/msg00411.html for a recent post where I try to emphasize this point.

Don't try to construct the resulting syntax, because your objective as a stylesheet writer isn't to build syntax, but to build structure.

...
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>

In the example below I am using an attribute value template in the href attribute to evaluate the value of the <email> child of the <contact> element, and the <xsl:value-of> instruction to get at the same content for the canvas.

I hope this helps.

............... Ken

T:\ftemp>type salkin.xml
<contact>
  <email>xxx(_at_)email(_dot_)com</email>
</contact>

T:\ftemp>type salkin.xsl
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="1.0">

<xsl:template match="contact">
  <td class="contact">
    <a href="mailto:{email}";>
       <xsl:value-of select="email"/>
    </a>
  </td>
</xsl:template>

</xsl:stylesheet>

T:\ftemp>xt salkin.xml salkin.xsl
<?xml version="1.0" encoding="utf-8"?>
<td class="contact"><a 
href="mailto:xxx(_at_)email(_dot_)com">xxx(_at_)email(_dot_)com</a></td>
T:\ftemp>


--
G. Ken Holman               mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.        http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                     Definitive XSLT and XPath
ISBN 0-13-140374-5                             Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1             Practical Formatting Using XSL-FO
Next public training:          2002-12-08,2003-02-03,06,03-03,06


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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