<xsl:template name="SampleState">
<Param xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.sample.con/ca/sse/sample-v3_0_0"
xsi:schemaLocation="http://www.sample.con/ca/sse/sample-v3_0_0">
<name>
<xsl:value-of
select="concat('sample-',normalize-space(/*/*/*[local-name()='state']/message/id))" />
</name>
<value>
<xsl:value-of
select="normalize-space(/*/*/*[local-name()='state']/message/value)" />
</value>
</Param>
</xsl:template>
<xsl:template match="/">
<xsl:variable name="request">
<xsl:call-template name="SampleState"></xsl:call-template>
</xsl:variable>
<xsl:value-of select="mdfn:md5Hex($request)"/>
</xsl:template>
名称和值的值取自soap request.I想要将带有值的整个标记传递给任何函数。当我尝试使用xsl:value-of with output-escaping =“yes”时,它只给出值但是我需要所有标签。
答案 0 :(得分:0)
下面是一个简短的例子来复制所有元素,但不是de&#34; p&#34;,这就变成了&#34; para&#34;:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="p">
<para>
<xsl:apply-templates select="@*|node()"/>
</para>
</xsl:template>