Execute the function. The function must return
a valid object.
String prefix;
String namespace;
String methName;
String fullName = m_arg0.execute(xctxt).str();
int indexOfNSSep = fullName.indexOf(':");
if (indexOfNSSep < 0)
{
prefix = "";
namespace = Constants.S_XSLNAMESPACEURL;
methName = fullName;
}
else
{
prefix = fullName.substring(0, indexOfNSSep);
namespace = xctxt.getNamespaceContext().getNamespaceForPrefix(prefix);
if (null == namespace)
return XBoolean.S_FALSE;
methName= fullName.substring(indexOfNSSep + 1);
}
if (namespace.equals(Constants.S_XSLNAMESPACEURL)
|| namespace.equals(Constants.S_BUILTIN_EXTENSIONS_URL))
{
// <<<<<<< TIGER SPECIFIC CHANGE >>>>>>>>>
// As we are not supporting Xalan interpretive we are taking away the functionality
// dependent on XSLT interpretive Transformer. Only way supported is to use XSLTC
// and the execution path needed for supporting standard XPath API defined by
// JAXP 1.3 . This method is overridden in XPath implementation to support
// standard XPath functionality with xpath package of Xalan
return XBoolean.S_FALSE;
}
else
{
//dml
ExtensionsProvider extProvider = (ExtensionsProvider)xctxt.getOwnerObject();
return extProvider.elementAvailable(namespace, methName)
? XBoolean.S_TRUE : XBoolean.S_FALSE;
}