Re: [xsl] XSL: using document()

Subject: Re: [xsl] XSL: using document()
From: Tony Graham <tkg@xxxxxxxxxxxx>
Date: Wed, 24 Jan 2001 19:32:36 -0400 (EST)
At 24 Jan 2001 13:13 -0800, george.fink@xxxxxxx wrote:
 >   <xsl:apply-templates select="document($file)" mode="translate">
 >     <xsl:with-param name="param1" select="$value"/>
 >   </xsl:apply-templates>

This selects the root node of the referenced document, which, as well
as being the root of the document tree, is a "root" node.

 > <xsl:template match="*" mode="translate">
 >   <xsl:param name="param1"/>
 >   ...
 > </xsl:template>

This matches any "element" node.

There is a disconnect between your xsl:apply-templates and your
xsl:template.  The nodes selected by one are not processed using the
other.  You want either to select the document element of the
referenced document using:

  <xsl:apply-templates select="document($file)/*" mode="translate">

or to match on the root node:

  <xsl:template match="/" mode="translate">

(but not both, or you'll be back in the same predicament).


Tony Graham.

 XSL-List info and archive:

Current Thread