XML 用の xsd ドキュメントを定義しようとしています。
しかし、私はそれが初めてで、いくつか試してみると混乱します。
私のxml:
<?xml version="1.0" encoding="utf-8"?>
<mashhadhost xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com mhost.xsd">
<create>
<name>example.ir</name>
<period>60</period>
<ns>
<hostAttr>
<hostName>ns1.example.ir</hostName>
<hostAddr ip="v4">192.0.2.2</hostAddr>
</hostAttr>
</ns>
<contact type="holder">ex61-irnic</contact>
<contact type="admin">ex61-irnic</contact>
<contact type="tech">ex61-irnic</contact>
<contact type="bill">ex61-irnic</contact>
</create>
<auth>
<code>TOKEN</code>
</auth>
</mashhadhost>
ご覧のとおり<create>
、<auth>
子供がいます。
1-<auth>
が必要 -><code>
も必要で、コードは長さ 32 の文字列です。
2-または<create>
で置き換えることができます<update>
<delete>
3- <hostAttr>
2 ~ 4 回繰り返すことができます。
4-<contact>
正確な属性で4回繰り返す必要があります。
それは私の試みですが、それには多くの穴があります。
<?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="mashhadhost">
<xs:complexType>
<xs:sequence>
<xs:element name="create">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="period" type="xs:string"/>
<xs:element name="ns"/>
<xs:element name="contact" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="auth">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>