Anupam,
At 02:55 PM 11/4/2005, you wrote:
<xsl:template match="ref[(_at_)name]">
<xsl:variable name="x">
<xsl:copy-of select="//define[(_at_)name=current()/@name]/*"/>
</xsl:variable>
<xsl:apply-templates select="$x"/>
</xsl:template>
When you say this you are asking the processor to build a temporary
tree containing copies of the 'define' elements you want, and then
traverse them matching with templates.
But the temporary tree you have created does not include any 'define'
elements for references that appear inside it (unless there happen to
be circular references, in which case you're in trouble anyway).
Accordingly, the processor does not find those nodes to process and
does not process them.
Solve your problem by creating a copy and processing it, but by
continuing to apply templates to nodes in the original tree:
<xsl:template match="ref[(_at_)name]">
<xsl:apply-templates select="//define[(_at_)name=current()/@name]/*"/>
</xsl:template>
And watch out for those endless loops!
Good luck,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--~------------------------------------------------------------------
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>
--~--