Re: [xsl] Comparing possibly empty string sequences

Subject: Re: [xsl] Comparing possibly empty string sequences
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Tue, 23 Mar 2010 15:54:06 +0100
Martynas Jusevicius wrote:
Hey list,

a question somewhat related to my previous one.
Say I have $classes, a sequence of classnames (strings), possibly empty.

Now I want to select elements which @class attribute contains any of
the classnames from $class:
h:*[@class/tokenize(., '\s+') = $break-classes)]

In other words, select elements where tokenized @class intersects with $class.

It works fine unless $classes is an empty sequence, in which case I
get an error:
"XTTE0570: An empty sequence is not allowed as the value of variable $classes"

I think zou get that error message when you use <xsl:variable name="classes" as="xsd:string+" select="..."/> and the select expression evaluates to an empty sequence. You could use as="xsd:string*" instead to allow for an empty sequence.





--

	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/

Current Thread