1

我想编写一个 XML 文件,其中包含一个名为appointment_list. 此根节点应包含多个类型为 的子元素appointment_type

我已经写了下面的架构,但我得到了错误:

s4s-elt-must-match.1: 'appointments_list' 的内容必须匹配 (annotation?, (simpleType | complexType)?, (unique | key | keyref)*))。发现问题始于:元素。

我知道我应该使用它在消息中列出的令牌之一,但我不知道是哪一个。我是 XML 新手。我想要的是约会列表根元素包含多个子约会类型元素。我怎么做。谢谢 :)

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs= "http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="priority">
        <xs:restriction base="xs:string">
            <xs:enumeration value="high"/>
            <xs:enumeration value="normal"/>
            <xs:enumeration value="low"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="appointment_type">
        <xs:sequence>
            <xs:element name="title" type="xs:string" minOccurs="1" />
            <xs:element name="description" type="xs:string" minOccurs="0"/>
            <xs:element name="appointment_date" type="xs:date" minOccurs="1"/>
            <xs:element name="appointment_time" type="xs:time" minOccurs="1"/>
            <xs:element name="appointment_priority" type="priority" minOccurs="0"/>
            <xs:element name="duration" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:integer">
                        <xs:minInclusive value="0"/>
                        <xs:maxInclusive value="24"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="id" type="xs:positiveInteger" use="required"/>
    </xs:complexType>   

    <xs:element name="appointments_list">
            <xs:element name="appointment" type="appointment_type" maxOccurs="unbounded" />
    </xs:element>
</xs:schema>
4

1 回答 1

3

<xs:element>包含元素的一个必须有一个(<xs:complexType>type属性,其值为复杂类型 - 就像您的<appointment>元素一样)。

A<xs:complexType>必须有一个组,例如<xs:sequence>.

<xs:element name="appointments_list">
  <xs:complexType>   
    <xs:sequence>   
      <xs:element name="appointment" type="appointment_type" maxOccurs="unbounded" />
    </xs:sequence>   
  </xs:complexType>   
</xs:element>
于 2012-11-19T11:41:37.120 回答