[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Re: Output validation with XSLT 2.0

Subject: Re: Re: Output validation with XSLT 2.0
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 03 May 2008 12:09:54 -0400
Re:  Re: Output validation with XSLT 2.0
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.