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 XML vs. Atribut


Dalam XML, tidak ada aturan tentang kapan harus menggunakan atribut, dan kapan harus menggunakan elemen turunan.


Penggunaan Elemen vs. Atribut

Data dapat disimpan dalam elemen anak atau dalam atribut.

Lihatlah contoh-contoh ini:

<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

Dalam contoh pertama, seks adalah atribut. Terakhir, seks adalah elemen anak. Kedua contoh memberikan informasi yang sama.

Tidak ada aturan tentang kapan harus menggunakan atribut, dan kapan harus menggunakan elemen turunan. Pengalaman saya adalah bahwa atribut berguna dalam HTML, tetapi dalam XML Anda harus mencoba menghindarinya. Gunakan elemen anak jika informasinya terasa seperti data.


Cara Favoritku

Saya suka menyimpan data dalam elemen anak.

Tiga dokumen XML berikut berisi informasi yang sama persis:

Atribut tanggal digunakan dalam contoh pertama:

<note date="12/11/2002">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Elemen tanggal digunakan dalam contoh kedua:

<note>
  <date>12/11/2002</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Elemen tanggal yang diperluas digunakan di yang ketiga: (INI ADALAH FAVORIT SAYA):

<note>
  <date>
    <day>12</day>
    <month>11</month>
    <year>2002</year>
  </date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>


Hindari menggunakan atribut?

Haruskah Anda menghindari penggunaan atribut?

Beberapa masalah dengan atribut adalah:

  • atribut tidak dapat berisi banyak nilai (elemen anak dapat)
  • atribut tidak mudah diperluas (untuk perubahan di masa mendatang)
  • atribut tidak dapat menggambarkan struktur (elemen anak dapat)
  • atribut lebih sulit untuk dimanipulasi oleh kode program
  • nilai atribut tidak mudah untuk diuji terhadap DTD

Jika Anda menggunakan atribut sebagai wadah untuk data, Anda akan mendapatkan dokumen yang sulit dibaca dan dipelihara. Coba gunakan elemen untuk mendeskripsikan data. Gunakan atribut hanya untuk memberikan informasi yang tidak relevan dengan data.

Jangan berakhir seperti ini (ini bukan bagaimana XML harus digunakan):

<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

Pengecualian untuk Aturan Atribut saya

Aturan selalu memiliki pengecualian.

Aturan saya tentang atribut memiliki satu pengecualian:

Terkadang saya menetapkan referensi ID ke elemen. Referensi ID ini dapat digunakan untuk mengakses elemen XML dengan cara yang sama seperti atribut NAME atau ID dalam HTML. Contoh ini menunjukkan ini:

<messages>
<note id="p501">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

<note id="p502">
  <to>Jani</to>
  <from>Tove</from>
  <heading>Re: Reminder</heading>
  <body>I will not!</body>
</note>
</messages>

ID dalam contoh ini hanyalah penghitung, atau pengenal unik, untuk mengidentifikasi catatan berbeda dalam file XML, dan bukan bagian dari data catatan.

Apa yang saya coba katakan di sini adalah bahwa metadata (data tentang data) harus disimpan sebagai atribut, dan data itu sendiri harus disimpan sebagai elemen.