Tutorial XML

RUMAH XML Pengantar XML XML Cara menggunakan Pohon XML Sintaks XML Elemen XML Atribut XML Ruang Nama XML Tampilan XML XML HttpRequest Pengurai XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Validator XML XML DTD Skema XML Server XML Contoh XML Kuis XML Sertifikat XML

XML AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

XML DOM

Pengenalan DOM Node DOM Mengakses DOM Info Simpul DOM Daftar Simpul DOM Melintasi DOM Navigasi DOM DOM Dapatkan Nilai DOM Ubah Node DOM Hapus Node DOM Ganti Node DOM Buat Node DOM Tambahkan Node Node Klon DOM Contoh DOM

Tutorial XPath

Pengenalan XPath Node XPath Sintaks XPath Sumbu XPath Operator XPath Contoh XPath

Tutorial XSLT

Pengenalan XSLT Bahasa XSL Transformasi XSLT XSLT <templat> XSLT <nilai-dari> XSLT <untuk-setiap> XSLT <sort> XSLT <jika> XSLT <pilih> Terapkan XSLT XSLT di Klien XSLT di Server XSLT Sunting XML Contoh XSLT

Tutorial XQuery

Pengenalan XQuery Contoh XQuery XQuery FLWOR HTML XQuery Persyaratan XQuery Sintaks XQuery Tambahkan XQuery XQuery Pilih Fungsi XQuery

XML DTD

Pengenalan DTD Blok Bangunan DTD Elemen DTD Atribut DTD Elemen DTD vs Attr Entitas DTD Contoh DTD

Skema XSD

Pengenalan XSD XSD Bagaimana caranya? XSD <skema> Elemen XSD Atribut XSD Pembatasan XSD

Kompleks XSD

Elemen XSD XSD Kosong Elemen XSD Saja Hanya Teks XSD Campuran XSD Indikator XSD XSD <apa saja> XSD <anyAttribute> Pergantian XSD Contoh XSD

Data XSD

String XSD Tanggal XSD XSD Numerik XSD Lain-lain Referensi XSD

Layanan Web

Layanan XML XML WSDL XML SOAP XML RDF XML RSS

Referensi

Jenis Node DOM Simpul DOM Daftar Simpul DOM DOM BernamaNodeMap Dokumen DOM Elemen DOM Atribut DOM Teks DOM DOM CDATA Komentar DOM DOM XMLHttpRequest Pengurai DOM Elemen XSLT Fungsi XSLT/XPath

Elemen Kompleks XSD


Elemen kompleks berisi elemen dan/atau atribut lain.


Apa itu Elemen Kompleks?

Elemen kompleks adalah elemen XML yang berisi elemen dan/atau atribut lain.

Ada empat jenis elemen kompleks:

  • elemen kosong
  • elemen yang hanya mengandung elemen lain
  • elemen yang hanya berisi teks
  • elemen yang mengandung elemen lain dan teks

Catatan: Masing-masing elemen ini mungkin berisi atribut juga!


Contoh Elemen Kompleks

Elemen XML kompleks, "produk", yang kosong:

<product pid="1345"/>

Elemen XML kompleks, "karyawan", yang hanya berisi elemen lain:

<employee>
  <firstname>John</firstname>
  <lastname>Smith</lastname>
</employee>

Elemen XML kompleks, "makanan", yang hanya berisi teks:

<food type="dessert">Ice cream</food>

Elemen XML yang kompleks, "deskripsi", yang berisi elemen dan teks:

<description>
It happened on <date lang="norwegian">03.03.99</date> ....
</description>


Bagaimana Mendefinisikan Elemen Kompleks

Lihat elemen XML kompleks ini, "karyawan", yang hanya berisi elemen lain:

<employee>
  <firstname>John</firstname>
  <lastname>Smith</lastname>
</employee>

Kita dapat mendefinisikan elemen kompleks dalam Skema XML dengan dua cara berbeda:

1. Elemen "karyawan" dapat dideklarasikan secara langsung dengan memberi nama elemen tersebut, seperti ini:

<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>

Jika Anda menggunakan metode yang dijelaskan di atas, hanya elemen "karyawan" yang dapat menggunakan tipe kompleks yang ditentukan. Perhatikan bahwa elemen turunan, "nama depan" dan "nama belakang", dikelilingi oleh indikator <sequence>. Ini berarti bahwa elemen anak harus muncul dalam urutan yang sama seperti yang dideklarasikan. Anda akan mempelajari lebih lanjut tentang indikator di bab Indikator XSD.

2. Elemen "karyawan" dapat memiliki atribut tipe yang mengacu pada nama tipe kompleks yang akan digunakan:

<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>

Jika Anda menggunakan metode yang dijelaskan di atas, beberapa elemen dapat merujuk ke tipe kompleks yang sama, seperti ini:

<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>

Anda juga dapat mendasarkan tipe kompleks pada tipe kompleks yang ada dan menambahkan beberapa elemen, seperti ini:

<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>