Re: [xsl] Parameter of type xs:anyURI

Subject: Re: [xsl] Parameter of type xs:anyURI
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Tue, 24 Aug 2010 14:39:17 +0100
Passing of parameters to a processor is processor-specific, so you would be better asking this on the saxon-help list (go to the Saxon project on SourceForge).

I gather from subsequent answers that you are invoking Saxon from the command line.

Parameters passed from the command line are treated as untypedAtomic, so they are automatically converted to the required type. So supplying base-uri from the command line should be OK. However, the default value you have given is a string (not untypedAtomic or anyURI) and this will cause a failure. You should write select="xs:anyURI('http://www.google.com')"


Michael Kay Saxonica

On 24/08/2010 14:01, Martynas Jusevicius wrote:
Hey list,

I don't get how to define a parameter of type xs:anyURI. I try it like this:

<xsl:param name="base-uri" select="'http://www.google.com'" as="xs:anyURI"/>

But Saxon 9 gives me an error:
"Error at xsl:param on ...:
XTTE0600: Required item type of value of parameter $base-uri is
xs:anyURI; supplied value has item type xs:string"

Do I always have to cast a string value with xs:anyURI()?
What if I pass the value from Java, do I need 2 parameters then -- one
for the string value, and the other one casted as xs:anyURI?

Thanks,

Martynas
semantic-web.dk

Current Thread