Subject: RE: apply-imports
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Mon, 19 Feb 2001 21:51:38 -0000
|
> I have a problem with 'apply-imports' in Cocoon. I don't know why I
> always get the templates of the importing one applied in the example
> below. Any suggestion?
Your xsl:apply-imports call will look for a template that matches the
current node (i.e. the root node) that has lower import precedence than the
current template; and there isn't one. xsl:apply-imports always processes
the current node, not its children.
The spec doesn't say explicitly what happens when you use
<xsl:apply-imports/> and there is no template rule of lower import
precedence that matches the current node. I thought this was fixed in the
errata but it appears not. The consensus, if I recall correctly, was that it
should invoke the built-in template rule. If that's happening here, the
built-in rule for the root would process the children of the root, using the
highest-precedence rule available.
Mike Kay
>
> Having this XML:
>
> ------------ ex.xml --------------
> <?xml version="1.0"?>
> <?xml-stylesheet type="text/xsl" href="ex.xsl"?>
> <?cocoon-process type="xslt"?>
>
> <book>
> ............
> </book>
> -----------------------------------
>
>
> ... and these XSL's:
>
> ------ ex.xsl ---------------
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:import href="ex.print.xsl" />
> <xsl:param name="print">0</xsl:param>
>
> <xsl:template match="/">
> <xsl:choose>
> <xsl:when test="$print='1'">
> <xsl:apply-imports />
> </xsl:when>
> <xsl:otherwise>
> <xsl:apply-templates/>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
> <xsl:template match="book">
> <html>
> ...........
> </html>
> </xsl:template>
>
> </xsl:stylesheet>
> ----------------------------------
>
> --------- ex.print.xsl ------------
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:template match="book">
> ...........
> </xsl:template>
>
> </xsl:stylesheet>
> ----------------------------------
>
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- apply-imports
- Ruben Inoto - Mon, 19 Feb 2001 05:21:58 -0500 (EST)
- Michael Kay - Mon, 19 Feb 2001 17:39:04 -0500 (EST) <=
|
|