This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Working with 2 namespaces


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]