This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: apply-imports


>  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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]