|
Subject: Re: [xsl] Prevent compilation error for xsl:namespace in XSLT 1.0 From: Florent Georges <darkman_spam@xxxxxxxx> Date: Mon, 15 Jan 2007 10:20:37 +0100 (CET) |
Colin Adams wrote:
Hi
> >From: Florent Georges
> > Yes, I think the external module is the best solution.
> > And to prevent compilation error with processors don't
> >supporting the namespace axis, I think a use-when with
> >element-available('xsl:namespace') will be enough (because
> >this can only arise with XSLT 2.0 processors)?
> Support for the namespace axis is another matter. Xsl:namespace
> will be available for all XSLT 2.0 processors.
Yes, I wasn't clear enough. The first xsl:when will use
xsl:namespace if available. In the other xsl:when, there will be for
example the following well-known trick:
<xsl:when test="function-available('exsl:node-set')">
<xsl:variable name="ns-dummy-elements">
<xsl:element name="{ @prefix }:e" namespace="{ @uri }"/>
</xsl:variable>
<xsl:copy-of select="exsl:node-set($ns-dummy-elements)
/ */namespace::*"/>
</xsl:when>
I think in this case, the only way to prevent compilation error on
XSLT 2.0 processors that don't support the namespace axis is to use
@use-when. Hhere, use-when="false()" does the job, because only the
XSLT 2.0 processors will use this attribute, and all will provide
xsl:namespace, used in the first xsl:when.
Regards,
--drkm
___________________________________________________________________________
Dicouvrez une nouvelle fagon d'obtenir des riponses ` toutes vos questions !
Profitez des connaissances, des opinions et des expiriences des internautes sur Yahoo! Questions/Riponses
http://fr.answers.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Prevent compilation error, Colin Adams | Thread | RE: [xsl] Prevent compilation error, Michael Kay |
| Re: [xsl] Prevent compilation error, Colin Adams | Date | RE: [xsl] XML Elements to XML Attri, Michael Kay |
| Month |