Since the query processor has gotten stricter with the new update I have ran into a few things which don't work anymore. One of which produces this somewhat cryptic message:

ERROR cannot convert xs:boolean('true') to a node set

Which I know can be caused by a number of things, but in my case it was this code:

let $resolved-additional-atts := for $att-ref in $attUses[not(@default or @required="true")]
                    return $att-ref/@ref

Specifically: not(@default or @required="true")

It was very hard to find because the processor did not report the error on the correct line, instead it reported it several functions up in the execution stack. I had to walk through the xquery with log pushes to find the problem.

To fix it, I simply changed the statement to a different equivalent boolean logic: not(@default) and not(@required="true")

I'm sure there is a good reason for this, but the obscurity was pretty irritating. Hopefully I can help someone that finds themselves in a similar problem.


Casey Jordan
easyDITA a product of Jorsek LLC
"CaseyDJordan" on LinkedIn, Twitter & Facebook
(585) 348 7399

This message is intended only for the use of the Addressee(s) and may
contain information that is privileged, confidential, and/or exempt from
disclosure under applicable law.  If you are not the intended recipient,
please be advised that any disclosure  copying, distribution, or use of
the information contained herein is prohibited.  If you have received
this communication in error, please destroy all copies of the message,
whether in electronic or hard copy format, as well as attachments, and
immediately contact the sender by replying to this e-mail or by phone.
Thank you.