RE: [xsl] current node attribute as predicate

Subject: RE: [xsl] current node attribute as predicate
From: Antonie Botes <antonie.botes@xxxxxxxxxxx>
Date: Fri, 25 Oct 2002 13:41:07 +0100
Yes, exactly what I was looking for. Thanks!

Antonie

-----Original Message-----
From: James Carlyle [mailto:james.carlyle@xxxxxxxxxxxx] 
Sent: 25 October 2002 11:38
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] current node attribute as predicate

Antonie

If you don't want to use a variable, you could do:

> 		<xsl:variable name="ItemText">
> 			<xsl:value-of select="@item" />
> 		</xsl:variable>
> 		<xsl:copy-of select="/inventory/item[@itemcode=$ItemText]"

<xsl:copy-of select="/inventory/item[@itemcode=current()/@item]"/>


Kind regards,

James Carlyle

FableFlow : MMS templating and delivery
Multimedia Messaging commentary : http://www.fableflow.com/weblog/
Telephone : +44 (0)20 7813 0665

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Antonie Botes
> Sent: 25 October 2002 11:17
> To: 'XSL-List@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: [xsl] current node attribute as predicate
>
>
> I use only a subset of the XML file to be processed as templates. The rest
> of the XML is source data from which to read certain values relating it to
> the current node via an attribute of the current node. The only way I know
> of that works is using a variable to which I assign the attribute, then by
> using the variable in the predicate. Apologies if this is a really basic
> question. Here is an example:
>
> XML
> ________________________________________
>
> <?xml version="1.0" encoding="utf-8" ?>
> <inventory>
> 	<item itemcode="Item1">
> 		<price>10.50</price>
> 		<description>description 1</description>
> 	</item>
> 	<item itemcode="Item2">
> 		<price>20.00</price>
> 		<description>description 2</description>
> 	</item>
> 	<invoice>
> 		<date>19/12/2002</date>
> 		<purchase item="Item2" number="2" />
> 		<purchase item="Item1" number="1" />
> 	</invoice>
> </inventory>
>
>
> XSLT
> _____________________________________________________
> <?xml version="1.0" encoding="UTF-8" ?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 	<xsl:template match="invoice">
> 		<xsl:apply-templates />
> 	</xsl:template>
> 	<xsl:template match="purchase">
> 		<xsl:copy-of select="/inventory/item[@itemcode=$ItemText]"
> />
> 	</xsl:template>
> 	<xsl:template match="item" />
> </xsl:stylesheet>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


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

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


Current Thread