我有一個complextype-'A',它使用擴展名「base」,後跟一系列元素。現在,擴展基礎 - 「基礎」本身就是複雜類型,並且在序列ex中具有多個元素引用(元素1,2,3)。我遇到的問題是,當試圖驗證XML時,我得到的錯誤是元素'A'具有無效子元素'1',並且它列出了XML上的其他可能元素。因爲我在一個組中工作,所以我只能更改架構而不是XML。 Sry基因,如果我解釋很奇怪例如將低於使用複雜類型進行疑難解答
這是架構
<xsd:complexType name="A">
<xsd:complexContent>
<xsd:extension base="Base" >
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="B" minOccurs="0">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="BData"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="C" minOccurs="0">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="CData"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="D" minOccurs="0">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="DData"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
的XML
<A>
<D/>
<B/>
<C/>
<T> <---- This is the element from the base'Base' that gives me the error>
<......>
</T>
</A>
行,所以在看到評論後,我打算細說多一點我的問題。這是我第一次發佈一個問題,我面臨的問題與我的工作有關,所以我不能發佈具體的細節。所以主要的問題是'A'。所以我有我正在編輯的架構,假設驗證多個XML。因此,我的目標是找到一種方法讓複雜類型A使每個元素都有效,但同時如果元素被稱爲擴展,無論錯誤的次數或次數不會彈出。我已經研究過「全部」元素,但問題在於它只能發生一次。結論:序列無限次數發生,但是次序受限,所有沒有次序限制但限於1次發生。這就像歡迎任何解決方案的兔子洞。
XML元素名稱不能以數字開頭。 – kjhughes
您錯過了一個關閉'xsd:sequence'元素。 – kjhughes
你沒有包含引用的'Base'聲明。 – kjhughes