提问人:Barney 提问时间:7/8/2022 更新时间:7/8/2022 访问量:106
在根目录中添加命名空间将复制到子节点
Adding namespace in root gets copied to child nodes
问:
在我在这个网站上找到的下面的例子中,一个空的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="">
答:
0赞
Michael Kay
7/8/2022
#1
如果不查看所有代码,我们无法具体告诉你你做错了什么,但当序列化程序发现结果树在无命名空间中有一个元素时,命名空间声明会生成,该元素的父元素位于命名空间中(但没有前缀)。xmlns=""
若要了解子元素不位于命名空间中,而不是与其父元素位于同一命名空间中的原因,需要查看创建子元素的 XSLT 代码。请注意,元素的命名空间完全由创建元素的指令确定;它永远不会自动从结果树中其父元素的命名空间继承(尽管它可能继承自样式表中的父元素)。
评论
0赞
Barney
7/8/2022
谢谢,我正在尝试在早期阶段添加xmlns
评论
<xsl:apply-templates select="@*|node()"/>
xmlns=""