さて、ショートバージョンで。先生は、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 のコースが存在する可能性があります
授業料は 0 より大きく 10,000 未満でなければなりません。
コース ID 属性に正確に 5 桁が含まれていることを確認する CourseType という名前のカスタム タイプを作成します。
これは私がこれまでに持っている XML スキーマ コードです (正しいかどうかはわかりません)。最初の 2 つは正しいと確信しています。3つ目はわかりません。
<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>