Atribut XML
Elemen XML dapat memiliki atribut, seperti halnya HTML.
Atribut dirancang untuk memuat data yang terkait dengan elemen tertentu.
Atribut XML Harus Dikutip
Nilai atribut harus selalu dikutip. Baik tanda kutip tunggal atau ganda dapat digunakan.
Untuk jenis kelamin seseorang, elemen <person> dapat ditulis seperti ini:
<person gender="female">
atau seperti ini:
<person gender='female'>
Jika nilai atribut itu sendiri berisi tanda kutip ganda, Anda dapat menggunakan tanda kutip tunggal, seperti dalam contoh ini:
<gangster name='George "Shotgun" Ziegler'>
atau Anda dapat menggunakan entitas karakter:
<gangster name="George "Shotgun" Ziegler">
Elemen XML vs. Atribut
Perhatikan dua contoh ini:
<person gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<gender>female</gender>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
Dalam contoh pertama, gender adalah atribut. Dalam contoh terakhir, gender adalah sebuah elemen. Kedua contoh memberikan informasi yang sama.
Tidak ada aturan tentang kapan harus menggunakan atribut atau kapan harus menggunakan elemen dalam XML.
Cara Favoritku
Tiga dokumen XML berikut berisi informasi yang sama persis:
Atribut tanggal digunakan dalam contoh pertama:
<note date="2008-01-10">
<to>Tove</to>
<from>Jani</from>
</note>
Elemen <date> digunakan dalam contoh kedua:
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
</note>
Elemen <date> yang diperluas digunakan dalam contoh ketiga: (INI ADALAH FAVORIT SAYA):
<note>
<date>
<year>2008</year>
<month>01</month>
<day>10</day>
</date>
<to>Tove</to>
<from>Jani</from>
</note>
Hindari Atribut XML?
Beberapa hal yang perlu diperhatikan saat menggunakan atribut adalah:
- atribut tidak dapat berisi banyak nilai (elemen dapat)
- atribut tidak dapat berisi struktur pohon (elemen dapat)
- atribut tidak mudah diperluas (untuk perubahan di masa mendatang)
Jangan berakhir seperti ini:
<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
Atribut XML untuk Metadata
Terkadang referensi ID ditetapkan ke elemen. ID ini dapat digunakan untuk mengidentifikasi elemen XML dengan cara yang sama seperti atribut id dalam HTML. Contoh ini menunjukkan ini:
<messages>
<note id="501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
Atribut id di atas adalah untuk mengidentifikasi catatan yang berbeda. Itu bukan bagian dari catatan itu sendiri.
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.