簡體   English   中英

未知元素的XML模式驗證

[英]XML Schema Validation for unknown elements

我正在嘗試使用C#中的架構來驗證XML。 我將在row元素下擁有一個未知元素。 我正在使用xs:any ,出現以下錯誤

元素“行”具有無效的子元素“名稱”。

模式-

<xs:element name="table">
  <xs:complexType>
    <xs:sequence>
      <xs:element maxOccurs="unbounded" name="row">
        <xs:complexType>
          <xs:sequence>
            <xs:any processContents="lax"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

XML-

<table>
  <row>
    <ProductID>994</ProductID>
    <Name>LL Bottom Bracket</Name>
    <ProductModel>LL Bottom Bracket</ProductModel>
    <CultureID>en    </CultureID>
    <Description>Chromoly steel.</Description>
  </row> 
</table>

您尚未在xs:any上指定maxOccurs並且maxOccurs默認值為1 ,這意味着不允許第二個元素Name ,因此錯誤消息為:

元素“行”具有無效的子元素“名稱”。

通過將maxOccurs="unbounded"添加到xs:any來進行更正:

        <xs:any processContents="lax" macOccurs="unbounded"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM