Que fait elementFormDefault
-il et quand doit-il être utilisé?
J'ai donc trouvé quelques définitions des elementFormDefault
valeurs:
qualifié - les éléments et les attributs se trouvent dans le targetNamespace du schéma
non qualifié - les éléments et les attributs n'ont pas d'espace de noms
Donc, à partir de cette définition, je pense que si un schéma est défini sur qualifié, pourquoi devez-vous préfixer le type avec l'espace de noms? Et quels sont les scénarios dans lesquels vous auriez même défini un scénario non qualifié d'ailleurs? J'ai essayé Google, mais je n'ai eu que quelques pages W3C extrêmement difficiles à comprendre.
C'est le fichier avec lequel je travaille actuellement, pourquoi dois-je déclarer le type comme target:TypeAssignments
lorsque je déclare le targetNamespace
comme étant le même que 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>