【问题标题】:SAXParseException on W3C xsd validatorW3C xsd 验证器上的 SAXParseException
【发布时间】:2015-01-15 10:29:57
【问题描述】:

我无法验证我的 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>

【问题讨论】:

    标签: xsd xsd-validation


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 2015-06-29
      相关资源
      最近更新 更多