XML模式多个元素和属性

时间:2011-09-30 00:33:44

标签: xml xsd schema

我有这段代码:

<root>
        <skill id="1">C++</skill>
        <skill id="2">C#</skill>
        <skill id="3">Java</skill>
        <skill id="4">PHP</skill>
        <skill id="5">MYSQL</skill>
        <skill id="6">HTML</skill>
        <skill id="7">CSS</skill>
        <skill id="8">JavaScript</skill>
        <skill id="9">XML</skill>
</root>

我正在尝试为此创建一个架构,我不太确定如何声明具有相同名称及其属性的多个元素。 XML Schema: how to have multiple identical elements?但不确定到底发生了什么。我放一个minOccurs时是否需要maxOccurs?在上面的链接中我不明白架构中的属性部分可以帮助/详细说明吗?

1 个答案:

答案 0 :(得分:4)

以下内容声明root元素,该元素只能出现一次且必须指定,以及一系列skill元素,id属性类型为xs:IDREF

xs:attribute声明元素的属性。 name属性指定属性名称。 type属性指定数据类型。

<xs:element name="root" minOccurs="1">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="skill" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="id" type="xs:IDREF"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>
  

当我放一个minOccurs时,我需要maxOccurs吗?

不,您不需要maxOccurs。如果您没有指定,则存在隐式maxOccurs="1"