XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
brett luntzSubject: Comparing an XML value from current record and previous record
Author: brett luntz
Date: 10 May 2007 10:40 AM
Hi,

I am new to XSL and have some code that I need edited.

We are currently looping through an XML recordset.

We need an if statement that checks the current and
previous record's value of the XML tag
"HORSE_FRONT_ROW_FLAG". If the current record's value
of HORSE_FRONT_ROW_FLAG tag is "2", and the previous
record's value of HORSE_FRONT_ROW_FLAG is "1", then
the system needs to print some text....

This is the current code:

<xsl:for-each select="RACE_LIST_HORSES/HORSE">
<section startonnewpage="false" pagesize="a5"
leftmargin="1cm" rightmargin="1cm" topmargin="1cm"
bottommargin="1cm">
<paragraph
type="textparagraph" alignment="center">
<fragment
font="Helvetica" fontsize="10">
------------------------------------------------
Second Row
------------------------------------------------</fragment>
</paragraph>
</section>
The current code is below.
xsl:for-each select="RACE_LIST_HORSES/HORSE">
<section
startonnewpage="false" pagesize="a5" leftmargin="1cm"
rightmargin="1cm" topmargin="1cm" bottommargin="1cm">

</section>

</xsl:for-each>


Here is the pseudocode for what I need implemented...



<xsl:for-each select="RACE_LIST_HORSES/HORSE">
<section
startonnewpage="false" pagesize="a5" leftmargin="1cm"
rightmargin="1cm" topmargin="1cm" bottommargin="1cm">

<if current Record's value for
RACE_LIST_HORSES/HORSE/HORSE_FRONT_ROW_FLAG = 2>
<if previous record's
value for RACE_LIST_HORSES/HORSE/HORSE_FRONT_ROW_FLAG
= 1>
<section startonnewpage="false" pagesize="a5"
leftmargin="1cm" rightmargin="1cm" topmargin="1cm"
bottommargin="1cm">
<paragraph
type="textparagraph" alignment="center">
<fragment
font="Helvetica" fontsize="10">
------------------------------------------------
Second Row
------------------------------------------------</fragment>
</paragraph>
</section>
<end if>
<end if>

</section>

</xsl:for-each>

From what I've read you need to use preceding for the
previous record only, but I have no idea how to
implement it within the if statement.

Any help would be greatly appreciated

Posttop
Elias HuterSubject: Comparing an XML value from current record and previous record
Author: Elias Huter
Date: 11 May 2007 04:27 AM
Hi,

thats how I would do it:

<xsl:if test="HORSE_FRONT_ROW_FLAG = '2'">
<xsl:variable name="pre_pos" select="number(position())-1"/>
<xsl:if test="(../HORSE/HORSE_FRONT_ROW_FLAG)[$pre_pos]='1'">
<Text>Some Text</Text>
</xsl:if>
</xsl:if>

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.