It's because @class in xhtml is NMTOKENS, tokenized by whitespace. So
atomization yields (xs:NMTOKEN('mainPane', xs:NMTOKEN('clearfix')) rather than
xs:string('mainPane clearfix').
xdmp:describe(
<div xmlns="http://www.w3.org/1999/xhtml">{
attribute class { 'foo bar' } }</div>/@class/data(.))
=>
(xs:NMTOKEN("foo"), xs:NMTOKEN("bar"))
-- Mike
On 27 Feb 2013, at 13:07 , Jakob Fix <[email protected]> wrote:
> Hi,
>
> I am probably daft here, but I'm getting an error for the following
> expression which I'm trying to apply to your typical Bootstrap-based HTML
> page:
>
> //div[contains(@class, "facet")]
>
> The error I'm getting is the following:
>
> [1.0-ml] XDMP-ARGTYPE: (err:XPTY0004) fn:contains(attribute{fn:QName("",
> "class")}{"mainPane clearfix"}, "facet") -- arg1 is not of type xs:string?
>
> This expression works elsewhere, but MarkLogic returns this error. I'm
> stumped ... Oh, I've upgraded to 6.0-2.3. Thanks as ever!
>
> cheers,
> Jakob.
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general