Apa elementFormDefault
, dan kapan harus digunakan?
Jadi saya menemukan beberapa definisi untuk elementFormDefault
nilai:
memenuhi syarat - elemen dan atribut ada di targetNamespace skema
unqualified - elemen dan atribut tidak memiliki namespace
Jadi dari definisi itu saya akan berpikir bahwa jika skema diatur ke kualifikasi lalu mengapa Anda harus mengawali tipe dengan namespace? Dan skenario apa yang bahkan Anda setel ke tidak memenuhi syarat dalam hal ini? Saya mencoba Googling, tetapi yang saya dapatkan hanyalah beberapa halaman W3C yang sangat sulit dimengerti.
Ini adalah file yang saya kerjakan sekarang, mengapa saya perlu mendeklarasikan tipe seperti target:TypeAssignments
ketika saya mendeklarasikan targetNamespace
sama dengan xmlns:target
?
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:target="http://www.levijackson.net/web340/ns"
targetNamespace="http://www.levijackson.net/web340/ns"
elementFormDefault="qualified">
<element name="assignments">
<complexType>
<sequence>
<element name="assignments" type="target:TypeAssignments"
minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<complexType name="TypeAssignments">
<sequence>
<element name="assignment" type="target:assignmentInfo"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="assignmentInfo">
<sequence>
<element name="name" type="string"/>
<element name="page" type="target:TypePage"/>
<element name="file" type="target:TypeFile"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="id" type="string" use="required"/>
</complexType>
<simpleType name="TypePage">
<restriction base="integer">
<minInclusive value="50" />
<maxInclusive value="498" />
</restriction>
</simpleType>
<simpleType name="TypeFile">
<restriction base="string">
<enumeration value=".xml" />
<enumeration value=".dtd" />
<enumeration value=".xsd" />
</restriction>
</simpleType>
</schema>