That's an XSLT 2.0 transformation, I see. Does your Oracle XML Parser product support XSLT 2.0? If not, then there's your problem. If it does, then I suggest using "fn:empty" instead of "empty". You do have the namespace for XPath functions declared with the "fn" prefix, so perhaps it's mandatory to use that prefix.