RE: XSLT 2.0 processor signalling error, for type erro
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 126.96.36.199J (the, basic version), > >  > <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, > >  > <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 (), though the variable contents do not > conform to the type declaration, no error is signalled. > > While in second case (), 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format