xsl-list
[Top] [All Lists]

Re: [xsl] Comparing possibly empty string sequences

2010-03-23 10:14:07
Thanks Ken & Martin! I'm still digging into XPath & XSLT 2.0 :)

On Tue, Mar 23, 2010 at 3:57 PM, G. Ken Holman
<gkholman(_at_)cranesoftwrights(_dot_)com> wrote:
Ouch!  Of course I should have written:

 as="xsd:string*"

and not select= as I was thinking about the constraints but typing out of
habit.  Too distracted today.

. . . . . . . . . . Ken

At 2010-03-23 15:51 +0100, G. Ken Holman wrote:

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>
--~--



--~------------------------------------------------------------------
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>