RE: [xsl] xpath question

Subject: RE: [xsl] xpath question
From: "Bryan Archer" <barcher@xxxxxx>
Date: Thu, 27 Mar 2003 17:31:44 -0000
As with most of these - an alternative is to use a key:

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

<xsl:template match="column">
	<xsl:for-each select="key('groupKey', @name)">
		<!-- Do whatever -->
      </xsl:for-each>
</xsl:template>

Bryan

-----Original Message-----
From: Stuart Brown [mailto:sbrown@xxxxxxxxxxx]
Sent: 27 March 2003 17:11
To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
Subject: RE: [xsl] xpath question


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@xxxxxxxxxxxxxxx]
> Sent: 27 March 2003 17:08
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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
Visit our website at http://www.rm.com

This message is confidential.  You should not copy it
or disclose its contents to anyone.  You may use and apply the information
only for the intended purpose.  Internet communications are not secure and
therefore RM does not accept legal responsibility for the contents of this
message.  Any views or opinions presented are only those of the author and
not those of RM.  If this email has come to you in error please delete it
and any attachments.  Please note that RM may intercept incoming and
outgoing e-mail communications.

This email has been scanned for viruses by Trend ScanMail.

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


Current Thread