2009-06-09 46 views
0

我像一個複雜類型:XSD:的ComplexType

<xsd:complexType name="NightlyRate"> 
    <xsd:complexContent> 
     <xsd:extension base="com:Money"> 
      <xsd:attribute name="night" type="com:Number" use="required"/> 
     </xsd:extension> 
    </xsd:complexContent> 
</xsd:complexType> 

現在,我想添加一個子元素 「NightlyRate」,這本身就是複雜類型的。我嘗試添加:

<xsd:element name="xxx" type"com:Money"/> 

的複雜內容元素之後,但它會引發錯誤元件不預期的,也是問題的一部分是該複合元件的類型相同類型的擴展鹼。我正在使用JAXB。有沒有其他方法可以實現這一點?

謝謝!

+0

在ComplexContent幫助中添加mixed =「true」? – Ankush 2009-06-09 22:08:05

+0

如果您的NightlyRate包含文本內容以及要定義的元素,則添加mixed = true會有所幫助。 – 2009-06-10 05:12:17

回答

1
<xsd:complexType name="NightlyRate"> 
    <xsd:complexContent> 
     <xsd:extension base="com:Money"> 
      <xsd:sequence> 
       <xsd:element name="xxx" type"com:Money"> 
        <xsd:complexType> 
         <xsd:complexContent> 
          /// Attributes here 
         </xsd:complexContent> 
        </xsd:complexType> 
       </xsd:element> 
      </xsd:sequence> 

      <xsd:attribute name="night" type="com:Number" use="required"/> 
     </xsd:extension> 
    </xsd:complexContent> 
</xsd:complexType> 
2

要獲得一個xsd:complexType子元素,你必須把它一xsd:sequence(第一級,以註釋和屬性一起),你想好至極狀態......子元素。在這個序列中,可以包含其他定義類型的元素或定義新類型。

查看XSD complex elements at W3Schools和womp的例子。

在某些情況下,您可能想要使用xsd:any元素來允許尚未定義的擴展(鬆散)。

相關問題