}
public XPathFunction resolveFunction(QName functionName, int arity) {
__log.debug("JAXP compiler: Resolving function " + functionName);
if (functionName.getNamespaceURI() == null) {
throw new WrappedResolverException("Undeclared namespace for " + functionName);
} else if (functionName.getNamespaceURI().equals(_bpelNS)) {
String localName = functionName.getLocalPart();
if (Constants.EXT_FUNCTION_GETVARIABLEDATA.equals(localName)) {
return new GetVariableData();
}
if (Constants.EXT_FUNCTION_GETVARIABLEPROPERTY.equals(localName)) {
return new GetVariableProperty();
}
if (Constants.EXT_FUNCTION_GETLINKSTATUS.equals(localName)) {
return new GetLinkStatus();
}
if (Constants.EXT_FUNCTION_DOXSLTRANSFORM.equals(localName)) {
return new DoXslTransform();
}
throw new WrappedResolverException(__msgs.errUnknownBpelFunction(localName));
}
return null;
}