我需要爲我們要在系統之間使用的XML文件生成XSD,以便驗證我們得到的數據是否有效。當節點有多個子節點時,針對XSD的XML驗證失敗
的XML看起來是這樣的(但更多的字段):
<Request>
<Request_ID>1000012295</Request_ID>
<Extra_Info>
<Item>
<Item_Number>0000000001</Item_Number>
<ItemDescription>test- 2</ItemDescription>
</Item>
<Item>
<Item_Number>0000000002</Item_Number>
<ItemDescription>test - 2</ItemDescription>
</Item>
</Extra_Info>
</Request>
和我的XSD如下:
<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Request">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Request_ID" type="xsd:int" />
<xsd:element name="Extra_Info">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Item">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Item_Number" type="xsd:int" />
<xsd:element name="ItemDescription" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
此架構的工作原理時,我只有一個Item
節點,但作爲一旦我有多個,我得到以下錯誤:
元素'Extra_Info'具有無效的子元素'Item'。
如果它被指定爲一個序列,爲什麼它不工作?
謝謝!
PS:我以前This Online Validator快速驗證,但我也得到了同樣的錯誤與XMLReader的
謝謝!我看到了minOccur和maxOccur屬性,但認爲這些屬性只是*用於啓用約束,而不是提升它們 – 2011-03-08 18:29:09