Elemen ekspansi XML Schema
Definisi dan penggunaan
Elemen extension mengembangkan elemen simpleType atau complexType.
Informasi elemen
| Kali muncul | 1 kali |
| Elemen induk | complexContent |
| Konten | annotation, attribute, attributeGroup, anyAttribute, choice, all, sequence, group |
Sintaks
<extension id=ID base=QName any attributes > (annotation?,((group|all|choice|sequence)?, ((attribute|attributeGroup)*,anyAttribute?))) </extension>
| Atribut | Deskripsi |
|---|---|
| id | Pilihan. Menentukan ID unik elemen ini. |
| base | Wajib. Menentukan nama tipe data bawaan, simpleType, atau complexType elemen. |
| xml:lang | Pilihan. Menentukan bahasa yang digunakan dalam konten. |
Pernyataan simbol hanya boleh muncul dalam elemen extension, elemen ini hanya boleh muncul 0 atau 1 kali, simbol * menandakan elemen ini boleh muncul 0 atau lebih kali.
Contoh
Contoh 1
Contoh di bawah ini menambahkan atribut untuk memperluas simpleType yang sudah ada:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="size">
<xs:restriction base="xs:string">
<xs:enumeration value="small" />
<xs:enumeration value="medium" />
<xs:enumeration value="large" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="jeans">
<xs:simpleContent>
<xs:extension base="size">
<xs:attribute name="sex">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="male" />
<xs:enumeration value="female" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
Contoh 2
Contoh di bawah ini menambahkan tiga elemen untuk memperluas elemen complexType yang sudah ada:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<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>
</xs:schema>

