XML模式可以混合使用和匹配合格和不合格的名称空间吗?

塞缪尔·托(Samuel Toh)

从W3school我所知道的是,如果在unqualifiedXML模式上将属性“ elementFormDefault”设置为,则XML元素将没有前缀。如果我有一个设置了不合格元素表单的架构并且正在导入另一个架构,这会是一个问题吗?

示例:我有一个架构A,它导入了架构B的内容。然后,在最不幸的情况下,模式A具有一个称为“ ItemName”的元素,模式B中也具有一个元素。而且由于我们不能在此处使用前缀,因此没有简单的方法来区分这两个元素。

这是有效的方案吗?

如果是,我该如何区分它们?

如果是的话,这是否意味着一个模式可以混合和匹配elementFormDefault = qualified和unqualified名称空间,并且其中没有潜在的元素名称冲突?

谢谢你的帮助!

绍瓦涅

对我来说,这不是一个有效的方案,XSD定义必须永不冲突,否则会使您的XSD设置无效。如果2个实体具有相同的名称,并且必须在通用模式中使用/导入,则必须按名称空间(elementFormDefault限定的targetnamespace-和默认名称空间-存在)来区分它们

如果您使用的是良好的XML Schema验证程序,则它应该引发错误或至少警告。万一它不是“无效”,这是非常危险的,因为解析器或验证器会随机选择其中一个定义。

如果可以在w3.org中找到断言这一行的几行内容,我将进行更新:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章