我不是XML Schema的专家,所以我想知道以下内容是如何正确的:
在艾玛(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的理解肯定存在缺陷。
答案 0 :(得分:2)
因为在定义元素的每个复杂类型中,它都是对全局元素的引用,因此是合格的。元素形式仅适用于本地元素,而不是全局元素。
答案 1 :(得分:0)
elementFormDefault和attributeFormDefault只是默认值。始终可以在单个元素和属性声明上指定form =“qualified”。全局元素和属性声明由目标命名空间无条件限定。