Neither the XSD nor the XPath regex syntax permits \x. If Xerces accepts it, then it's a non-conformant extension. You'll probably find it works in Saxon if you use the "j" flag, which is also a non-conformant extension - it switches from using the XSD regex syntax to the Java regex syntax.
The conformant way to write this in XSD is ` ` (but don't use this with the -x flag)
Thanks, for the explanation. That's helpful.
I can also see that, both Xerces and Saxon accept <xs:assert test="matches(a, 'hello[ ]+world')"/> (wrt the example, that I've posted within this thread) as fine. Its just that, Xerces doesn't reject the notation \x{...} for unicode code point value.