我正在尝试在模式中包含注释,并且似乎在验证过程中引起了问题。我收到以下错误:
“验证[通过格式异常构建模式]:s4s-elt-must-match.1:“金额”的>内容必须匹配(注释?,(simpleType | complexType)?,>(唯一|键| keyref) )*))。发现问题始于:注解。“
据我所知,我的架构和XML都是正确的。我已经验证了两者的格式是否正确,并且在Visual Studio和联机模式检查器中,两者都格式正确且有效。
我正在使用基于Java的小型软件。
如果我删除了该标签,则它会正确验证,因此似乎与之相关。我不完全确定是我的XML还是我使用的软件引起了该问题,但我宁愿保留出于文档目的。
我在下面包括了XML和XSD。这些是简短的示例,代表实际的XML和XSD,它们是专有的并包含PHI。
XML:
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Root xmlns:ns2="http://tempuri.org/XMLSchema.xsd">
<ns2:Fruit>Apple</ns2:Fruit>
<ns2:Amount>3</ns2:Amount>
</ns2:Root>
XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="Fruit" type="Fruit_Type"/>
<xs:element name="Amount" type="xs:int">
<xs:annotation>
<xs:documentation>
Amount of Fruit
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="Fruit_Type">
<xs:annotation>
<xs:documentation>Testing
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value = "Apple"/>
<xs:enumeration value = "Banana"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>