I am not sure I understand your question correctly. But if your current
node is the <VENDOR_LOC> and you want to select the value of
<DEFAULT_LOC>, you may try
<xsl:if test="VNDR_LOC = ../../DEFAULT_LOC">
Or
<xsl:if test="VNDR_LOC = ../preceding-sibling::DEFAULT_LOC">
Lisa
-----Original Message-----
From: Paul Delange [mailto:]
Sent: Friday, January 20, 2006 3:40 PM
To:
Cc:
Subject: [xml-dev] Reference value of parent node within template match?
Hi!
In puesdo-English, I need to output a <TERMS_CD>00</TERMS_CD> because,
is
the XML below, DEFAULT_LOC = 1, therefore the payment terms for the
default
location are 00.
<VENDOR class="R">
<VENDOR_ID IsChanged="Y">000000001</VENDOR_ID>
<DEFAULT_LOC IsChanged="Y">1</DEFAULT_LOC>
<VNDR_LOC_SCROL class="R">
<VENDOR_LOC class="R">
<VNDR_LOC IsChanged="Y">1</VNDR_LOC>
<PYMNT_TERMS_CD IsChanged="Y">00</PYMNT_TERMS_CD>
</VENDOR_LOC>
</VNDR_LOC_SCROL>
<VNDR_LOC_SCROL class="R">
<VENDOR_LOC class="R">
<VNDR_LOC IsChanged="Y">3</VNDR_LOC>
<PYMNT_TERMS_CD IsChanged="Y">99</PYMNT_TERMS_CD>
</VENDOR_LOC>
</VNDR_LOC_SCROL>
<VNDR_VAT_RGSTRN class="R">
<VAT_RGSTRN_ID/>
</VNDR_VAT_RGSTRN>
</VENDOR>
When I apply a template I can't reference a value from a parent node -
or
can I?
<xsl:apply-templates select ="VENDOR/VNDR_LOC_SCROL/VENDOR_LOC"/>
...
<xsl:template match="VENDOR_LOC">
<xsl:if test="VNDR_LOC = "The parent value of DEFAULT_LOC">
<test><xsl:value-of select="PYMNT_TERMS_CD" /></test>
</xsl:if>
</xsl:template>
If someone can solve this for me, there will forever be a giant in my
eyes
;o)
-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription
manager: <http://www.oasis-open.org/mlmanage/index.php>