xsl-list
[Top] [All Lists]

Re: [xsl] Comparing possibly empty string sequences

2010-03-23 09:52:55
At 2010-03-23 15:47 +0100, Martynas Jusevicius wrote:
a question somewhat related to my previous one.
Say I have $classes, a sequence of classnames (strings), possibly empty.

Fine ... cardinality 0 to many.

Now I want to select elements which @class attribute contains any of
the classnames from $class:
h:*[(_at_)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"

That is a declaration problem, not an executon problem. You don't show your declaration for $classes, but I'm assuming the declaration does not accommodate a cardinality of zero.

If it is:

  <xsl:variable name="classes" select="xsd:string+"...

... then change it to:

  <xsl:variable name="classes" select="xsd:string*"...

I hope this helps.

. . . . . . . . . Ken

--
XSLT/XQuery training:         San Carlos, California 2010-04-26/30
Principles of XSLT for XQuery Writers: San Francisco,CA 2010-05-03
XSLT/XQuery training:                 Ottawa, Canada 2010-05-10/14
XSLT/XQuery/UBL/Code List training: Trondheim,Norway 2010-06-02/11
Vote for your XML training:   http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>