小编ljb*_*b26的帖子

XSL 元素动态继承命名空间

我正在编写一个样式表,在转换 XML 之前,该样式表最终会(通过代码)与我的控制和范围之外的各种其他样式表组合在一起。

我正在模板中编写“xsl:element”,但是我不知道我不控制的其他模板是否已经定义了附加到祖先元素的命名空间(即 xmlns="blah")。

在这种情况下,如果我没有在 xsl:element 上指定命名空间,我将收到 xmlns="",将此元素放回无命名空间中。但是,我不希望发生这种情况,但我无法专门将命名空间设置为文字值,也无法设置样式表默认命名空间。

我看过很多帖子试图删除 xmlns="",但我认为没有任何解决方案适合这种情况。大多数与在所有节点上设置命名空间、设置默认值或排除 #default 的结果前缀有关。

我正在使用 XSLT 1.0,并且我很高兴在祖先中搜索具有定义的命名空间而不是无命名空间的最接近的元素,并将其用作元素命名空间。不幸的是我没能做到这一点,因此感谢任何帮助。谢谢,如果我错过了现有的解决方案,我深表歉意。

java xslt xpath namespaces xslt-1.0

5
推荐指数
1
解决办法
719
查看次数

标签 统计

java ×1

namespaces ×1

xpath ×1

xslt ×1

xslt-1.0 ×1