This is really a question about how IBM's DFDL works, but I have to introduce the topic:
XPath 2.0 says that implementations have freedom about whether these expressions cause errors or not:
true() or error() = true() Let's call this the sequential semantics
true() or error() = error Let's call this the parallel semantics
error() or true() = true Let's call this the bizarre semantics
There are analogous cases for 'and' with false()