我想编写一个包含名为appointment_list
的根节点的XML文件。此根节点应包含多个类型为appointment_type
的子元素。
我已经编写了下面的架构但是我得到了错误:
s4s-elt-must-match.1:'appointmentments_list'的内容必须匹配 (注释?,(simpleType | complexType)?,(unique | key | keyref)*))。 从:element。
开始发现了一个问题
我知道我应该使用它在消息中列出的其中一个令牌,但我不知道哪一个。我是XML的新手。我想要的是,appointment_list根元素包含多个子约会元素元素。我怎么做。谢谢:))
<?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>
答案 0 :(得分:3)
包含元素的<xs:element>
必须包含<xs:complexType>
(或type
属性,其值为复杂类型,例如 <appointment>
元素)。
<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>