This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: catch from another node with the same id (NEWBIE)
- From: Jeni Tennison <jeni at jenitennison dot com>
- To: thomas <thomas dot lohbeck at ksc dot ch>
- Cc: XSL-List at lists dot mulberrytech dot com
- Date: Tue, 10 Sep 2002 12:24:12 +0100
- Subject: Re: [xsl] catch from another node with the same id (NEWBIE)
- Organization: Jeni Tennison Consulting Ltd
- References: <3D7DD389.8050209@ksc.ch>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Thomas,
> instead of the "id" i need the product name (bezeichnung) which is
> stored in a completly different node "/page/info/produkte/" but with
> the correspondending "id"
This kind of lookup is best done by setting up a key that indexes the
things that you want to look up by the thing that you want to retrieve
them by:
<xsl:key name="produkte" match="produkte/produkt" use="@id" />
You can then retrieve the produkt element with the id '2', for
example, wherever you are in the document, using:
key('produkte', '2')
and retrieve the name of that produkt using:
key('produkte', '2')/@bezeichnung
So your xsl:for-each loop might look like:
<xsl:for-each select="*/produkt">
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:value-of select="key('produkte', @id)/@bezeichnung"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list