我是 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 方案必须遵循以下规则:
家庭,年龄和电子邮件必须严格按照顺序
family - 必须出现一次并且最多有 20 个符号
年龄- 必须出现一次并且是 1 到 100 之间的数字
email - 最多只能出现一次,但可以省略;它应该是一个介于 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>