Compile::cpbool
An error occurs because one of the arguments in Xor will not evaluate to True or False:
Compile[{x, y}, If[Xor[x > 0, y], x, y]]Compilation proceeds without error if all of the arguments in Xor are of the type True|False:
Compile[{x, y}, If[Xor[x > 0, y < 0], x, y]]