前端之家收集整理的这篇文章主要介绍了
xml – 修改xslt以使命名空间无关,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个我创建的XSLT来处理特定的xml文档.但是,现在
名称空间正在某些文档中引入,但并非所有文档都引入.我想对这些文档使用相同的XSLT,但是我无法将样式表
修改为
名称空间不可知.
之前曾建议将我的xpath修改为* [local-name()=“ElementName”],但考虑到我们已经制作了样式表,这是非常耗费人力的.
另外,我知道我可以将xpath-default-namespace设置为特定的命名空间,但如前所述,我不能简单地将其设置为#all或可能的命名空间列表.我正在寻找一种更有效的解决方案,并且可以使用Saxon处理器的扩展功能.有任何想法吗?谢谢.
您是否考虑过预处理
XML文档?
您可以删除所有名称空间(注意可能的冲突),然后使用现有的XSL转换处理它.
这种方法的优点是您根本不必修改XSLT.它保持可读性(* [local-name()=’frob’]看起来很糟糕)并且可维护.
原文链接:https://www.f2er.com/xml/292410.html