Hello,
Sorry but XSLT 2.0 and XPath 2.0 book is more than 1000 pages, so I'm
writing this:
I've this xpath expression that returns a node stored in a variable:
<xsl:variable name="x"
select="($airTraveler/preceding-sibling::ota:AirTraveler[(_at_)PassengerTypeCode!='INF'
and substring( concat( gal:normNames( ota:PersonName/ota:Surname ), concat(
gal:normNames( ota:PersonName/ota:GivenName ),gal:normNames(
ota:PersonName/ota:NamePrefix ))),1,16) = $srnNP16 ], $airTraveler)[1]"/>
then if I do
<xsl:value-of select="$x/preceding-sibling::ota:AirTraveler"/>
I obtain the preceding-sibling nodes.
but if I write this function to use the same xpath expression, quite
complicated, in two places
<xsl:function name="gal:func">
<xsl:param name="airTraveler"/>
<xsl:param name="srnNP16"/>
<xsl:value-of
select="($airTraveler/preceding-sibling::ota:AirTraveler[(_at_)PassengerTypeCode!='INF'
and substring( concat( gal:normNames( ota:PersonName/ota:Surname ), concat(
gal:normNames( ota:PersonName/ota:GivenName ),gal:normNames(
ota:PersonName/ota:NamePrefix ))),1,16) = $srnNP16 ], $airTraveler)[1]"/>
</xsl:function>
but when I write:
<xsl:variable name="x" select="gal:func($airTraveler, $srnNP16 )"/>
<xsl:value-of select="$x/preceding-sibling::ota:AirTraveler"/>
I don't obtain any preceding sibling.
Could you tell me why?
Many thanks
Bartolomeo
--~------------------------------------------------------------------
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>
--~--