问题描述
我想知道是否可以将参数(而不是字符串)作为XML节点传递给XSLT介体/电子表格。将其作为字符串传递使我无法使用XPath浏览节点。我在Wso2 Integration Studio中使用XSLT介体。我已经尝试过以不同的方式保存参数,<property expression="$body/*" name="parameter" scope="default" type="STRING"/>
和<property expression="$body/*" name="parameter" scope="default" type="OM"/>
无法解决。我试图用saxon:parse()
来解析它,但是效果不佳。我还注意到,电子表格参数中的<
被<
替换了,所以我决定使用<xsl:variable name="parameterXml" select="replace($parameter,'<','<')"/>
来替换它,但是没有成功。我知道我可以合并感兴趣的有效负载,创建潜在的巨大文档,然后使用xslt获取所需的数据,但是我想避免该解决方案。
我认为这个问题通常与xslt有关,但到目前为止,我自己找不到答案或解决方法。
电子表格如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="XsltTransformer" xmlns="http://ws.apache.org/ns/synapse">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="firstParameter"/>
<xsl:param name="secondParameter"/>
<xsl:param name="someValue"/>
<xsl:template match="/">
<someWrapper>
<xsl:call-template name="firstTemplate">
<xsl:with-param name="firstParameter" select="$firstTemplate/*[name()='someChilds']"/>
</xsl:call-template>
<xsl:call-template name="secondTemplate">
<xsl:with-param name="firstParameter" select="$firstTemplate/*[name()='someChilds']"/>
<xsl:with-param name="secondParameter" select="$secondParameter"/>
<xsl:with-param name="someValue" select="$someValue"/>
</xsl:call-template>
</someWrapper>
</xsl:template>
<!-- Other templates -->
</xsl:stylesheet>
</localEntry>
firstParameter
和secondParameter
是xml节点。 someValue
只是纯字符串。
编辑: 处理器为: Saxonica 版本 2.0
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)