At 2003-08-13 21:58 +0200, Eric Smith wrote:
I have a parent document with code like:
<doc>
<render2web/> <!-- this sets the variable -->
<lookup about="consumer"/>
</doc>
And in the xsl:
<xsl:apply-templates
select="document('/home/eric/lookup.xml')/doc/topic[(_at_)about=$about]"/>
Problem is that when applying the templates in this call above, the
variable set
in the xml above is not seen.
Yes, Eric ... because the scope of a variable is only its following
siblings and their descendants. If you are setting any variable in the
template rule for <render2web/> then that variable's scope is only within
that template rule.
How do I implement this
You can pass a parameter during an apply-template instruction and pick up
the parameterized variable in the template rule that is triggered. You
don't show your variable-setting code, but I'm assuming something like the
following might help:
<xsl:template match="lookup">
<xsl:variable name="about" select="@about"/>
<xsl:apply-templates
select="document('/home/eric/lookup.xml')/doc/topic[(_at_)about=$about]">
<xsl:with-param name="webSignal" select="../render2web"/>
</xsl:apply-templates/>
</xsl:template>
<xsl:template match="topic">
<xsl:param name="webSignal"/>
<xsl:if test="$webSignal">
<!--do something here-->
I hope this helps.
........................ Ken
--
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide; please contact us for the details;
Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-09-22
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners: http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list