有一个使用包含前缀和默认命名空间的命名空间的源 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/