在父元素下复制元素时删除 xmlns 属性。并根据条件执行一些xslt语句

问题描述 投票:0回答:1
xml xslt xslt-1.0
1个回答
0
投票

首先,当前的输出根本不是你说的那样。

接下来,当你这么说时:

在 CDSwaps 下移动 CMBX 元素时,添加了额外的属性 xmlns="",我不需要此属性。

您完全误判了问题。这里真正发生的是,

SubmitImportJobRequest
元素及其所有后代都位于
/cp/bdtbeans
命名空间中,并且在复制时它们仍保留在该命名空间中。

但是,当您创建一个 new 元素

CDS
作为从
CMBX
元素移动的节点的包装器时,您正在无命名空间中创建一个元素 - 并且处理器必须将其标记为此类。

为了在与其祖先(和潜在后代)元素相同的命名空间中创建包装器,请更改此:

      <xsl:element name="CDS">

至:

      <xsl:element name="CDS" namespace="/cp/bdtbeans">
© www.soinside.com 2019 - 2024. All rights reserved.