|
Subject: Re: [xsl] :apply-templates in another document From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Mon, 19 May 2003 10:06:08 +0100 |
Hi Stefan,
> I need to apply-templates on a second .xml file referenced by a first .xml
> where which references a .xsl sheet.
>
> I try following:
> ...
> <xsl:apply-templates
> select="document(@tag)/tag/description/@*|node()">
> <xsl:with-param name="level" select="$level"/>
> </xsl:apply-templates>
The trouble is that the XPath you're using to select the content of
the document is parsed as:
(document(@tag)/tag/description/@*) | node()
In other words, you apply templates to the attributes of the
<description> element in the second .xml file, and the node() children
of the context node in the first .xml file.
The easiest thing would be to change the select attribute to:
document(@tag)/tag/description
and add a template that matched the <description> element and applied
templates to its attributes and children:
<xsl:template match="description">
<xsl:param name="level" />
<xsl:apply-templates select="@* | node()">
<xsl:with-param name="level" select="$level" />
</xsl:apply-templates>
</xsl:template>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] :apply-templates in another d, Stefan Geelen | Thread | [xsl] sum within template, shadab |
| Re: [xsl] extensions and XSLT 2.0, Frédéric Laurent | Date | Re: [xsl] extensions and XSLT 2.0, Frédéric Laurent |
| Month |