Что делает elementFormDefault в XSD?
Что значитelementFormDefault
делать, и когда его следует использовать?
Итак, я нашел некоторые определения дляelementFormDefault
ценности:
квалифицированный - элементы и атрибуты находятся в targetNamespace схемы
неквалифицированный - элементы и атрибуты не имеют пространства имен
Таким образом, из этого определения я бы подумал, что если для схемы задано квалифицированное значение, то почему вы должны добавлять префикс типа к пространству имен? И каковы сценарии, по которым у вас был бы даже один неквалифицированный набор? Я попробовал поискать в Google, но все, что я получил, было парой страниц W3C, которые было чрезвычайно трудно понять.
Это файл, с которым я сейчас работаю, зачем мне объявлять тип какtarget:TypeAssignments
когда я объявляюtargetNamespace
так же, как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>