对于具有命名空间的XSD文件,验证没有命名空间的XML文档是否可以接受?

时间:2013-04-10 17:17:48

标签: xml xsd schema

我们有一位客户提供内容没有命名空间的XML文档。我们正在尝试根据已分配命名空间的官方模式验证这些文档。

1)客户提供的XML文档是否有效?

2)尝试针对XSD验证XML文档在技术上是不正确的吗?

1 个答案:

答案 0 :(得分:1)

简答:

1)否 - 至少根据你提到的XSD。

2)否。您可以尝试针对任何XML验证任何XSD。

虽然我的回答可能听起来“严格地说”,但请记住,验证旨在提供一致性的指示;因此,任何XML与任何XSD匹配都是可以接受/技术上正确的。

您可以在此处阅读,有效的方案是对XML应用某种类型的转换,以补偿丢失的内容。例如:如果问题包含缺少的名称空间声明,并且任何说服XML生产者纠正缺陷的尝试都失败了,那么通过XSLT运行它以使其达到所需格式,然后应用XSD。

对我来说,这是一个应该谨慎考虑的想法:针对每个XML运行XSLT是许多人无法承受的高容量开销。我的观点:简单地调整您的XSD,以解决解决方法需要的方法更好。与处理XSLT相比,这种方法不会导致运行时开销,设计时间/维护工作量更少......