好吧,在简短的版本中。老师给了我们测试的复习,它包含了 XML 模式(我们还没有在课堂上复习)。我正在阅读这一章,但很难弄清楚,因为这本书一次只提供代码片段。所以,我不知道应该如何把事情放在更大的图景中。
我们有一个像这样的 XML 文档
<enrollment>
<semester>1128</semester>
<student>
<id>1000001</id>
<lastname>Smith</lastname>
<firstname>Joe</firstname>
<courses>
<course id="10001"/>
<course id="10003"/>
</courses>
<tuition>200</tuition>
</student>
</enrollment>
我们必须创建一个具有这些验证的 XML 模式。
可以有 0 到 10 门课程
学费必须大于零且小于10,000。
创建一个名为 CourseType 的自定义类型,用于验证课程 ID 属性是否正好包含 5 位数字。
这是我到目前为止的 XML 模式代码(不确定是否正确)。我非常有信心前两个是正确的。第三个没看懂
<xs:schema blah blah blah validation inputs>
<xs:element name="enrollment">
<xs:complexType>
<xs:sequence>
<xs:element name="courses">
<xs:complexType>
<xs:sequence>
<xs:element name="course"
minOccurs="0"
maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tuition">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="10000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Courses">
<xs:complexType name ="Course">
<xs:simpleContent>
<xs:extension base ="xs:course ID">
<xs:attribute name="id" type="CourseType">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="CourseType">
<xs:restriction base="xs:integer">
<xs:totalDigits value ="5"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>