XML Schema - elementFormDefault是非限定的,但使用了名称空间前缀

时间:2011-05-16 12:49:15

标签: xml namespaces xsd qualified

我不是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的理解肯定存在缺陷。

2 个答案:

答案 0 :(得分:2)

因为在定义元素的每个复杂类型中,它都是对全局元素的引用,因此是合格的。元素形式仅适用于本地元素,而不是全局元素。

答案 1 :(得分:0)

elementFormDefault和attributeFormDefault只是默认值。始终可以在单个元素和属性声明上指定form =“qualified”。全局元素和属性声明由目标命名空间无条件限定。