Hi all,
I hope I'm not breaking etiquette, but I could not find an answer to this in
the FAQ or archives.
I have an XML source document like this:
<Objects>
<Object>
<Name>Toothbrush</Name>
<Type>Electric</Type>
<Colour>White</Type>
</Object>
<Object>
<Name>Soap Dish</Name>
<Type>Plastic</Type>
<Colour>Blue</Colour>
<Object>
</Objects>
I process it with a stylesheet like this:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.1">
<xsl:key name="kObject" match="Object" use="Name"/>
<xsl:param name="ObjectName" />
<xsl:param name="OtherExpr" />
<xsl:template match="/Objects">
<FoundObject>
<xsl:apply-templates select="key('kObject', $ObjectName/Name)"/>
</FoundObject>
</xsl:template>
<xsl:template match="Object">
<xsl:copy-of select="."/>
<xsl:apply-templates select="$OtherExpr/ParamColour"/>
</xsl:template>
<xsl:template match="ParamColour">
<xsl:if test="current() = key('kObject', $ObjectName/Name)/Colour">
Is the same colour!
</xsl:if>
</xsl:template>
I process the XML document with this Stylesheet using SAXON 7.8 in Java, and
I pass a DOMSource object into each of the parameters that looks like the
following:
For ObjectName Param
<Name>Toothbrush</Name>
For Other Expr Param:
<ParamColour>White</ParamColour>
The problem is that - within the context of the ParamColour matching
template, the key object doesn't seem to be defined - in fact, even root of
this context node ( i.e. <xsl:copy-of select="//" /> is only the Parameter
contents. This makes me very sad.
Is there a keyword or expression I can use to get the originally processed
document while I am in the context of a node from an RTREEFRAG or external
parameter nodeset ?
Thanks in advance for your help,
Colin Toal
_________________________________________________________________
MSN Premium with Virus Guard and Firewall* from McAfee® Security : 2 months
FREE*
http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI=1034&SU=http://hotmail.com/enca&HL=Market_MSNIS_Taglines
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list