<xsl:value-of select="$Colours[count(ancestor-or-self::node)]"/>
I think that in the predicate the ancestor-or-self would be based from the
variable $Colours, you want to count the ancestor nodes of current()? or store
. in a variable to use.
<xsl:value-of select="$Colours[count(current()/ancestor-or-self::node)]"/>
Josh
-----Original Message-----
From: Ragulf Pickaxe [mailto:jawxml(_at_)hotmail(_dot_)com]
Sent: Thursday, April 22, 2004 3:39 PM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Getting value of specific element in external XML
document
Hi all,
I have the following problem:
During a transformation, I want different Colours on some elemets according
to their position in the hierachy. Instead of a choose-when, I have tried
following:
<!-- Top of XSL document -->
<xsl:variable name="Colours"
select="document('Colours.xml')/colours/colour"/>
<xsl:template match="/">
<xsl:copy-of select="$Colours"/> <!-- Gives back the whole -->
<xsl:value-of select="$Colours[2]"/> <!-- Gives back the value of the
second colour element -->
<xsl:apply-templates select="node"/>
</xsl:template>
<xsl:template match="node">
<xsl:value-of select="$Colours[count(ancestor-or-self::node)]"/> <!--
Gives nothing at all -->
<xsl:apply-template select="node"/>
</xsl:template>
In the template node, I have tried various things in the predicate, such as
[position()=count(ansestor-or-self::node)] and the like, but nothing seems
to work, except when I hardcode the value, which I obviously do not want.
What am I doing wrong here? I have absolutely no idea why this is not
working.
The Colours.xml looks like the following:
<?xml version="1.0"?>
<colours>
<colour>red</colour>
<colour>green</colour>
<colour>bluez</colour>
</colours>
Regards,
Ragulf Pickaxe :-|
_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--