2009-10-16 19 views
5

Yeni Unsuru olmadan XSD Kompleks Tip Öğeleri dahilBen bu karmaşık türü var

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

Gerçekten istediğim bu değil. Yeni bir öğe oluşturmadan Identifier türünün öğelerini doğrudan ikinci karmaşık türüme dahil etmek istiyorum. Örneğin. Sadece bunu yapmakla aynı:

Şimdiden teşekkürler. Bir alt yapısını istemiyorsanız

cevap

6

karmaşık bir tip Tanıtıcı elemana niteliklerini yapabilirsiniz

meydana geldiğini garanti yok şunun gibi:

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

Kusursuz - teşekkürler. Tek bir karmaşık türe birden fazla uzantı eklemeyi biliyor musunuz? – ng5000

+1

Cevabı bulundu. İstediğim, xsd: group kullanılarak elde edilebilen çoklu kalıtımdı. – ng5000

+0

Evet, gruplar çok kullanışlı şeyler, her ne kadar aşırı yapıyorsanız kafa karıştırıcı olabilirler. – skaffman

1

bu karmaşık türü her zaman

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

sonucuna varılır, siz öğeler olarak kimliği ve Sürüm tanımlayıp daha sonra

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

kullanarak bunları referans olabilir. Ama o zaman, her ikisi de İd ve ​​Versiyon Sen türlerini uzatabilirsiniz

iyi şanslar Mike