Latest web development tutorials

elemen XML dan atribut perbandingan

Dalam XML, dan tidak ada ketentuan kapan menggunakan atribut, dan kapan harus menggunakan elemen anak.


Menggunakan elemen vs atribut

Data dapat disimpan dalam elemen anak atau atribut.

Mari kita lihat 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, "sex" adalah atribut. Dalam satu contoh, kembali, "sex" adalah sub-elemen. Namun keduanya memberikan informasi yang sama.

Tidak ada ketentuan khusus untuk kapan harus menggunakan atribut, dan kapan harus menggunakan elemen anak. Pengalaman saya adalah bahwa penggunaan multi-atribut dalam HTML berat, tapi dalam XML, penggunaan sub-elemen, akan terasa lebih seperti data.


Saya suka jalan

Saya ingin menyimpan data di elemen anak

Berikut tiga dokumen XML tepat berisi informasi yang sama:

Contoh ini menggunakan "tanggal" atribut:

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

Contoh ini menggunakan "date" elemen:

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

Contoh ini menggunakan ekstensi "tanggal" elemen: (Ini adalah cara 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?

Anda harus menghindari menggunakan atribut?

Beberapa atribut memiliki masalah berikut:

  • Atribut tidak dapat berisi beberapa nilai (elemen anak bisa)
  • Atribut yang tidak mudah diperluas (untuk kebutuhan masa depan berubah)
  • Atribut tidak dapat menggambarkan struktur (elemen anak bisa)
  • Atribut lebih sulit untuk memanipulasi kode program
  • Nilai atribut tidak mudah untuk menguji DTD

Jika Anda menggunakan properti sebagai wadah data, dokumen XML yang dihasilkan akan sulit untuk membaca dan menjaga. Cobalah untuk menggunakanelemen untuk menggambarkan data.untuk menggambarkan data. Data hanya menyediakan informasi yang tidak relevan ketika kita merekomendasikan penggunaan properti.

Jangan berakhir seperti ini (yang tidak 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 properti

Selalu ada aturan lain

Aturan di properti Saya memiliki pengecualian.

Kadang-kadang saya menggunakan elemen ditentukan ID. Aplikasi ini dapat digunakan sebagai ID NAMA atribut atau ID untuk mengakses elemen XML dalam HTML dalam situasi yang sama banyak. Contoh berikut menggambarkan pendekatan 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>

dokumen XML pada contoh di atas, ID hanya satu counter, atau pengenal unik untuk mengidentifikasi catatan yang berbeda, bukan sebagai bagian dari data.

Saya ingin katakan di sini adalah bahwa metadata (data tentang data) harus disimpan sebagai atribut, dan bahwa data itu sendiri harus disimpan sebagai elemen.