[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Converting a string to Uppercase or Lowercase without using translate() ?


Subject: Re: [xsl] Converting a string to Uppercase or Lowercase without using translate() ?
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 27 Nov 2007 17:03:18 +0000

On 27/11/2007, Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> wrote:
> Since entities resolve recursively, this cries out for more:

ahh great... in which case further refactoring to:

> <!DOCTYPE xsl:stylesheet [
> <!ENTITY xslt-ns 'http://www.w3.org/1999/XSL/Transform'>
> <!ENTITY all '@*|node()'>
> <!ENTITY opt '<xsl:output indent="yes"/>'>
> <!ENTITY copy '<xsl:copy><xsl:apply-templates
> select="&all"/></xsl:copy>'>
> <!ENTITY ident '<xsl:template
> match="&all;">&copy;</xsl:template>'>
> ]>
> <xsl:stylesheet xmlns:xsl="&xslt-ns;"
>      version="2.0">
>      &opt;
>      &ident;
> </xsl:stylesheet>

gives:

<!DOCTYPE xsl:stylesheet [
<!ENTITY xslt-ns 'http://www.w3.org/1999/XSL/Transform'>
<!ENTITY all '@*|node()'>
<!ENTITY opt '<xsl:output indent="yes"/>'>
<!ENTITY apt '<xsl:apply-templates select="&all;"/>'>
<!ENTITY copy '<xsl:copy>&apt;</xsl:copy>'>
<!ENTITY ident '<xsl:template match="&all;">&copy;</xsl:template>'>
]>
<xsl:stylesheet xmlns:xsl="&xslt-ns;"
    version="2.0">
    &opt;
    &ident;
</xsl:stylesheet>

This is looking really bad now...


Current Thread