W3C xsd 验证器上的 SAXParseException

SAXParseException on W3C xsd validator

我无法验证我的 xml 架构 here。 我有以下错误:

Cannot resolve the name 'familyType' to a(n) 'type definition' component.

这是我的架构:

<?xml version="1.0"?>

<xs:schema version="1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">

    <xs:element name="families">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="family" type="familyType" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="familyType">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="father" type="xs:string"/>
                <xs:element name="mother" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>

当您指定 family 元素的类型为 familyType 时,您必须声明一个类型,而不是一个元素,名称为 familyType:

<?xml version="1.0"?>
<xs:schema version="1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">

  <xs:element name="families">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="family" type="familyType" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="familyType">
    <xs:sequence>
      <xs:element name="father" type="xs:string"/>
      <xs:element name="mother" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>