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