XML を初めて使用するので、助けが必要です。スキーマバリデータを作成する必要がある次の XML コードがあります。
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<family pol="m">Peter</family>
<age>40</age>
<email>ppenzov@ii.com</email>
</user>
<user>
<family pol="w">Penz</family>
<age>65</age>
</user>
<user>
<family pol="w">Penzov</family>
<age>19</age>
<email>pppenzov@ii.com</email>
</user>
</users>
xml スキームは、次の規則に従う必要があります。
家族、年齢、メールアドレスは厳密に順守する必要があります
ファミリー- 1 回発生し、最大 20 個のシンボルを持つ必要があります
age - 1 回発生し、1 から 100 までの数値でなければなりません
email - 高々 1 回発生する必要がありますが、省略できます。5 ~ 10 記号の文字列である必要があります
非常に基本的な例を作成するのを手伝ってくれませんか?
これまでのところ、私はこれを行ってきました:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="user">
<xs:complexType>
<xs:sequence>
<xs:element name="family" type="xs:string">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
<xs:enumeration value="family" maxOccurs="1"/>
<xs:length value="20"/>
</xs:restriction>
</xs:element name="family" type="xs:string">
<xs:element name="age" type="xs:intreger">
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="100"/>
<xs:enumeration value="age" maxOccurs="1"/>
</xs:restriction>
</xs:element name="age" type="xs:intreger">
<xs:element name="email" type="xs:string">
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="10"/>
<xs:enumeration value="email" maxOccurs="1"/>
</xs:restriction>
</xs:element name="email" type="xs:string">
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>