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

Indikator XSD


Kita dapat mengontrol BAGAIMANA elemen yang akan digunakan dalam dokumen dengan indikator.


Indikator

Ada tujuh indikator:

Indikator pesanan:

  • Semua
  • Pilihan
  • Urutan

Indikator kejadian:

  • max Terjadi
  • minTerjadi

Indikator grup:

  • Nama grup
  • atributNama grup

Indikator Pesanan

Indikator urutan digunakan untuk menentukan urutan elemen.

Semua Indikator

Indikator <all> menetapkan bahwa elemen turunan dapat muncul dalam urutan apa pun, dan bahwa setiap elemen turunan hanya boleh muncul satu kali:

<xs:element name="person">
  <xs:complexType>
    <xs:all>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

Catatan: Saat menggunakan indikator <all> Anda dapat mengatur indikator <minOccurs> ke 0 atau 1 dan indikator <maxOccurs> hanya dapat diatur ke 1 (<minOccurs> dan <maxOccurs> akan dijelaskan nanti).

Indikator Pilihan

Indikator <choice> menetapkan bahwa salah satu elemen turunan atau elemen lainnya dapat terjadi:

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

Indikator Urutan

Indikator <sequence> menetapkan bahwa elemen turunan harus muncul dalam urutan tertentu:

<xs:element name="person">
   <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>


Indikator Kejadian

Indikator kejadian digunakan untuk menentukan seberapa sering suatu elemen dapat terjadi.

Catatan: Untuk semua indikator "Urutan" dan "Grup" (semua, semua, pilihan, urutan, nama grup, dan referensi grup) nilai default untuk maxOccurs dan minOccurs adalah 1.

Indikator maxOccurs

Indikator <maxOccurs> menentukan berapa kali elemen dapat muncul:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string" maxOccurs="10"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Contoh di atas menunjukkan bahwa elemen "child_name" dapat muncul minimal satu kali (nilai default untuk minOccurs adalah 1) dan maksimal sepuluh kali dalam elemen "person".

minIndikator Terjadi

Indikator <minOccurs> menentukan berapa kali suatu elemen dapat muncul:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string"
      maxOccurs="10" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Contoh di atas menunjukkan bahwa elemen "child_name" dapat muncul minimal nol kali dan maksimal sepuluh kali pada elemen "person".

Tip: Untuk mengizinkan elemen muncul dalam jumlah yang tidak terbatas, gunakan pernyataan maxOccurs="unbounded":

Contoh kerja:

File XML bernama "Myfamily.xml":

<?xml version="1.0" encoding="UTF-8"?>

<persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="family.xsd">

<person>
  <full_name>Hege Refsnes</full_name>
  <child_name>Cecilie</child_name>
</person>

<person>
  <full_name>Tove Refsnes</full_name>
  <child_name>Hege</child_name>
  <child_name>Stale</child_name>
  <child_name>Jim</child_name>
  <child_name>Borge</child_name>
</person>

<person>
  <full_name>Stale Refsnes</full_name>
</person>

</persons>

File XML di atas berisi elemen root bernama "persons". Di dalam elemen root ini kita telah mendefinisikan tiga elemen "orang". Setiap elemen "orang" harus berisi elemen "nama_lengkap" dan dapat berisi hingga lima elemen "nama_anak".

Berikut adalah file skema "family.xsd":

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">

<xs:element name="persons">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="person" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="full_name" type="xs:string"/>
            <xs:element name="child_name" type="xs:string"
            minOccurs="0" maxOccurs="5"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

Indikator Kelompok

Indikator kelompok digunakan untuk mendefinisikan kumpulan elemen yang terkait.

Grup Elemen

Grup elemen didefinisikan dengan deklarasi grup, seperti ini:

<xs:group name="groupname">
...
</xs:group>

Anda harus mendefinisikan semua, pilihan, atau elemen urutan di dalam deklarasi grup. Contoh berikut mendefinisikan grup bernama "persongroup", yang mendefinisikan grup elemen yang harus muncul dalam urutan yang tepat:

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>

Setelah Anda mendefinisikan grup, Anda dapat mereferensikannya dalam definisi lain, seperti ini:

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>

<xs:element name="person" type="personinfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:group ref="persongroup"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

Grup Atribut

Grup atribut didefinisikan dengan deklarasi atributGroup, seperti ini:

<xs:attributeGroup name="groupname">
...
</xs:attributeGroup>

Contoh berikut mendefinisikan grup atribut bernama "personattrgroup":

<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

Setelah Anda mendefinisikan grup atribut, Anda dapat mereferensikannya dalam definisi lain, seperti ini:

<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

<xs:element name="person">
  <xs:complexType>
    <xs:attributeGroup ref="personattrgroup"/>
  </xs:complexType>
</xs:element>