RE: [xsl] How a node value of an external xml file?

Subject: RE: [xsl] How a node value of an external xml file?
From: TSchutzerWeissmann@xxxxxxxxxxxxxxxx
Date: Fri, 11 Oct 2002 12:14:15 +0100
Hi Iris

> Problem is that I want to get translated data from my external file 
> (translations.xml) in my xsl.  I want to do this by passing 
> the founded 
> parameters (txtNode & txtLang), but that didn't work.
> (cfr. <xsl:value-of select="$resource/$txtNode/$txtLang"/>)
> When I pass my values without parameters it works! (cfr. 
> <xsl:value-of 
> select="$resource/AddressTitle/EN"/>)
> 
> How can I pass my parameters to get the correct node value of my file 
> Translations.xml ???

you can't use $parameters in XPath expressions like that. $txtNode contains
a string - would you expect to be able to do 
	"$resource/'AddressTitle'/'EN'?

You can use a predicate though:
	select="$resource/*[local-name()=$txtNode]/*[local-name()=$txtLang]"

It's bad xml to encode information in the name of elements. Instead of 
<Resource>
	<AddressTitle>
		<EN>Customer: </EN>
		<NL>Klant: </NL>
		<FR>Client: </FR>
	</AddressTitle>
</Resource>

why not make the type of resource (Address Title, EN / NL / FR) into an
attribute?

wotcher,
Tom






 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread