|
Subject: Re: [xsl] xsl:import and use-when From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 15 May 2014 22:40:48 -0000 |
The 2.0 spec says that in the dynamic context for evaluating use-when
expressions, the set of available documents is empty.
The 3.0 spec changes this to say it is implementation-defined.
Michael Kay
Saxonica
On 15 May 2014, at 21:21, Rushforth, Peter peter.rushforth@xxxxxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> I have been experimenting with xsl:import@use-when to override templates
imported by the main stylesheet module with
> an import@href value (partially) generated by a filtered maven variable.
Because the file so referenced may or may not exist, I've tried
> to apply the @use-when attribute as follows:
>
> <xsl:import href="feedOrEntry2json-default.xsl"/>
> <xsl:import href="feedOrEntry2json-api.xsl"
use-when="doc-available('feedOrEntry2json-api.xsl')"/>
>
> The string 'api' is generated by the filtered maven variable, and the file
does exist in the same directory as the importing stylesheet
> (when I execute the doc-available('feedOrEntry2json-api.xsl') call in the
xpath tester in oxygen, I get 'true' as a result).
>
> However, when I execute the stylesheet, the templates in the first import
are (incorrectly) not overridden.
> If I remove the @use-when, they are (correctly) overridden, but of course I
can't do that in general because sometimes the file won't
> exist and in that case I don't want the compilation to fail, hence the
@use-when.
>
> Any advice appreciated, with thanks.
>
> Peter Rushforth
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] xsl:import and use-when, Rushforth, Peter pet | Thread | Re: [xsl] xsl:import and use-when, Rushforth, Peter pet |
| [xsl] xsl:import and use-when, Rushforth, Peter pet | Date | Re: [xsl] xsl:import and use-when, Rushforth, Peter pet |
| Month |