2011-08-12 63 views
2

我有一個元素A,它可以是簡單的元素,也可以是動態創建的複雜元素。在元素中引發xsd驗證的內容類型異常

示例XML是在這裏:

<A>john</A> 

<A> 
    <B>kathy</B> 
    <C> bat </C> 
</A> 

我的XSD是這樣的:

 <xsd:element name="A"> 
        <xsd:complexType> 
         <xsd:choice minOccurs="0" maxOccurs="unbounded"> 
          <xsd:sequence> 
           <xsd:element name="B" minOccurs="0" maxOccurs="unbounded" /> 
           <xsd:element name="C" minOccurs="0" maxOccurs="unbounded" /> 
          </xsd:sequence> 
         </xsd:choice> 
        </xsd:complexType> 
       </xsd:element> 

但是在這裏我面臨一個異常,說:

元素 'A' 不能有個性[子女],因爲該類型的內容類型僅限元素

回答

7

您需要指定混合在你的類型的內容:

<xsd:element name="A"> 
    <xs:complexType mixed="true"> 
    <xsd:choice minOccurs="0" maxOccurs="unbounded"> 
    <xsd:sequence> 
     <xsd:element name="B" minOccurs="0" maxOccurs="unbounded" /> 
     <xsd:element name="C" minOccurs="0" maxOccurs="unbounded" /> 
    </xsd:sequence> 
    </xsd:choice> 
</xsd:complexType> 

而且這是一個有點多餘具有裏面選擇一個序列。你要麼需要一個序列或不要。

希望有所幫助。

+0

好..謝謝休。這非常有幫助 – freepublicview