Mengenal Elemen Dan Atribut Pada Dokumen XML Beserta Syntax

Posted on

Pada artikel sebelumnya tentang pengertian XML disebutkan bahwa bahwa XML didesain untuk mendeskripsikan data, sedangkan HTML difokuskan untuk menampilkan data atau bagaimana data harus ditampilkan. Jadi dalam hal ini kita melihat bahwa XML dan HTML saling melengkapi.

XML didesain untuk membawa, dan mempertukarkan data dan bukan didesain untuk menampilkan data. Dengan kata lain XML dapat melakukan pemisahan antara data dan HTML. Dengan begitu maka data kita disimpan tidak dalam HTML, melainkan di luarnya. Postingan kali ini membahas tentang elemen dan atribut yang terdapat pada dokumen XML, Apa sajakah itu? kita simak penjelasan berikut ini:

Elemen XML

Elemen XML Dapat Diperluas. Dokumen XML dapat diperluas untuk membawa informasi yang lebih banyak, perhatikan contoh ‘note’ di bawah ini

<note>
<to>Alif</to>
<from>Avi</from>
<body>Jangan lupa janji kita minggu ini !</body> </note>

Bayangkan dengan elemen <to>, <from> dan <body> kita membuat aplikasi yang dapat menghasilkan keluaran seperti di bawah ini,

MESSAGE
To: Alif
From: Avi
Jangan lupa janji kita minggu ini !

Ketika membuat dokumen XML di atas kita menambahkan informasi ekstra seperti berikut ini,

<note>
<date>1999-08-01</date>
<to>Alif</to>
<from>Avi</from>
<heading>Reminder</heading>
<body>Jangan lupa janji kita minggu ini !</body> </note>

Apakah dengan penambahan tersebut dokumen di atas menjadi tidak bisa dijalankan?, sebenarnya jawabnnya adalah tidak, karena aplikasi tetap menemukan <to>, <from>, dan <body>. Karena itu dapat tetap menghasilkan keluaran yang sama.

Relasi Elemen dalam XML

Elemen berelasi seperti hubungan orang tua (parents) dan anak (children). Untuk mengerti terminologi XML, kita harus tahu relasi antara elemen XML yang mempunyai nama dan bagaimana isi elemen dideskripsikatK Bayangkan contoh di bawah sebagai deskripsi suatu buku.

Book Title: My First XML
Chapter 1: Introduction to XML

  • What is HTML
  • What is XML

Chapter 2: XML Syntax

  • Elements must have a closing tag
  • Elements must be properly nested

Deskripsi di atas diturunkan dalam XML di bawah ini

<book>
<title>My First XML</title>
<prOd id= “33 -6 5711 media= “paper”></prod>
<chapter>Introduction to XML <para>What is HTML</para>
<para>What is XML</para>
</chapter>
<chapter>XML Syntax
<para>Elements must have a closing tag</para> <para>Elements must be properly nested</para>
</chapter>
</book>

Tag <book> sebagai root tag, sedangkan tag <title>, <prod>, dan <chapter> berfungsi sebagai elemen anak dari tag <book>. Book merupakan elemen parents dari elemen lainnya. Tag <title>, <prod>, dan < chapter> merupakan elemen sepupu karena mempunyai orang tua yang sama.

Elemen Mempunyai Isi

Elemen dapat mempunyai tipe isi yang berbeda. Elemen XML meliputi tag elemen pertama sampai dengan tag elemen terakhir. Elemen dapat mempunyai isi, isi campuran, isi sederhana, ataupun isi kosong. Elemen juga dapat mempunyai atribut.

Pada contoh di atas, tag <book> mempunyai isi berupa elemen lain, seperti tag <chapter> dll. Tag <chapter> mempunyai isi campuran karena mempunyai teks dan sekaligus elemen lain yaitu tag <chapter>. Tag <para> mempunyai isi sederhana, (biasanya teks) karena hanya berisi teks saja. Tag <prod> mempunyai isi kosong karena tidak mempunyai informasi apa pun.

Pada contoh di atas hanya elemen tag <prod> saja yang mempunyai atribut. Atributnya bernama ‘id’ yang berisi nilai “33-657”. Sedangkan atribut media mempunyai isi “paper”.

Penamaan Elemen

Elemen XML mempunyai aturan penamaan,

  • Nama dapat berisi huruf, angka, dan karakter lain.
  • Nama tidak boleh dimulai dengan angka ataupun tanda baca.
  • Nama harus dimulai dengan huruf
  • Nama tidak boleh mempunyai spasi.

Pastikan dan ikuti aturan berikut untuk menamai elemen. Nama apa saja dapat digunakan, tak ada kata cadangan (reserved word), tetapi idenya adalah membuat nama sejelas mungkin. Jika kurang jelas dan membutuhkan lebih dari satu kata dapat menggunakan pemisah (underscore) seperti ini Contohnya seperti tag <first_name> atau <last_name>. Hindari penggunaan simbol minus ataupun titik dalam memberi nama.

Akan membingungkan bagi perangkat lunak untuk mengerti yang kita maksudkan adalah bukan sebagai operator pengurangan (minus). Atau jika menggunakan titik akan menyebabkan “name” dianggap sebagi property objek “first” dalam contoh “first.name”.

Elemen nama dapat dibuat panjang sesuka kita, tetapi jangan terlalu berlebihan. Nama sebaiknya singkat dan sederhana, misalnya <book__title> dan jangan seperti ini <the_title_of_the_book>.

Dokumen XML sering mempunyai basis data korespondensi, bahwa setiap field basis data berkorespondensi dengan elemen field dalam XML. Cara paling mudah dalam menggunakan nama adalah menggunakan.mama dalam basis data korepondensi. Huruf yang khusus seperti e, 6, dan a dapat digunakan dalam XML, tetapi harus diperhatikam apakah produsen perangkat lunak mendukung standarnya. Karakter tidak digunakan dalam nama elemen karena akan digunakan sebagai reserved word untuk sesuatu yang dinamakan called namespaces (tidak dibahas di sini).

XML Attributes

Elemen XML dapat mempunyai atribut, seperti dalam HTML <IMG SRC=”computer.gif” >. Atribut SRC pada contoh ini menyediakan informasi tambahan untuk elemen <IMG>. Dalam HTML (dan juga XML), atribut menyediakan informasi tambahan elemen.

<img src=”computer.gif”>
<a href=”demo.asp”>

Atribut acapkali menyediakan informasi yang bukan merupakan bagian dari data. Pada contoh di bawah, tag <file typo tidak relevan dengan data, tetapi penting bagi perangkat lunak yang akan memanipulasi elemen tersebut,

<file type=”gif”scomputer.gif</file>

Tanda Petik Ganda atau Tunggal?

Nilai atribut hams dikurung di antara tanda petik, kedua jenis tanda, baik ganda maupun tunggal, kedua-duanya dapat digunakan. Untuk jenis kelamin personal misalnya dapat dituliskan seperti gambar di bawah,

<person sex=”female”>

Ataupun seperti ini,

<person sex=’female’>

Tanda petik ganda adalah yang paling sering digunakan, tapi kadang (jika nilai atribut juga mengandung tanda petik) perlu juga menggunakan petik tunggal, seperti contoh berikut, kata “Shotgun” merupakan bagian dari nama gangster,

<gangster name=’ George “Shotgun” Ziegler’>

Penggunaan Elemen vs Atribut

Data dapat disimpan dalam elemen anak (child) atau dalam atribut. Perhatikan contoh pertama di bawah ini,

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

Atau contoh kedua

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

Pada contoh pertama sex merupakan atribut. Pada contoh kedua sebaliknya sex merupakan elemen. Kedua kasus ini menyajikan informasi yang sama. Sebenamya tak ada aturan yang pasti kapan haruss menggunakan atribut dan kapan justru menggunakan elemen anak.

Berdasarkan pengalaman, atribut lebih mudah ditangani dalam HTML, dan dengan demikian penggunaan atribut dalam XML justru sebaiknya dihindari. Gunakanlah elemen child untuk informasi yang dirasakan lebih mendekati karakteristik data.

Cara Termudah

Secara umum data lebih mudah disimpan dalam elemen anak. Tiga contoh di bawah ini menyajikan hal yang sama, tanggal (date) digunakan sebagai atribut dalam contoh pertama.

<note date=”12/ll/99″>
<to>Alif</to>
< from>Avi</f rom>
<heading>Reminder</headings
<body>Jangan lupa janji kita minggu ini !</body> </note>

Elemen date digunakan dalam contoh kedua

<note>
<date>12/ll/99</date>
<to>Alif</to>
< from>Avi</f rom>
<heading>Reminder</heading>
<body>Jangan lupa janji kita minggu ini !</body> </note>

Elemen date dipecah menjadi tiga elemen (bentuk yang paling mudah digunakan) yaitu tag <day>, <month>, dan <year>.

<note>
<date>
<day>12</day>
<month>11</month>
<to>Alif</to>
< from>Avi</from>
<heading>Reminder</heading>
<body>Jangan lupa janji kita minggu ini !</body>
</note>

Menghindari Penggunaan Atribut

Berikut ini problem yang muncul dengan penggunaan atribut

  • Atribut tak dapat mengandung nilai ganda (sementara elemen anak dapat)
  • Atribut tak mudah dikembangkan (jika ada perubahan di masa mendatang)
  • Atribut tak dapat mendeskripsikan struktur (sementara elemen anak dapat)
  • Atribut lebih sukar dimanipulasi lewat program.
  • Nilai atribut tidak mudah di cek kesesuaiannya dengan DTD.

Jika kita menggunakan atribut untuk membawa data, maka dokumentasi sistem akan sulit dibaca ataupun dipelihara. Cobalah menggunakan elemen untuk mendeskripsikan data. Gunakan atribut untuk menyediakan informasi yang tidak berhubungan atau tidak relevan dengan data.

Pengecualian Aturan bagi Atribut

Secara umum aturan selalu mempunyai pengecualian, demikian juga untuk aturan atribut. Kadang kita perlu menentukan atribut ‘ID’ yang mengacu pada elemen. Atribut ID dapat digunakan untuk mengakses elemen XML dengan cara yang sama seperti atribut ‘NAME’ atau atribut ‘ID’ dalam HTML. Contoh di bawah menunjukkan hal ini,

<messages>
<note ID=”501″>
<to>Alif</to>
<from>Avi</from>
<heading>Reminder</heading>
<body>Jangan lupa janji kita minggu ini !</body> </note>
<note ID=”502″>
<to>Avi</to>
< f rom>Alif </f rom>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note>
</messages>

Atribut ‘ID’ dalam contoh ini sebenarnya cuma berupa penghitung, atau identifier unik untuk membedakan <note> yang satu dengan <note> yang lain dalam file XML, dan bukan merupakan bagian dari data itu sendiri.

Apa yang disampaikan di sini sebenarnya lebih merupakan implementasi metadata (atau secara umum diartikan sebagai data yang menjelaskan data lain) yang sebaiknya disimpan sebagai atribut, sedangkan datanya sendiri disimpan sebagai elemen.

Demikian penjelasan singkat yang bisa admin sampaikan. Semoga artikel ini bisa menambah pengetahuan anda tentang dunia pemograman dan ilmu yang dibagikan dapat bermanfaat bagi pembaca. Sampai bertemu di postingan-postingan selanjutnya..see you ^-^