[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: computed <xsl:apply-templates mode=
Stephen,
At 01:49 PM 12/8/2004, you wrote: I am <xsl:sort>ing elements and then using <xsl:apply-templates select=".">. I need to set the @mode attribute of <xsl:apply-templates>, with a value from the XML. As @mode takes a qname, not an expression, I cannot reference a variable (set a variable with <xsl:value-of> and call $var_name), reference a node ( self::node()/@my_attribute), or call a function ( current()/@my_attribute or id() or key() ). Is there any way I can accomplish this? You can't select modes dynamically, no. But you could say <xsl:apply-templates select="." mode="dispatch"/> and then have one or more templates in the "dispatch" mode that would break things out. This can actually be quite neat: <xsl:template match="red|green"> <div color="name()"> <!-- red and green stuff --> <xsl:apply-templates select="." mode="dispatch"/> </xsl:template> <xsl:template match="red" mode="dispatch"> <!-- red stuff --> </xsl:template> <xsl:template match="green" mode="dispatch"> <!-- green stuff --> </xsl:template> etc. Cheers, Wendell
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|