W3C xsd验证器上的SAXParseException

时间:2015-01-15 10:29:58

标签: xsd xsd-validation

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

  

无法解析名称' familyType'到(n)'类型定义'成分

这是我的架构:

<?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>

1 个答案:

答案 0 :(得分:0)

当您指定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>