Xml XSD验证失败:元素具有';类型';属性和a';匿名类型';小孩一个元素只允许其中一个
当我验证XSD文件时,它给出了以下错误 “src元素。3:元素'Account'既有'type'属性,又有'anonymous type'子元素。元素只允许使用其中一个属性。”Xml XSD验证失败:元素具有';类型';属性和a';匿名类型';小孩一个元素只允许其中一个,xml,xslt,xsd,xml-parsing,xsd-validation,Xml,Xslt,Xsd,Xml Parsing,Xsd Validation,当我验证XSD文件时,它给出了以下错误 “src元素。3:元素'Account'既有'type'属性,又有'anonymous type'子元素。元素只允许使用其中一个属性。” 请帮助解决并使其成为有效的xsd 谢谢,你已经得到答案了。你有两个选择: 使用name=“Account”从元素中删除“type”属性 使用name=“Account”删除元素中的“complexType”-节点 只允许执行其中一项操作,可以命名类型,也可以在内部匿名定义它。我无法删除type属性,因此我删除了c
请帮助解决并使其成为有效的xsd
谢谢,你已经得到答案了。你有两个选择:
- 使用name=“Account”从元素中删除“type”属性
- 使用name=“Account”删除元素中的“complexType”-节点
只允许执行其中一项操作,可以命名类型,也可以在内部匿名定义它。我无法删除type属性,因此我删除了complexType节点,但在序列节点上得到错误,如“s4s elt必须匹配。1:帐户的内容必须匹配(注释?,(simpleType | complexType)?,(unique | key | keyref)*))。从:sequence开始发现一个问题。如果要定义帐户内部的此类型的内部结构,则需要“complexType”-节点及其内部,删除该属性有什么问题?如果要在其中包含的类型很简单(如“xs:string”),则“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>