<results warning="more than one root item">Nothing dog cat foo bar
cat</results>

as it says, it's not an actual error, but an indication that you're
apparently using the query console's XML output option to return non-XML.
As it's returning more than one item and none of them an XML element, the
query console wraps it in a root element to make it well-formed.

It seems that the query console has gotten cleverer with ML7 because it's
now offering only Auto and Raw as output options and I couldn't bring it to
generate the equivalent output.

so, just to say this is nothing to worry about.


cheers,
Jakob.


On Wed, Jan 29, 2014 at 8:17 PM, Hayden, William T <
[email protected]> wrote:

> Thanks Mary.  Like I said I have tried many options.  The equality match
> options yields the following errored results without an actual error:
> <results warning="more than one root item">Nothing dog cat foo bar
> cat</results>
>
> I haven't tried running a loop until now and this is what I'm getting"
>
> xquery version "1.0-ml";
> declare namespace html = "http://www.w3.org/1999/xhtml";;
> declare variable $file-types := ("dog","cat","foo","bar");
>
> let $file-type := ("cat")
>
>  (:
>     return if (fn:matches($file-types, $file-type)) then
>             else
>             (
>
>             )
>
>   :)
> let $nothing :=
>     fn:empty(
>     for $f in $file-types return
>        if (fn:matches($f, $file-type)) then "ok" else ())
> +++++++++++++++++++++++++++
> Results
> +++++++++++++++++++++++++++
> [1.0-ml] XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error,
> unexpected $end
>
> Stack Trace
> At line 18 column 57:
>
> 16. fn:empty(
> 17. for $f in $file-types return
> 18. if (fn:matches($f, $file-type)) then "ok" else ())
> 19.
>
> I know it is something simple, this is one of those cases where for some
> reason, I just don't see it!
>
> Thanks
> bill
>
> -----Original Message-----
> From: Mary Holstege [mailto:[email protected]]
> Sent: Wednesday, January 29, 2014 12:56 PM
> To: [email protected]; Hayden, William T
> Subject: Re: [MarkLogic Dev General] error message (err:XPTY0004) arg1 is
> not of type xs:string?
>
> On Wed, 29 Jan 2014 09:48:03 -0800, Hayden, William T <
> [email protected]> wrote:
>
> > Perhaps one of you can see the error of my ways.  I have tried so many
> > options with no success.  I am using ML5.  Here is the latest
> > simplified version  followed by the failing results.
> >
> > Thanks in advance!
> >
> > xquery version "1.0-ml";
> > declare namespace html = "http://www.w3.org/1999/xhtml";; declare
> > variable $file-types := ("dog","cat","foo","bar");
> >
> > let $file-type := ("cat")
> >
> >
> >     return if (fn:matches($file-types, $file-type)) then
> >                    ("Nothing", $file-types, $file-type)
> >         else
> >         (
> >
> >         )
> > +++++++++++++++++++++++++++
> > Results
> > +++++++++++++++++++++++++++
> > [1.0-ml] XDMP-ARGTYPE: (err:XPTY0004) fn:matches(("dog", "cat", "foo",
> > ...), "cat") -- arg1 is not of type xs:string?
> > Stack Trace
> > At line 8 column 15:
> >
> > $file-type := "cat"
> >
> > 6.
> > 7.
> > 8. return if (fn:matches($file-types, $file-type)) then 9. ("Nothing",
> > $file-types, $file-type) 10. else
> >
>
> fn:matches wants there to be a single value a the
> first argument: it is a regular expression match of
> one value against one regular expression.
>
> If you are just doing an equality match you can
> use the "=" operator (which will operate over
> sequences and return true if any member is
> equal:
>
> $file-type = $file-types
>
> If you really mean fn:match, then you need
> to run the loop yourself:
>
> let $nothing :=
>     fn:empty(
>     for $f in $file-types return
>        if (fn:matches($f, $file-type)) then "ok" else ())
>
> If there is any match the sequence given to fn:empty
> will be non-empty so $nothing is false.
>
> //Mary
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to