2010-09-29 21 views
5

Ben elemanları rastgele sırada olması ve maxOccurs = "sınırsız" için izin bir XSD şeması tasarımı deneyin.XSD şeması

Benim XML:

<root> 
    <key></key> 
    <group></group> 
    <group> 
    <key></key> 
    <key></key> 
    <group> 
     <key></key> 
     <key></key> 
    </group> 
    </group> 
    <key></key> 
    <key></key> 
    <group> 
    <key></key> 
    <key></key> 
    <key></key> 
    </group> 
    <key></key> 
</root> 
+1

Eğer şimdiye kadar ne başardınız bize gösterir misin? Hangi elemanlardan bahsediyorsun? Ben senin modeli 'grup adı' elemanları hem' key' ve 'grup adı' unsurları içermesi izin verdiğini tahmin ediyorum ve İstediğiniz' root' aynı model olması. Bu doğru mu? –

+0

evet, ben istediğim şey. – magol

cevap

5

Sen <xs:choice> istiyorum:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:complexType name="groupType"> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="group" type="groupType"/> 
     <xs:element name="key"/> 
     </xs:choice> 
    </xs:complexType> 

    <xs:element name="root" type="groupType" /> 
</xs:schema> 

Ben Oksijen XML editörü içine numune XML yapıştırarak ve kullanarak bu var "Araçlar>/üret Şeması dönüştürme" ile giriş = örnek XML belgeniz. (Ben emin değilim ... yorganın altında Trang kullanabilirsiniz.) Sonra sonucunu tweaked.