Subject: Re: newbie xsl:if From: "Alistair MacDonald" <AlistairMacDonald@xxxxxxxxxxxxx> Date: Wed, 09 Jun 1999 11:24:08 +0100 |
I asked a similar question a long time ago (and repeated it when the latest draft came out). I didn't get an aswer then, but was playing with it yesterday and worked out a (trivial) solution. You need to be using something which conforms to the latest draft (or supports variables properly). It is also possible to do something non-standard using the MS processor. XML Fragment: ----- <area name="foo"> <page name="index"> ... </page> <page name="foo"> ... </page> </area> ----- XSL Fragment: ----- <xsl-template match="page"> <!-- ** The trick is to set a variable, because you can control the context of the variable when you set it --> <!-- extract the parents "name" --> <xsl:variable name="parent" expr="from-parent(node())/from-attributes(name)" /> <!-- Now you can compare the current name with the variable. It doesn't matter what context you use because the variable is now set --> <xsl:if test="from-attributes(name)=$parent"> Found element ..... </xsl:if> </xsl-template> ----- Hope this helps. It certainly should work in the latest version of XT, although I might have made an error when I translated it! Alistair PS I deliberately used the unified (aka long) syntax to make it clear that it worked only with the new version >>> James Kerr <james@xxxxxxxxxxxx> 06/07 9:22 pm >>> Hi, I am trying to learn XSL and have a question: How would I form a match statement for an xsl:if that would match a parent's value with the value of the current element? In other words, I have a list of sub-elements and want to determine which element has the same value as the parent. Thanks, -James XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: newbie xsl:if, Julian Reschke | Thread | passing parameters to xsl, Bruening, Oliver |
RE: XSL Includes, Ben Robb | Date | HOW TO USE <eval> IN select, Vassilis Grillas |
Month |