问题描述
我有一个要求,我必须从请求有效载荷中删除肥皂信封,并将父标记的命名空间从命名空间"random.com/system/i/Modify/1.0"
更改为"http://random.com/G/Modify"
,将请求标头从命名空间"http://random.com/2/MsgHeader/"
更改为{ {1}}并向"http://random.com/3/MsgHeader/"
请求正文命名空间"http://random.com/2/MsgBody/"
我不确定"http://random.com/3/MsgBody/"
为什么不能正确更改命名空间
转换文件:
xsl:namespace-alias
解决方法
您在这里问了同样的问题:https://saxonica.plan.io/issues/4817
这是我的答案:
如果您阅读了xsl:namespace-alias的规范,您将看到它仅影响文字结果元素。 如果要复制更改名称空间的元素,请使用模板规则,例如
<xsl:template match=xyz:"*">
<xsl:element name="{local-name()}" namespace="http://new-namespace/">
<xsl:apply-templates select="@*,node()"/>
</xsl:element>
</xsl:template>
请不要在几个不同的论坛上问相同的问题,以免给人们带来额外的负担。