XSLT将参数作为XML文档传递给样式表

问题描述

我想知道是否可以将参数(而不是字符串)作为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()来解析它,但是效果不佳。我还注意到,电子表格参数中的<&lt;替换了,所以我决定使用<xsl:variable name="parameterXml" select="replace($parameter,'&lt;','<')"/>来替换它,但是没有成功。我知道我可以合并感兴趣的有效负载,创建潜在的巨大文档,然后使用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>

firstParametersecondParameter是xml节点。 someValue只是纯字符串。

编辑: 处理器为: Saxonica 版本 2.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)