Subject: RE: Comparing content
From: Ben Robb <Ben@xxxxxxxxxx>
Date: Mon, 13 Sep 1999 18:04:41 +0100
|
Seems to work for me. This is the complete code:
************************************************
XML Page
************************************************
<?xml version="1.0" ?>
<DOCUMENT>
<TAG1>something</TAG1>
<TAG2>something</TAG2>
<TAG3>something else</TAG3>
<TAG4>whatever<TAG5>something else</TAG5>next</TAG4>
</DOCUMENT>
*************************************************
XSL page
*************************************************
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:if test="//DOCUMENT[TAG1 = TAG2]">
<xsl:value-of select="//DOCUMENT/TAG1"/>
</xsl:if>
<BR/>
<xsl:if test="//DOCUMENT[TAG3 = TAG4/TAG5]">
<xsl:value-of select="//TAG5"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
***********************************************
Output
***********************************************
something<BR/>something else
***********************************************
You could also use the "for-each" syntax if there were more than one:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:for-each select="//DOCUMENT[TAG1 = TAG2]">
<xsl:value-of select="TAG1"/>
</xsl:for-each>
<BR/>
<xsl:for-each select="//DOCUMENT[TAG3 = TAG4/TAG5]">
<xsl:value-of select="TAG3"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
(which gives the same output in this case)
What parser are you using?
Rgs,
Ben Robb
cScape
> -----Original Message-----
> From: Peter-Paul Koch [mailto:ppk@xxxxxxxxxx]
> Sent: 13 September 1999 17:13
> To: xsl-list@xxxxxxxxxxxxxxxx
> Subject: RE: Comparing content
>
>
> >Try something like:
> ><xsl:if test="DOCUMENT[TAG1 = TAG2]">
> > <!-- do something -->
> ></xsl:if>
> >
> >or
> >
> ><xsl:if test="DOCUMENT[TAG1 = TAG3/TAG4]">
> > <!-- do something -->
> ></xsl:if>
>
> This is exactly what I've tried for days now, it just won't
> work. As soon
> as you put a string behind the '=' everything works fine, but I want a
> dynamic comparision.
>
> Cuurently I try in the <xsl:template select="role">:
>
> <xsl:apply-templates select="/JDF/project/role[@id = ./supervisor]" />
>
> where the basic XML is
>
> <role id="pm">
> <blah...>
> </role>
>
> <task>
> <supervisor>pm</supervisor>
> <blah...>
> </task>
>
> Nothing happens...
>
> Provisional version: http://www.netlinq.nl/interest/xml/interest.xml
>
> ppk
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|