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

RE: XSLT 2.0 processor signalling error, for type erro

Subject: RE: XSLT 2.0 processor signalling error, for type errors
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 8 Oct 2008 12:05:37 +0100
RE:  XSLT 2.0 processor signalling error
What is happening here is that Saxon is detecting the type error dynamically
(at execution time) rather than statically (at compile time), which means it
doesn't get detected if the variable is never used (variables that are never
used are never evaluated).

This is entirely conformant behaviour - run-time errors aren't reported if
the code doesn't get evaluated, and it's up to the processor to decide
whether or not it needs to evaluate the code in order to produce a result.

It looks as if there's room for some extra static type checking here,
however. Again, that's at the discretion of the processor.

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] 
> Sent: 08 October 2008 11:45
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  XSLT 2.0 processor signalling error, for type errors
> 
> Hi all,
>   I tried following code with Saxon 9.1.0.2J (the, basic version),
> 
> [1]
> <xsl:template match="/">
>   <xsl:variable name="temp" as="element()?">
>     123
>   </xsl:variable>
> </xsl:template>
> 
> And Saxon doesn't show any error.
> 
> But when I write the code as following,
> 
> [2]
> <xsl:template match="/">
>   <xsl:variable name="temp" as="element()?">
>     123
>   </xsl:variable>
>   <xsl:copy-of select="$temp" />
> </xsl:template>
> 
> Saxon displays following error,
> 
> XTTE0570: Required item type of value of variable $temp is 
> element(); supplied value has item type text()
> 
> In the first case ([1]), though the variable contents do not 
> conform to the type declaration, no error is signalled.
> 
> While in second case ([2]), the error is signalled, as the 
> variable is copied to the result tree.
> 
> Why is the error not signalled in 1st case? Does the XSLT 2.0 
> spec says anything about this issue? Or is this behavior 
> Saxon specific (perhaps, is some kind of optimization)?
> 
> 
> --
> Regards,
> Mukul Gandhi

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.