XSLT 运行 在 Anypoint Studio 中,但在 CloudHub 中不是 运行

XSLT running in anypoint studio but not running in CloudHub

您好,我正在使用 xslt 转换器并使用 xsl 文件,我正在使用函数 ex:date-time() 它在 Anypoint studio 中 运行ning 但是当我尝试 运行 在cloudHub 抛出错误
找不到名为 {http://exslt.org/dates-and-times}date-time() 的匹配 0 参数函数。没有本地名称 date-time (net.sf.saxon.trans.XPathException)

的 Saxon 扩展函数

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"
 exclude-result-prefixes="xs ">
 <xsl:output method="xml" encoding="UTF-8" indent="yes" />
 <xsl:template match="/">
  <xsl:variable name="var1" select="." />
  <_ord:testOrder 
   xmlns:ex="http://exslt.org/dates-and-times" extension-element-prefixes="ex"
  
   <xsl:attribute name="xsi:schemaLocation"
    namespace="http://www.w3.org/2001/XMLSchema-instance">
    <xsl:value-of select="test" />
   </xsl:attribute>
   <_wcf:ApplicationArea>
   <_oa:CreationDateTime><xsl:value-of select="ex:date-time()"/></_oa:CreationDateTime>
   
   </_wcf:ApplicationArea>
   
          </_ord:testOrder>
   
   </xsl:template>
</xsl:stylesheet>

CloudHub 倾向于使用最新最好的 Mule 版本。在 3.6 中,huge overhaul 个 XML 依赖项已经完成。

我的猜测是,您可能在本地针对 3.5 进行测试,然后 运行 在 cloudhub 中针对 3.6 进行测试。请尝试将您的 cloudhub 配置设置为使用 3.5。

当通过 xslt 转换器引用 xsl 文件时,它采用 xsl 文件的完整路径, 所以我怀疑路径没有被修改,所以在将项目部署到它正在执行的 cloudhub 时。

因此在通过 xslt 转换器引用 xsl 文件后修改路径,将资源文件夹视为根目录。

需要单独的许可证才能使用这些 functions.I 认为您使用的是 Saxon.Get Saxon 企业版的 HE