|
Subject: [xsl] xsl:if/xsl:when test From: "Maulik Modi" <mxmodi@xxxxxxxxxxxxxxx> Date: Wed, 21 Feb 2001 15:51:35 -0600 |
Hi,
WHAT I WANT:
In the following XML, I have two <Node_path> and <Node_value> pairs in the
first child, I want to test if the values for both the pairs are true and
then process the three <URL>'s for it., meaning 3 times.
WHAT I have working:
In the following XML, I have two <Node_path> and <Node_value> pairs in the
first child, and if both text are valid, it processes each <URL> under it,
meaning six times!
Any help is appreciated. What am I missing?
My XML doc1 (called BER3.xml in the stylesheet) is:
<CHANNEL Name="temp.personresponse">
<EVENT name="default">
<NODE>
<Node_path>//DATA/PARAMETERS/PARAMETER/TimeSheet/EmpUserID</Node_path>
<Node_value>txtester</Node_value>
</NODE>
<NODE>
<Node_path>//DATA/PARAMETERS/PARAMETER/TimeSheet/BeginWeek</Node_path>
<Node_value>11/14/01</Node_value>
</NODE>
<URL>http://somurlcall</URL>
<URL>http://some url call 2</URL>
<URL>http://some url call 3</URL>
</EVENT>
<EVENT name="2">
....
</EVENT>
</CHANNEL>
default XML passed to XSLT (value to be parsed from):
<MESSAGE>
<!--bunch of xml tags here ignored -->
<DATA>
<PARAMETERS>
<PARAMETER>
<TimeSheet>
<EmpUserID>txtester</EmpUserID>
<BeginWeek>11/14/01</BeginWeek>
<EndWeek>11/20/01</EndWeek>
<Sun>1</Sun>
<Mon>2</Mon>
<Tue>3</Tue>
<Wed>4</Wed>
<Thu>5</Thu>
<Fri>6</Fri>
<Sat>7</Sat>
<LastDate>01/01/01</LastDate>
<UpdateUserId>admin</UpdateUserId>
</TimeSheet>
</PARAMETER>
</PARAMETERS>
</DATA>
</MESSAGE>
Snippet XSL code:
<xsl:variable name="tempdoc" select="document('BER3.xml')/CHANNEL" />
<xsl:variable name="chandoc" select="." />
<xsl:template match="/">
<!--some other code for presentation deleted here-->
<xsl:for-each select="$tempdoc//NODE">
<xsl:variable name="npath" select="Node_path" />
<xsl:variable name="nvalue" select="Node_value" />
<xsl:variable name="parsed">
<xsl:for-each select="$chandoc">
<xsl:value-of select="saxon:evaluate($npath)" />
</xsl:for-each>
</xsl:variable>
<xsl:if test="$parsed=$nvalue">
<xsl:for-each select="$tempdoc//URL">
<url><xsl:value-of select="." /></url>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Re: xsl:function, Joe English | Thread | Re: [xsl] xsl:if/xsl:when test, Philip Strube |
| Re: [xsl] 2.1 Must Allow Matching o, Steve Muench | Date | Re: The top 10 limitations of XSLT , Jeni Tennison |
| Month |