Was macht elementFormDefault in XSD?
Was machtelementFormDefault
und wann sollte es angewendet werden?
Also fand ich einige Definitionen fürelementFormDefault
Werte:
qualifiziert - Elemente und Attribute befinden sich im targetNamespace des Schemas
unqualifiziert - Elemente und Attribute haben keinen Namespace
Ausgehend von dieser Definition würde ich meinen, wenn ein Schema auf qualifiziert gesetzt ist, warum müssen Sie dem Typ dann den Namespace voranstellen? Und welche Szenarien würden Sie für diese Angelegenheit sogar für unqualifiziert halten? Ich habe es mit Googeln versucht, aber alles, was ich bekam, waren ein paar W3C-Seiten, die extrem schwer zu verstehen waren.
Dies ist die Datei, mit der ich gerade arbeite. Warum muss ich den Typ als deklarieren?target:TypeAssignments
wenn ich das deklarieretargetNamespace
wie derselbe wiexmlns: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>