xsl-list
[Top] [All Lists]

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

2002-10-11 04:14:15
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



<Prev in Thread] Current Thread [Next in Thread>