XSD验证失败:元素具有“类型”属性和“匿名类型”子元素。元素中只允许其中一个

时间:2015-06-23 06:37:56

标签: xml xslt xsd xml-parsing xsd-validation

当我验证XSD文件时,它会出现以下错误

“src-element.3:元素'帐号'同时具有'type'属性和'anonymous type'子元素。元素中只允许其中一个。”

<xsd:element name="AccountDetailsResponse">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="Account" type="account:Account">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="ID">
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element type="xsd:string" name="NAME"/>
                                    <xsd:element type="xsd:string" name="PHONE"/>
                                    <xsd:element type="xsd:string" name="CATEGORY"/>
                                    <xsd:element type="xsd:int" name="LASTMODIFIED"/>
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

请帮助解决并使其成为有效的xsd。

由于

1 个答案:

答案 0 :(得分:2)

你已经得到了答案。你有两个选择:

  • 从您的元素中删除“type”-Attribute,其名称为“帐户”
  • 使用name =“Account”
  • 删除元素中的“complexType”-Node

只允许执行其中一种操作,要么命名类型,要么在内部匿名定义。