I use XSL sporadically and, as such, haven't quite figured out all the
syntax yet.
Here's a snippet of my XML:
<menuItems>
<menuItem>
<pageID>1</pageID>
</menuItem>
<menuItem>
<pageID>2</pageID>
</menuItem>
</menuItems>
In my XSL, I want to determine if the 'pageID' value of the first
menuItem (and ONLY the first menuItem) matches a particular value that I
am passing into the XSL file.
From what I can tell, I need to use the child::item[position()=1]
syntax. Is that correct?
This is what I've come up with:
<xsl:if test="menuItems[child::menuItem[position()=1]/pageID =
$pageID]">
That seems to work. BUT, what I am a bit confused of is if I write the
above as a value-of:
<xsl:value-of select="menuItems[child::menuItem[position()=1]/pageID =
$pageID]"/>
If the node doesn't exist, I get nothing (I assume a 'false' value in
the IF comparison). If it does exist, I get the entire contents of the
XML file. Is that normal? I guess my confusion is why does the if
statement appear to return a true/false while the value-of statement
returns nothing or the entire XML file?
-Darrel
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--