xslt - XSLT 的问题,其中源 xml 文档使用默认命名空间

标签 xslt namespaces default

有一个使用包含前缀和默认命名空间的命名空间的源 xml 文档。当我使用 XSLT 文档对其进行转换时,生成的翻译后的 xml 文档不正确,即缺少源 xml 文档中的元素数据。

当我从源 xml 文档中删除“默认命名空间”时,转换按预期工作。

问题:有没有一种方法可以解决问题而无需从源 xml 文档中编辑出默认命名空间?也就是说,将解决方案添加到 XSLT 文档中。

XML 文档:

<MyElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns="http://www.zolldata.com/UDX">

问题默认命名空间是 xmlns="http://www.zolldata.com/UDX"

最佳答案

如果您的选择器不使用前缀,或者为 XSLT 中的所有选择器使用前缀,请在 XSLT 文档中指定相同的默认 namespace ,但不要忘记将它们绑定(bind)到 XML 文档的默认 namespace 。

关于xslt - XSLT 的问题,其中源 xml 文档使用默认命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343532/

相关文章:

html - 使用xslt以表格格式将xml转换为html

html - xsltproc html 文档

objective-c - 在 Objective-C 中使用枚举名称作为值标识符

Powerpoint 2016 - 后台默认模板

c - C 函数中参数的默认值和 C 中的函数重载

arrays - 在 XSLT 中创建动态数组

php - 最大长度 XSLT 但在输出中保留完整段落

c++ - 在 C++ 中使用 #include<filename> 和 #include<filename.h> 的区别

c# - 不能在不同的命名空间中使用我的新字段

sql - 默认值表达式函数何时/如何绑定(bind)到 search_path?