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.
easyDITA a product of Jorsek LLC
"CaseyDJordan" on LinkedIn, Twitter & Facebook
(585) 348 7399easydita.com
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.