xml - 如何在同一父标签下重用本地定义的元素

标签 xml xsd xml-namespaces xsd-validation

为什么“ref”在这种情况下不起作用:

<xs:complexType name="Team">
    <xs:sequence>
        <xs:element name="Name" type="xs:string"/>
        <xs:element name="Size">
            <xs:simpleType>
                <xs:restriction base="xs:integer">
                    <xs:totalDigits value="1"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element ref="Size"/>
    </xs:sequence>
</xs:complexType>

元素Size具有局部作用域,难道不能在局部复用吗?

编辑:上面的情况可能没有多大意义。考虑下面的情况,是否没有办法重用现有的“Size”定义:

<xs:complexType name="Team">
    <xs:sequence>
        <xs:element name="Name" type="xs:string"/>
        <xs:element name="Size">
            <xs:simpleType>
                <xs:restriction base="xs:integer">
                    <xs:totalDigits value="1"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="teamLeads">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="Size"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:sequence>
</xs:complexType>

最佳答案

您只能引用顶级元素。

{term} The (top-level) element declaration ·resolved· to by the ·actual value· of the ref [attribute].

http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#declare-element (请参阅框中的最后一部分)

关于xml - 如何在同一父标签下重用本地定义的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14117470/

相关文章:

xml - xsd.exe生成两个文件,如何将它们合并为一个?

php - 在 PHP 中的 XMLWriter 之后,在 flush() 之前替换字符串

java - JAXB 编译器绑定(bind) xs :boolean to Java Boolean wrapper class, 而不是 boolean 原始类型

spring - 是否可以在 Spring WS web 服务中重命名响应 namespace 前缀?

javascript - 如何在 html 中显示 XML RSS feed?

java - 从字符串中的 XML 获取数据 - Android

java - 解析内联 XML 架构 (Xerces for Java)

eclipse - XSD:无法将名称 'type' 解析为(n) 'type definition' 组件

facebook-opengraph - 我真的需要 xmlns 或前缀来使用开放图元标记吗?

android - 为什么这一行 xmlns :android ="http://schemas.android.com/apk/res/android" must be the first in the layout xml file?