|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XSLT2: A sequence of more than one item is not al
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








