2011-05-21 21 views
6

uzatma Bu ikisi arasındaki pratik diference Nedir:Fark: XML şeması

<xs:element name="A"> 
<xs:complexType mixed="true"> 
    <xs:attribute name="att" type="xs:boolean"/> 
</xs:complexType> 
</xs:element> 

<xs:element name="B"> 
<xs:complexType> 
    <xs:simpleContent> 
    <xs:extension base="xs:string"> 
    <xs:attribute name="att" type="xs:boolean"/> 
    </xs:extension> 
    </xs:simpleContent> 
</xs:complexType> 
</xs:element> 
+0

@Michael Kay'ın yanıtına bakın: http://stackoverflow.com/questions/12474018/what-is-the-meaning-of-xsmixed-without-elements/36043922#36043922 –

cevap

11

iki farklı. İlk örneğiniz, karışık içeriği, yani alt öğeleri ile karıştırılmış karakter verilerini ifade eden mixed="true" kullanır. İkinci örneğiniz ise, öğe içeriğini xs:string türüyle sınırlandırır. Her ikisi de bir özelliğin varlığını gösterir.

Örneğinizle, her ikisi de pratik olarak aynıdır. Bununla birlikte, karma içeriğe sahip olmayı düşünmüyorsanız, yani çocuk öğeleri eklemeyi planlamıyorsanız, ikinci sürüm daha nettir.

+1

Hata mesajı bile aynı VS2010: 'X' öğesi, 'E' elemanını içeremez, çünkü ana öğenin içerik modeli yalnızca metintir. –