Subject: Re: [xsl] XSLT2: A sequence of more than one item is not allowed as the first argument of contains() From: Xiaocun Xu <xiaocunxu@xxxxxxxxx> Date: Sun, 25 Sep 2005 17:04:13 -0700 (PDT) |
Ah, thanks for the explanation, that worked. Much appreciated, Xiaocun --- Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx> wrote: > >>>>> "Xiaocun" == Xiaocun Xu <xiaocunxu@xxxxxxxxx> > writes: > > Xiaocun> Hi, I am having problem with contains() > in XSLT2 > Xiaocun> (Saxon8.5.1). The following code is > checking if the > Xiaocun> classname contains the word > "notification": > > Xiaocun> <xsl:variable name="vKeyword" > select="notification"/> > Xiaocun> <xsl:variable name="vClassName" > Xiaocun> select="Class/@classname"/> <xsl:if > Xiaocun> test="contains($vClassName, > $vKeyword)"> <xsl:copy-of > Xiaocun> select="."/> </xsl:if> > > Xiaocun> XSLT2 using Saxon8.5.1 returns the > following error: > Xiaocun> XPTY0004: A sequence of more than one > item is not allowed > Xiaocun> as the first argument of contains() > > Xiaocun> Using XSLT 1, Saxon8.5.1 returns no > error. > > That's because in XPath 1.0 compatibility mode, only > the first item in > the sequence will be considered. > > Xiaocun> What does that error mean? > > The error means that the expression Class/@classname > contains more > than one item. This would be the case if the context > node has multiple > Class children. > > Xiaocun> How do I check if an > Xiaocun> attribute contains a keyword in XSLT2? > > Well, you could just change: > > <xsl:variable name="vClassName" > select="Class/@classname"/> > > to > > <xsl:variable name="vClassName" > select="Class[1]/@classname"/> > > and you will then get the same behaviour as XSLT > 1.0. > > But I suspect this isn't what you really want. > Perhaps you want to > check every item in Class/@classname, in which case > you might want an > xsl:for-each loop over select="Class" and call > contains(@classname, $vKeyword) > from within the loop. > -- > Colin Adams > Preston Lancashire > > __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT2: A sequence of more, Colin Paul Adams | Thread | RE: [xsl] XSLT2: A sequence of more, Michael Kay |
[xsl] Recursion (I think), Nicholas Orr | Date | Re: [xsl] Recursion (I think), Nicholas Orr |
Month |