2009-10-16 44 views
5

tôi có loại phức tạp này:Bao gồm yếu tố trong XSD Loại Complex Without New tử

<xsd:complexType name="Identifier"> 
    <xsd:sequence> 
     <xsd:element name="Id" type="xsd:string"/> 
     <xsd:element name="Version" type="xsd:string"/> 
    </xsd:sequence> 
</xsd:complexType> 

Bây giờ tôi muốn bao gồm trong một loại phức tạp và tôi đã làm điều đó như thế này:

<xsd:complexType> 
    <xsd:sequence> 
     <xsd:element name="Id" type="Identifier"/> 
       <!-- More elements here --> 
    </xsd:sequence> 
</xsd:complexType> 

Đây không phải là những gì tôi thực sự muốn mặc dù. Tôi muốn bao gồm các phần tử của định danh loại trực tiếp trong loại phức tạp thứ hai của tôi mà không cần tạo một phần tử mới. Ví dụ. giống như chỉ thực hiện việc này:

<xsd:complexType> 
    <xsd:sequence> 
     <xsd:element name="Id" type="xsd:string"/> 
     <xsd:element name="Version" type="xsd:string"/> 
       <!-- More elements here --> 
    </xsd:sequence> 
</xsd:complexType> 

Hy vọng điều đó có ý nghĩa.

Xin cảm ơn trước.

Trả lời

6

Bạn có thể mở rộng các loại, như thế này:

<xsd:complexType name="MySubType"> 
    <xsd:complexContent> 
     <xsd:extension base="Identifier"> 
         <xsd:sequence> 
          <!-- More elements here --> 
         </xsd:sequence> 
     </xsd:extension> 
    </xsd:complexContent> 
</xsd:complexType> 
+0

Hoàn hảo - cảm ơn. Bạn có biết cách bao gồm nhiều tiện ích trong một loại phức tạp không? – ng5000

+1

Tìm câu trả lời. Những gì tôi muốn là thừa kế nhiều, có thể đạt được bằng cách sử dụng xsd: nhóm. – ng5000

+0

Không, các nhóm là những thứ rất tiện dụng, mặc dù chúng có thể gây nhầm lẫn nếu bạn làm quá mức. – skaffman

1

loại phức tạp này sẽ luôn luôn quyết tâm

<Identifier> 
    <Id>string</Id> 
    <Version>string</Version> 
</Identifier> 

nếu bạn không muốn có một cấu trúc con, bạn có thể xác định Id và bản như các yếu tố và tham khảo chúng bằng cách sử

<xsd:element ref="Id"/> 
<xsd:element ref="Version"/> 

sau này. Nhưng sau đó bạn không có sự đảm bảo rằng cả hai đều xảy ra

Bạn cũng có thể làm cho Id và bản tính đến các yếu tố định danh trong một loại phức tạp

may mắn Mike