【问题标题】:XML Schema Multiple Elements and AttributesXML Schema 多个元素和属性
【发布时间】:2015-02-11 06:48:03
【问题描述】:

我有这个代码:

<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?在上面的链接中,我不理解架构中的属性部分,有人可以帮忙/详细说明一下吗?

【问题讨论】:

    标签: xml xsd schema


    【解决方案1】:

    以下声明了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"

    【讨论】:

    • 哇很好的解释。如果所述元素有一个 name 属性而不是 ID 会是 type="xs:string" 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多