Ну, в короткой версии. Учитель дал нам обзор для теста, в который включена XML-схема (которую мы еще не рассмотрим в классе). Я читаю эту главу, но ее трудно понять, потому что книга дает только фрагменты кода за раз. Итак, я не знаю, как вещи должны быть помещены в более общую картину вещей.Использование XML-схемы для проверки 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-схемы, которая имеет эти validatons.
может быть от нуля до 10 курсов
обучение должно быть больше нуля и меньше, чем 10000.
создать пользовательский тип с именем CourseType, который проверяет, что атрибут идентификатора курса содержит ровно 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>