Standard XSLT does not provide any way to evaluate an XPath expression that
is read dynamically from a source document as a string value. However, this
facility is often provided as an extension: see for example saxon:evaluate()
and saxon:evaluate-node().
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: kheris [mailto:kheris(_at_)o2(_dot_)pl]
Sent: 05 February 2009 19:51
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Using XSLT to change XML and modify node with XPath
Hi all,
Maybe anyone can still help me on this:
I need to transform XML1 to XML2.
The procedure i am looking for is something like:
1) i reach the node var-path
2) i meet the node path. I get the value, and i search for
/def[name=value]
3) i meet the second node path in current var-path. I get the
value, and now i search for
/def[name=value_of_path_before]//def[value_of_path_now]
4) etc.
So, i use previously found node as starting node now. What is
more, i need to use //, as structure of path can be deeper
then explicitly said. But i can return only first found node
(so, if more nodes satisfy that, i get always the first one).
I have XQuery for searching/modifying nodes. Maybe is it
possible to combine it (i tried to google some more info, but
most tool don't allow that)
XML 1:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<def>
<name>Var1</name>
<val>0</val>
<def>
<name>SubVar</name>
<val>012</val>
</def>
</def>
<def>
<name>Var2</name>
<val>1</val>
</def>
<test-node>
<use>
<var-path>
<path>Var1</path>
<path>SubVar</path>
</var-path>
</use>
</test-node>
</xml>
XML 2:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<def>
<name>Var1</name>
<val>0</val>
<def>
<name>SubVar</name>
<val>012</val>
</def>
</def>
<def>
<name>Var2</name>
<val>1</val>
</def>
<test-node>
<use>
<var-path>
<path value="0">Var1</path>
<path value="012">SubVar</path>
</var-path>
</use>
</test-node>
</xml>
--~------------------------------------------------------------------
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>
--~--