xsl-list
[Top] [All Lists]

RE: [xsl] A Problem with Variables and Xpath

2011-07-25 10:21:24
I take it you're saying that your source document has an attribute like this: 
<node something="value for your new attribute">? If so, it sounds like this one 
is pretty easy, even with XSLT/XPath 1.0:

<disney>
  <xsl:attribute name="mickey">
    <xsl:value-of select="@*[name() = $foo]" />
  </xsl:attribute>
</disney>

or for super-short: 
<disney mickey="{@*[name() = $foo]}" />

You could also use [local-name() = $foo] if you're worried about potential 
namespacing issues.

~ Scott


-----Original Message-----
From: Christian(_dot_)Sisti(_at_)isti(_dot_)cnr(_dot_)it 
[mailto:Christian(_dot_)Sisti(_at_)isti(_dot_)cnr(_dot_)it] 
Sent: Monday, July 25, 2011 10:13 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] A Problem with Variables and Xpath

Hi All!

It is possible to gather the value of an attribute using variable in
Xpath? How?

I have a variable like this:

<xsl:variable name="foo">something</xsl:variable>

and I am trying to set an attribute in this way:

<disney>
  <xsl:attribute name="mickey">
   <xsl:value-of select="./$foo"/>
  </xsl:attribute>
</disney>

where $foo is the name of an attribute of the source document.

The (wrong) output is:

<disney mickey="something">
</disney>

while the desired one is:

<disney mickey="valueof(something)">
</disney>

Thanks for help!

Christian

P.S.
I am using XSLT and Xpath 2.0

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

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