XSD Karmaşık Eleman
- Önceki Sayfa XSD Sınırlama
- Sonraki Sayfa XSD Boş Eleman
Kompozit element, diğer elementler ve/veya özellikleri içerir.
Kompozit element nedir?
Kompozit element, diğer elementler ve/veya özellikleri içeren XML elementlerdir.
Dört tür kompozit element vardır:
- Boş element
- Diğer elemanları içeren elementler
- Sadece metni içeren elementler
- Elemanlar ve metni içeren elementler
Açıklama:Yukarıdaki elementler tümü de özellikler içerebilir!
Kompozit element örnekleri
Kompozit element, "product", boştur:
<product pid="1345"/>
Kompozit element, "employee", sadece diğer elemanları içerir:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
Kompozit element, "food", sadece metni içerir:
<food type="dessert">Dondurma</food>
Kompozit element, "description", elemanlar ve metni içerir:
<description> Bu, <date lang="norwegian">03.03.99</date> tarihinde gerçekleşti... </description>
Kompozit element nasıl tanımlanır?
Bu karma XML elementini, "employee", sadece diğer elementler içerir:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
XML Şeması'nda karma elementleri tanımlamak için iki yöntem vardır:
1. Bu elementi adlandırarak, "employee" elementine doğrudan erişebilirsiniz, örneğin:
<xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Eğer yukarıda açıklanan yöntemi kullandıysanız, sadece "employee" tanınan karma türünü kullanabilir. Dikkatlice, "firstname" ve "lastname" alt elementleri, <sequence> göstergesi içinde yer alır. Bu, alt elementlerin açıklanmış sırayla出现olması gerektiği anlamına gelir. Ayrıca XSD Göstergesi Bu bölümde, göstergeler hakkında daha fazla bilgi öğrenin.
2. "employee" elementi type özelliğini kullanabilir, bu özellik, kullanılacak karma türünün adını referans etmek içindir:
<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Eğer yukarıda açıklanan yöntemi kullandıysanız, bazı elementler aynı karma türünü kullanabilir, örneğin:
<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Ayrıca, mevcut karma elementleri üzerinde bir karma elementi temel alınarak bazı elementler ekleyebilirsiniz, örneğin:
<xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
- Önceki Sayfa XSD Sınırlama
- Sonraki Sayfa XSD Boş Eleman