[英]Error: Element or attribute type specified more than once in XML SCHEMA Collection
我的XML SCHEMA Collection:x有什么问题,它抛出错误。
这是我为其编写XML SCHEMA COLLECTION的XML示例:
<ReviewRules xmlns="urn:goldleaf-schema:ReviewRules" version="1.0">
<Name>Never Apply Review Rule</Name>
<ReviewBasis>Never</ReviewBasis>
<DefaultReviewerComment>Review not required as per rule.</DefaultReviewerComment>
<PayLimit AutoReject="True">20000</PayLimit>
<UserLimit AutoReject="True">25000</UserLimit>
<DailyTotalLimit AutoReject="True">50000</DailyTotalLimit>
<TotalLimit AutoReject="True">75000</TotalLimit>
</ReviewRules>
XML模式收集:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns ="urn:GAPS-schema:ReviewRules"
xmlns:mstns ="urn:GAPS-schema:ReviewRules"
targetNamespace="urn:GAPS-schema:ReviewRules"
elementFormDefault="qualified">
<xsd:element name="ReviewRules" type="mstns:ReviewRulesType" />
<xsd:complexType name="ReviewRulesType">
<xsd:sequence>
<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="ReviewBasis" type="mstns:ReviewBasisType" minOccurs="1" maxOccurs="1" />
<xsd:element name="DefaultReviewerComment" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="PayLimit" type="xsd:decimal" minOccurs="0" maxOccurs="1" >
<xsd:complexType>
<xsd:attribute name="AutoReject" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="UserLimit" type="xsd:decimal" minOccurs="0" maxOccurs="1" >
<xsd:complexType>
<xsd:attribute name="AutoReject" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="DailyTotalLimit" type="xsd:decimal" minOccurs="0" maxOccurs="1" >
<xsd:complexType>
<xsd:attribute name="AutoReject" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="TotalLimit" type="xsd:decimal" minOccurs="0" maxOccurs="1" >
<xsd:complexType>
<xsd:attribute name="AutoReject" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string" fixed="1.0" use="required">
<xsd:annotation>
<xsd:documentation>Version attribute should be fixed and increase if there is any schema change for review rules.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:simpleType name="ReviewBasisType">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="Never" />
<xsd:enumeration value="Always" />
<xsd:enumeration value="Limits" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
该XSD无法验证XML并给出错误:
元素或属性类型指定了多次。 位置:'/ :schema [1] / :complexType [1] / :sequence [1] / :element [4] / *:complexType [1]'。 Msg 6314,第16级,状态1,第3行
您可能会发现Saxon的错误消息更有帮助:
Error at xsd:element on line 11 column 84 of test.xsd:
A <complexType> element must not appear as a child of an <xsd:element> with a @type attribute
Error at xsd:element on line 16 column 85 of test.xsd:
A <complexType> element must not appear as a child of an <xsd:element> with a @type attribute
Error at xsd:element on line 21 column 91 of test.xsd:
A <complexType> element must not appear as a child of an <xsd:element> with a @type attribute
Error at xsd:element on line 26 column 86 of test.xsd:
A <complexType> element must not appear as a child of an <xsd:element> with a @type attribute
Schema processing failed: 4 errors were found while processing the schema
基本上,您可以使用type属性或complexType子元素来指定元素的类型,但是不能同时使用-这没有任何意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.