为什么我的XSD不能用于跟踪XML结构? 它说'无效内容是从元素'权利'开始的。此时不会有子元素。'
XML:
<Root>...
<Rights Status="xxx" Date="2009-02-03T00:00:00">
<Right>
<Amount>9999</Amount>
<AmountCovered>888</AmountCovered>
</Right>
<Right>
<Amount>8888</Amount>
<AmountCovered>777</AmountCovered>
</Right>
...
</Rights>
...
XSD:
<xs:element name="Rights" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Right" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="Amount" type="xs:string" minOccurs="0" />
<xs:element name="AmountCovered" type="xs:string" minOccurs="0" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Status" use="optional" type="xs:string" />
<xs:attribute name="Date" use="optional" type="xs:dateTime" />
</xs:complexType>
</xs:element>
答案 0 :(得分:0)
问题是根元素<Rights>
不能用minOccurs =&#34; 0&#34;指定
删除<xs:element name="Rights">
中的minOccurs或将另一个根元素包装在<Rights>
之外
XSD:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="Rights" minOccurs="0">
...
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>