This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Working with 2 namespaces
- From: Andreas Schlegel <schlegel at software dot b dot uunet dot de>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 25 Mar 2002 12:14:35 +0100
- Subject: Re: [xsl] Working with 2 namespaces
- References: <3C9E433F.8DB08E0@software.b.uunet.de> <3C9E4A47.8050102@yahoo.de>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Thanks for your help. It works now.
-- Andreas
"J.Pietschmann" wrote:
> 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
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list