如何解决有没有一种方法可以使用saxon从文本列表中调用xQuery函数?
我有以下XML
<?xml version="1.0" encoding="UTF-8"?>
<SpecializedActions>
<SpecializedAction>
<Name>ActivateAAA_Account</Name>
<Function>holaaalib:activate($csmHeader,$component,$taskName,$osmOrderId)</Function>
</SpecializedAction>
<SpecializedAction>
<Name>ActivateIMSAccount</Name>
<Function>imsLib:activate($csmHeader,$osmOrderId)</Function>
</SpecializedAction>
</SpecializedActions>
我试图像这样在我的通用xQuery中调用函数
if (fn:exists($specializedAList/SpecializedAction[Name/text() = $specializedActionName])) then
$specializedAList/SpecializedAction[Name/text() = $specializedActionName]/Function/text()
但是它将返回文本'imsLib:activate($ csmHeader,$ component,$ taskName,$ osmOrderId)'。是否有将其转换为xQuery表达式的方法?
解决方法
XSLT 3.0具有指令xsl:evaluate
,可用于评估从源文档读取的XPath表达式(或在运行时以其他某种方式创建)。 XQuery中没有标准的等效项(尽管原则上您可以使用fn:transform()
来实现,它可以动态调用XSLT转换。
Saxon-PE和更高版本具有扩展名saxon:evaluate()
,其功能大致相同,可以从XQuery调用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。