Subject: [xsl] alternative for modes From: "Peter Billen" <peter@xxxxxxxxxxx> Date: Thu, 12 Feb 2004 11:10:48 +0100 |
Hello all, I'm having a problem with doing something on a more proper way, I hope you help me with this one. Imagine you have a template which can be used on several places in your stylesheet, let's call it 'generalTemplate' <xsl:template name="generalTemplate> do some calculations here, but stay in current node context (so no for-each, ... - see below) <xsl:apply-templates> ... </xsl:apply-templates> </xsl:templates> Imagine this function can be called on a tag <root> and <child> is a child of that tag. So each time when 'generalTemplate' is called, a template which matches the tag 'child' will be called too: <xsl:template match="child"> ... </xsl:template> As I mentioned above, 'generalTemplate' can be called on several places in the template, because everytime I need the same calculations, ... on the 'root'-tag. But each time (in every other place), I actually need different manipulations on the 'child'-tag. A nice way to accomplish would be this, but this doesn't work since mode should be a qname, and not an xpath expression: <xsl:template name="generalTemplate> <xsl:param name="p"/> <xsl:apply-templates mode="$p"> ... </xsl:apply-templates> </xsl:templates> <xsl:template match="child" mode="situation1">...</> <xsl:template match="child" mode="situation2">...</> ... Then I came up with the following: <xsl:template name="generalTemplate> <xsl:param name="p"/> <xsl:apply-templates> <xsl:with-param name="p" select="$p"/> ... </xsl:apply-templates> </xsl:templates> <xsl:template match="child"> <xsl:if test="$p = 'situation1'> ... <xsl:if test="$p = 'situation2'> ... ... </xsl:template> Actually, this works perfect, but I don't like it. So my question is now: are there any other outcomes for this situation, which do this on a more generic way? Thanks for your time, Peter XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Mixed Contents, Jarno . Elovirta | Thread | Re: [xsl] alternative for modes, David Carlisle |
RE: [xsl] nodes or multiple runs?, Andrew Welch | Date | Re: [xsl] alternative for modes, David Carlisle |
Month |