2
我試圖設計XML模式,但我一直陷入困境。我的XML文件不會針對我的模式進行驗證。我懷疑我正在犯一些初學者的錯誤。任何人都可以指出我要出錯的地方嗎?錯誤信息對我沒有意義。XML驗證給出驗證錯誤,但我找不到原因
這是我的xsd文件:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.test.com/teststuff/XMLnamespace" >
<xs:element name="dataCollecFile">
<xs:complexType>
<xs:sequence>
<xs:element name="fileHeader" minOccurs="0" maxOccurs="unbounded">
</xs:element>
<xs:element name="data" minOccurs="0" maxOccurs="unbounded">
</xs:element>
<xs:element name="fileFooter">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
而這裏的XML文件,將不會驗證內容:
<?xml version="1.0" encoding="UTF-8"?>
<dataCollecFile xmlns="http://www.test.com/teststuff/XMLnamespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.test.com/teststuff/XMLnamespace test.xsd">
<fileHeader>heady head header</fileHeader>
<data>data data</data>
<fileFooter>foot feet feeter</fileFooter>
</dataCollecFile>
最後,這裏的錯誤信息,我從Java的的javax得到。 xml.validation.Validator類:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'fileHeader'. One of '{fileHeader, data, fileFooter}' is expected.
謝謝,這個工程! 現在我的文件確認OK。 我發現了一個解釋,意思是: http://www.velocityreviews.com/forums/t292290-xsd-what-is-elementformdefault-qualified-for.html 但我仍然不明白爲什麼當我沒有該屬性集時,發生了錯誤。如果我希望它在elementFormDefault =「unqualified」時工作,那麼我的XML文件應該是什麼樣子? – Jolta
感謝您的更新說明。最親切! – Jolta