Subject: Re: [xsl] node responding to ancestor node attributes From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Tue, 16 Jul 2002 20:52:19 +0100 |
Hi Michael, > In my root node I specifiy the language I'd like output to be in. I > tried matching a template of page[@language = > 'es']//content//element[@type = '1'] but that didn't seem to work. It's hard to work out exactly what's going wrong without seeing more of your stylesheet, My guess is that you're using the above as a pattern in the match attribute of an xsl:template, but that for some reason you either have another template that's catching the 'element' elements, or the process doesn't get to those 'element' elements at all. Alternatively, you could be using the above as a path, but in the wrong context. > Is there a proper way to check that sort of data? Is it possible to > take that value and set it to a global variable any node can easily > check? Thanks. You could certainly use a global variable to hold the value of the language attribute on the page document element: <xsl:variable name="language" select="/page/@language" /> and then check that within a template: <xsl:template match="element"> <xsl:choose> <xsl:when test="@type = '1' and $language = 'es'"> ... </xsl:when> <xsl:otherwise> ... </xsl:otherwise> </xsl:choose> </xsl:template> You can't refer to global variables from within the match attribute of an xsl:template, however, so you have to do the testing inside a single template rather than having different templates for the different languages. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] node responding to ancest, Joerg Heinicke | Thread | RE: [xsl] node responding to ancest, Michael Kay |
Re: [xsl] urgent - carriage return,, Joerg Heinicke | Date | Re: [xsl] xsl:include href attribut, J.Pietschmann |
Month |