XML 架构 - elementFormDefault 不合格,但使用了命名空间前缀
我不是 XML 模式方面的专家,所以我想知道以下内容如何正确:
在 emma (http://www.w3.org/TR/emma/) 中,给出的所有示例均使用完全限定的 emma(在元素和属性上)就像:
<emma:emma version="1.0" xmlns:emma="http://www.w3.org/2003/04/emma"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2003/04/emma
http://www.w3.org/TR/2009/REC-emma-20090210/emma.xsd"
xmlns="http://www.example.com/example">
<emma:interpretation id="r1" emma:medium="acoustic" emma:mode="voice">
...
</emma:interpretation>
</emma:emma>
但是 http://www.w3.org /TR/emma/emma.xsd 定义:
elementFormDefault="unqualified" attributeFormDefault="unqualified"
而且我也不知道如何在元素/属性级别上启用前缀。
我想知道,这怎么可能是正确的呢?我对XML Schema的理解肯定有缺陷。
I am not an expert on XML Schema so I am wondering how can the following be correct:
In emma (http://www.w3.org/TR/emma/) all examples given are using fully qualified
emma (both at elements and attributes) like:
<emma:emma version="1.0" xmlns:emma="http://www.w3.org/2003/04/emma"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2003/04/emma
http://www.w3.org/TR/2009/REC-emma-20090210/emma.xsd"
xmlns="http://www.example.com/example">
<emma:interpretation id="r1" emma:medium="acoustic" emma:mode="voice">
...
</emma:interpretation>
</emma:emma>
but the http://www.w3.org/TR/emma/emma.xsd defines:
elementFormDefault="unqualified" attributeFormDefault="unqualified"
And I don't see how prefixes are enabled on the element / attribute level either.
I wonder, how can that be correct? There must be a flaw in my understanding of XML Schema.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为在定义元素的每个复杂类型中,它是对全局元素的引用,因此是限定的。元素形式仅适用于局部元素,不适用于全局元素。
Because in every complex type where an element is defined, it is a reference to a global element, hence qualified. The element form applies only to local elements, not global.
elementFormDefault 和 attributeFormDefault 只是默认值。总是可以在单个元素和属性声明上指定 form="qualified"。全局元素和属性声明无条件地由目标命名空间限定。
elementFormDefault and attributeFormDefault are only defaults. It's always possible to specify form="qualified" on individual element and attribute declarations. And global element and attribute declarations are qualified by the target namespace unconditionally.