【发布时间】:2018-02-01 17:39:43
【问题描述】:
我有btm mapping file 我做了custom body mapping 如下所示,但当时transformation xslt gives below error -
属性和命名空间节点不能添加到父元素 在已添加文本、评论、pi 或子元素节点之后
xslt 映射 -
<DemoParent>
<IdRef>
<xsl:attribute name="identifier">
<xsl:value-of select="header/msgHeader/Number/text()" />
</xsl:attribute>
<xsl:attribute name="identifier">
<xsl:value-of select="header/msgHeader/customerNumber/text()" />
</xsl:attribute>
</IdRef>
<xsl:attribute name="name">
<xsl:value-of select="$var:v12" />
</xsl:attribute>
<xsl:element name="TEST">
<xsl:copy-of select="//*[local-name()='DEMO1' and namespace-uri()='']/*[local-name()='header' and namespace-uri()='']/*[local-name()='msgHeader' and namespace-uri()='']/*[local-name()='sale' and namespace-uri()='']/*" />
</xsl:element>
</DemoParent>
为自定义映射添加<xsl:element name="TEST">
【问题讨论】:
-
第一个
</IdRef>应该是<IdRef>吗?您认为要向哪个元素添加name属性?如果是DemoParent,则需要将xsl:attribute移到IdRef之前。 (或者像<DemoParent name="{$var:v12}">一样直接添加。) -
您向我们展示的代码有问题,IdRef 结束标记不能立即跟在 DemoParent 开始标记之后。
-
另外,创建
identifier属性然后创建另一个identifier属性有效地消除第一个属性的值似乎毫无意义。 -
抱歉错字有正确更新
-
`
` 为自定义映射添加
标签: xml xslt biztalk-mapper