Re: [xsl] Working with 2 namespaces

Subject: Re: [xsl] Working with 2 namespaces
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Date: Sun, 24 Mar 2002 22:51:03 +0100
Andreas Schlegel wrote:
> I have a "<xsl:for-each select="/test/common/fields/*">" loop.
> For every item in this loop I would refer to an item in another
> namespace ("<xsl:value-of select="/test/common/labels/."/>.
> Both items have the same name but are in different namespaces.
> My problem is: how to get the name of the current item and use it to get
> the corresponding item in the other namespace ("/test/common/labels/")?

I guess you mean there is a corresponding element in
another branch of the tree. Namespace means something
else in an XML context, see, for example
 http://www.dpawson.co.uk/xsl/sect2/N5536.html#d163e21
(there are other sources)

I suppose your XML looks like
 <test>
   <common>
     <fields>
       <foo>stuff</foo>
       <bar>other</bar>
     </fields>
     <labels>
       <foo>foo label</foo>
       <bar>bar label</bar>
     </labels>
   </common>
 </test>
If you want to have the content of the elements with the same
name, try the name() function:
  <xsl:for-each select="/test/common/fields/*">
     <xsl:value-of select="/test/common/labels[name()=name(current())]"/>
  </xsl:for-each>
If you want to have something else, post a relevant snippet
of your XML and how you define the "name of the current item"
and what constitutes the "corresponding item".

HTH
J.Pietschmann


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



Current Thread