Subject: RE: 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: 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?
|