因此,我的任务是编写一个 XML 模式定义来存储我当前学期的学习时间表。我应该包括我的姓名和班级年份以及每个学术课程的其他元素。我需要强制执行规则,我必须至少有四个班级并且不超过八个班级。对于每个班级,我需要一个代号、课程名称、讲师姓名和当前的总体百分比。我还需要确保它们都是合适的数据类型。
我的问题似乎在于将部分名称和班级年份。目前,我有:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="classSchedule">
<xs:complexType>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="classYear" type="xs:int"/>
<xs:sequence minOccurs="4" maxOccurs="8">
<xs:element name="class">
<xs:complexType>
<xs:all>
<xs:element name="courseDesignator" type="xs:string"/>
<xs:element name="courseName" type="xs:string"/>
<xs:element name="instructorName" type="xs:string"/>
<xs:element name="currentGrade" type="xs:float"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
现在,我收到一个错误,即sequence
标签不能位于complexType
标签下方。
姓名和班级年份是关于学生的信息,每个学生将有 4 到 8 个班级;现在我无法弄清楚为什么我在输入姓名和班级年份时遇到了麻烦。当我取出姓名和班级年份的两行时,XSD 正确保存而没有错误。