[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
At 2008-05-03 21:06 +0530, Mukul Gandhi wrote:
The above is a literal result element, and so has attached to it all ancestral namespace nodes that are not pruned through use of exclude-result-prefixes= ... just like any other literal result element.
Because you didn't prune it.
Just like you would have to in order to prune extension namespace nodes off of literal result elements.
There is nothing special about the schema namespace that implies pruning. The XSLT namespace is implicitly pruned, except (it seems), when a namespace alias for XSLT is being used.
Anyway, unused namespace declarations are innocuous in the result, so this is only an aesthetic issue.
I hope this helps.
. . . . . . . . . . . . Ken
Re: [xsl] Re: Output validation with XSLT 2.0
Subject: Re: [xsl] Re: Output validation with XSLT 2.0 From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sat, 03 May 2008 12:09:54 -0400 |
At 2008-05-03 21:06 +0530, Mukul Gandhi wrote:
If I modify the example (as given in my blog post) as follows (with rest of the things remaining same), which seems more logical to me:
<xsl:template match="/"> <xsl:variable name="temp1"> <x> <y /> </x> </xsl:variable> <xsl:variable name="temp2"> <p> <q /> </p> </xsl:variable> <result>
The above is a literal result element, and so has attached to it all ancestral namespace nodes that are not pruned through use of exclude-result-prefixes= ... just like any other literal result element.
<xsl:copy-of select="$temp1" validation="strict" /> <xsl:copy-of select="$temp2" validation="strict" /> </result> </xsl:template>
Now I specify validation="strict" on xsl:copy-of instruction.
The output produced is (with Saxon-SA 9):
<?xml version="1.0" encoding="UTF-8"?> <result xmlns:xs="http://www.w3.org/2001/XMLSchema"> <x> <y/> </x> <p> <q/> </p> </result>
Why does the processor generate the namespace declaration, xmlns:xs="http://www.w3.org/2001/XMLSchema" on the <result tag ?
Because you didn't prune it.
To avoid this I have to do, exclude-result-prefixes="xs" on the xsl:stylesheet element.
Just like you would have to in order to prune extension namespace nodes off of literal result elements.
There is nothing special about the schema namespace that implies pruning. The XSLT namespace is implicitly pruned, except (it seems), when a namespace alias for XSLT is being used.
Anyway, unused namespace declarations are innocuous in the result, so this is only an aesthetic issue.
I hope this helps.
. . . . . . . . . . . . Ken
On 5/3/08, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote:
> Hi all,
> I posted my thoughts about this topic on my blog
> (http://mukulgandhi.blogspot.com/2008/05/output-validation-with-xslt-20.html).
>
> I would like to hear the list member's opinion about this example, and
> to know the best practices to import schemas, use namespaces etc. for
> this particular scenario.
-- World-wide corporate, govt. & user group XML, XSL and UBL training RSS feeds: publicly-available developer resources and training G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: Output validation with XS, Mukul Gandhi | Thread | Re: [xsl] Re: Output validation wit, Mukul Gandhi |
[xsl] Re: Output validation with XS, Mukul Gandhi | Date | Re: [xsl] Re: Output validation wit, Mukul Gandhi |
Month |