Re: [xsl] Variable issues

Subject: Re: [xsl] Variable issues
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 23 Dec 2008 11:48:02 GMT
Martin has already posted a correction to this but your code reposted has
the same error


[@id='{$ThisHotelID}']

That is testing if @id is equal to the string '{$ThisHotelID}' whereas
you want to test if it is equal to the value of the variable
$ThisHotelID so that would be
[@id=$ThisHotelID]


incidentally two more general observations

{} are not special characters in xpath you should _never_ use then in
xpath (unless you want them as part of a string literal). They are used
in xslt to _surrpound_ xpath expressions in attribute value templates
a use which is possible precisely because these braces are not used in
xpath.


don't go 

<xsl:variable name="ThisHotelID"><xsl:value-of
select="document(file/@href)/Hotel/HotelID" /></xsl:variable>

when you could go

<xsl:variable name="ThisHotelID"
select="document(file/@href)/Hotel/HotelID" />

the latter is less to type and a lot more efficient, as it binds the
variable to the HotelID element, rather than generating new document
node with a new text node child with string valuue the value of teh
HotelID element.

David



________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread