0
我是xml的新手,我想了解xsd:all元素。 作爲MSDN說:使用xsd定義元素的正確方法:全部
的xsd:所有允許該組中的元素出現(或不出現)在含有元素的任何順序。
所以,按照我的理解,如果我們讓XSD架構的一個簡單的例子:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" >
<xsd:element name = "MyElem">
<xsd:complexType>
<xsd:all>
<xsd:element name = "name" type = "xsd:string" />
<xsd:element name = "lastname" type = "xsd:string" />
<xsd:element name = "city" type = "xsd:string" />
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
那麼我們就可以有一個這樣的XML文件:
<MyElem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Example.xsd" >
<name>"some_name"</name>
<lastname>"some_last_name"</lastname>
<city>"somecity"</city>
</MyElem>
這是很清楚的。但是,當我試圖給MyElem沒有元素,因爲在定義中提到(允許元素出現或不會出現),我得到錯誤的XML文件,該文件說:
下列元素預期在這個位置。
我正在使用Altova xmlSpy xml編輯器。
我是否正確理解元素可能會或可能不會出現在包含元素中?
謝謝你的幫助。