HI Florian,
You can use the local-name() function to solve this problem. It returns the
(unqualified) name of the context element. In these circumstances you would
usually select with a wildcard, and then use local-name() in a predicate to
filter it down. Something like:
<xsl:template match="column">
<xsl:for-each select="/root/group/*[local-name()=current()/@name]">
<!-- Do whatever -->
</xsl:for-each>
</xsl:template>
The above selects the actual fruity element. If you want the <group> change
the xpath in the for-each to "/root/group[*[local-name()=current()/@name]]".
Cheers,
Stuart
-----Original Message-----
From: florian [mailto:csshsh(_at_)structbench(_dot_)com]
Sent: 27 March 2003 17:08
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] xpath question
hi!
i have a document xml doc like this:
<root>
<group>
<apple>bla</apple>
<orange>bla</orange>
</group>
<group>
<apple>bla</apple>
<orange>bla</orange>
</group>
<order>
<column name="orange" />
<column name="apple" />
</order>
</root>
i would like to do the following: im going though all the column nodes
and would like to access the group nodes where the column
attribute name
and the group node name match up.
basically i can just not think of a way to do that in xpath.. anybody
got an tip? how can i say in xpath that it should get the node with
the name in @name and not just access the name attribute of a group
node..
thanks alot!
ciao!
florian
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list