[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Comparing content

Subject: RE: Comparing content
From: Ben Robb <Ben@xxxxxxxxxx>
Date: Mon, 13 Sep 1999 18:04:41 +0100
tag3 editor
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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.