Subject: RE: [xsl] Accessing xml node data using variable From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 22 Apr 2006 10:18:18 +0100 |
Firstly, packing information into structured element names is bad design. This is what attributes are for. Don't use <title-en> and <title-nl>, use <title xml:lang="en"> and <title xml:lang="nl">. Secondly, this doesn't work: <xsl:value-of select="root/{$MyTitleName}"/> You can't use curly braces inside an XPath expression, and you can't construct XPath expressions dynamically from strings. You want <xsl:value-of select="root/*[name() = $MyTitleName]"/> or if you change the design, root/title[@xml-lang=$lang] Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Sanket Pattekar [mailto:sanket.pattekar@xxxxxxxxx] > Sent: 22 April 2006 10:11 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Accessing xml node data using variable > > Hi > > I have a xml file called hello.xml that looks like <?xml > version="1.0"?> <?xml-stylesheet type="text/xsl" > href="hello.xsl"?> <root> <greeting>Hello world.</greeting> > <title-en>News Title English</title-en> <title-nl>News Title > Dutch</title-nl> </root> > > Then I have the stylesheet called hello.xsl that looks like > <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet > version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:variable name="lang" select="'en'" /> > <xsl:variable name="MyTitleName" > select="concat('title-',$lang)"/> > > <xsl:template match="/"> > <head><title>Greeting</title></head> > <body> > <p>Words of greeting:<br/> > <b><i><u><xsl:value-of > select="root/greeting"/></u></i></b><br/> > <b><i><u><xsl:value-of > select="root/title-en"/></u></i></b><br/> > <b><i><u><xsl:value-of > select="root/title-nl"/></u></i></b><br/> > <b><i><u><xsl:value-of > select="root/{$MyTitleName}"/></u></i></b><br/> > </p> > </body> > </xsl:template> > </xsl:stylesheet> > > Now I want to create a variable called 'MyTitleName' in the > stylesheet, that refrences my xml node. Any suggestion would > be welcome. > > Sanket
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Accessing xml node data using, Sanket Pattekar | Thread | Re: [xsl] Accessing xml node data u, Sanket Pattekar |
RE: [xsl] Is there a way to tell if, Michael Kay | Date | Re: [xsl] Accessing xml node data u, Sanket Pattekar |
Month |