xsl-list
[Top] [All Lists]

Re: xpath question

2003-03-27 10:31:02
Hi Florian:

Brute force method:

<xsl:template match="order/column">
  <xsl:apply-templates select="/root/group/*[local-name()=current()/@name"/>
</xsl:template>

Quicker and easier method:

<xsl:key name="fruits" match="group/*" use="local-name()"/>

<xsl:template match="order/column">
  <xsl:apply-templates select="key('fruits',@name)"/>
</xsl:template>

Not so hard....

Cheers,
Wendell

At 12:07 PM 3/27/2003, you wrote:
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..


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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