XSLT在anypoint studio中运行但未在CloudHub中运行

时间:2015-02-13 14:32:12

标签: xml xslt mule mule-studio cloudhub

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

<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>

3 个答案:

答案 0 :(得分:1)

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

我的猜测是你可能正在测试localy对3.5然后在cloudhub中运行3.6。请尝试将您的cloudhub配置设置为使用3.5。

答案 1 :(得分:1)

需要单独的许可证才能使用这些功能。我认为您使用的是Saxon.Eet Enterprise Edition of Saxon的HE

答案 2 :(得分:0)

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

所以在通过xslt变换器引用xsl文件后,修改考虑资源文件夹为root的路径。