在根中添加命名空间被复制到子节点



在这个网站上找到的下面的例子中,一个空的xmlns=">被复制的所有子节点。这个错误的原因是什么呢?

我的模板:

<xsl:element xmlns="http://www.element-examples.org" name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>  

输出:

<projectgegevens xmlns="http://www.element-examples.org">
<idopdracht **xmlns=""**>28062262</idopdracht>
<projectcode **xmlns=""**>160622</projectcode>
<projectnaam **xmlns=""**>FF0000390001</projectnaam>
<ordernummer xmlns="">M2M-2022010071</ordernummer>
<projectleider xmlns="">FF000039003</projectleider>
<opmerking xmlns=""></opmerking>
<status xmlns="">5</status>
<datumverwacht xmlns="">2022-06-29</datumverwacht>
<certificaatnummer xmlns="">2020083810</certificaatnummer>
<analysemonsters xmlns="">

在没有看到所有代码的情况下,我们无法确切地告诉您哪里做错了,但是当序列化器发现结果树中有一个元素不在名称空间中,其父元素在名称空间中(但没有前缀)时,它会生成名称空间声明xmlns=""

要找出为什么子元素没有在名称空间中,而不是与其父元素在相同的名称空间中,您需要查看创建子元素的XSLT代码。注意,元素的命名空间完全由创建该元素的指令决定;它永远不会从结果树中父元素的名称空间中自动继承(尽管它可能从样式表中的父元素继承)。

最新更新