RE: [xsl] DOE an attribute to prevent spam?

Subject: RE: [xsl] DOE an attribute to prevent spam?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 5 Oct 2007 14:18:41 +0100
disable-output-escaping is defined to work only on text nodes, not on
attribute nodes.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Phill [mailto:phill@xxxxxxxxxxxxxxxxxxxxxxx] 
> Sent: 05 October 2007 13:20
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] DOE an attribute to prevent spam?
> 
> Hi all
> 
> There's a common trick to prevent bots scanning sites and 
> collecting email addresses which involves xml-encoding all 
> the characters in the href attribute of links. We've been 
> using it in production for a while, and haven't seen any 
> problems with it.
> 
> We're trying to use this technique within our XSL 
> stylesheets, and have found that DOE doesn't work at all, 
> even when using the following format:
> 
> <a>
>     <xsl:attribute name="href">
>         <xsl:value-of select="$encodedemail" 
> disable-output-escaping="yes" />
>     </xsl:attribute>
>     <xsl:value-of select="$encodedemail" 
> disable-output-escaping="yes" /> </a>
> 
> The link value is correctly encoded, but the href also 
> encodes the ampersand. I've tried tweaking the output, but 
> can't seem to get it to format correctly.
> 
> We're using XSL1.0 and PHP5, with some EXSLT functionality.
> 
> Any ideas how I can get this working?

Current Thread