[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] casting string as integer or double


Subject: RE: [xsl] casting string as integer or double
From: Mario Madunic <hajduk@xxxxxxxx>
Date: Mon, 30 Apr 2007 17:24:51 -0700

I outputted the value of the @ and variable to another variable and in both
cases it contains a value. Then when I do the same but also add the called
template to the sequence and cast the variable or @ as xs:integer the process
fails and outputs the error message. I've now added a test if the @cols exists
and it runs in the first instance but not in the second. But after David
suggested using xs:integer(@cols) everything worked fine. Is there something you
were looking for in particular?

MM

Quoting Michael Kay <mike@xxxxxxxxxxxx>:

> > I'm using Saxon 8, and get the following error msg:
> > Fatal Error! An empty sequence is not allowed as the value in 
> > 'cast as' expression
> > 
> > I know that the value is not empty but a whole number.
> 
> Note that the two expressions
> 
> (a) $x cast as xs:integer
>        
> (b) xs:integer($x)
> 
> are almost synonyms, except that if $x is an empty sequence, (a) will fail
> with the error message you reported, while (b) will succeed, returning an
> empty sequence.
> 
> If the Saxon message says that the value is an empty sequence and you think
> it isn't, then you'll need to provide some evidence for your belief.
> 
> Michael Kay
> http://www.saxonica.com/


Current Thread