I was trying to use date:parse-date
function from EXSLT inside 3 parameter lookup like this:
AS:LookupValue('842f2dee-da09-4259-8d76-1acf332fe257', 'parameter1', /ROOT/DataId, 'parameter2', /ROOT/OtherId, 'parameter3', date:parse-date(/ROOT/datetime, 'yyyyMMddHHmmss'))
I was expecting It will work in Xpath update context task as it works in xslt transformation.
Instead I’ve got an error:
Origam.OrigamException: Extension function not found: parse-date
---> System.Xml.XPath.XPathException: Extension function not found: parse-date
at Mvp.Xml.Exslt.ExsltContext.GetExtensionFunctionImplementation(Object obj, String name, XPathResultType[] argTypes)
at Mvp.Xml.Exslt.ExsltContext.ResolveFunction(String prefix, String name, XPathResultType[] argTypes)
at Origam.Rule.Xslt.OrigamXsltContext.ResolveFunction(String prefix, String name, XPathResultType[] ArgTypes) in D:\a\1\s\backend\Origam.Rule\Xslt\OrigamXsltContext.cs:line 104
at MS.Internal.Xml.XPath.FunctionQuery.SetXsltContext(XsltContext context)
at MS.Internal.Xml.XPath.FunctionQuery.SetXsltContext(XsltContext context)
at MS.Internal.Xml.XPath.StringFunctions.SetXsltContext(XsltContext context)
at MS.Internal.Xml.XPath.CompiledXpathExpr.SetContext(IXmlNamespaceResolver nsResolver)
at MS.Internal.Xml.XPath.CompiledXpathExpr.SetContext(XmlNamespaceManager nsManager)
at Origam.Rule.RuleEngine.EvaluateContext(String xpath, Object context, OrigamDataType dataType, AbstractDataStructure targetStructure) in D:\a\1\s\backend\Origam.Rule\RuleEngine.cs:line 436
at Origam.Workflow.Tasks.UpdateContextEngineTask.OnExecute() in D:\a\1\s\backend\Origam.Workflow\Tasks\UpdateContextEngineTask.cs:line 45
at Origam.Workflow.ProfilingTools.<>c__DisplayClass4_0.<ExecuteAndLogDuration>g__FuncToExecute|0() in D:\a\1\s\backend\Origam.Workflow\ProfilingTools.cs:line 63
at Origam.Workflow.ProfilingTools.ExecuteAndLogDuration(Func`1 funcToExecute, String logEntryType, String path, String id, Func`1 logOnlyIf) in D:\a\1\s\backend\Origam.Workflow\ProfilingTools.cs:line 97
at Origam.Workflow.ProfilingTools.ExecuteAndLogDuration(Action action, String logEntryType, String path, String id, Func`1 logOnlyIf) in D:\a\1\s\backend\Origam.Workflow\ProfilingTools.cs:line 66
at Origam.Workflow.Tasks.AbstractWorkflowEngineTask.MeasuredExecution() in D:\a\1\s\backend\Origam.Workflow\Tasks\AbstractWorkflowEngineTask.cs:line 99
at Origam.Workflow.Tasks.AbstractWorkflowEngineTask.Execute() in D:\a\1\s\backend\Origam.Workflow\Tasks\AbstractWorkflowEngineTask.cs:line 110
--- End of inner exception stack trace ---
When I replace the date:date-parse
function with different EXSLT function like date:date-time()
, the lookup works well. Are all the EXSLT namespaces implemented as it was discussed here ?