Bab 5: Penguraian instance XML
garis besar:
1: Contoh efek
Dua: Contoh Analisis 1. Definisikan logo baru.
2. Buat dokumen XML.
3. Buat file HTML yang sesuai.
XML banyak digunakan di berbagai bidang, seperti MathML di bidang teknologi, WML dalam aplikasi komunikasi nirkabel, SVG dalam gambar jaringan, dll. Di sini kami fokus pada penerapan XML di web. Penerapan XML di web terutama memanfaatkan kemampuan manipulasi datanya yang kuat. Umumnya menggunakan XML dengan program sisi server seperti JavaScript dan ASP, hampir semua kebutuhan aplikasi pada jaringan dapat terwujud.
Mengingat kemudahan penjelasannya, kami memperkenalkan contoh sederhana di bawah ini, yang tidak menyertakan program sisi server. Tujuannya adalah memberi Anda pemahaman persepsi tentang kemampuan manipulasi data XML.
Oke, mari kita [klik di sini] dulu untuk melihat efek contohnya. (Silakan gunakan browser versi IE5.0 atau lebih tinggi untuk membukanya)
Ini adalah fungsi pengambilan data rekaman CD sederhana. Anda dapat melihat informasi relevan dari satu CD dengan mengklik "Sebelumnya" dan "Berikutnya". Kami awalnya menggunakan dua metode untuk mencapai efek ini:
1. Gunakan DHTML untuk menyembunyikan data di lapisan berbeda dan menampilkannya secara berurutan melalui peristiwa mouse;
2. Gunakan program latar belakang (seperti ASP, CGI, PHP, JSP, dll.) untuk memanggil data sisi server.
Namun dalam contoh ini, ketika kita membuka kode asli halaman tersebut, kita dapat melihat bahwa tidak ada DIV DHTML atau tindakan formulir. Ini sepenuhnya diimplementasikan dalam XML. Mari kita analisa proses produksinya di bawah ini:
Langkah pertama: Tentukan identitas baru.
Berdasarkan data CD sebenarnya, pertama buat identifikasi baru bernama <CD>, kedua, buat identifikasi data terkait, yaitu: nama CD <Judul>, penyanyi <Artis>, tahun penerbitan <Tahun>, negara <Negara> , perusahaan penerbit <Perusahaan> dan harga <Harga>; terakhir, logo bernama katalog <KATALOG> harus dibuat. Mengapa membuat tag <CATALOG> lain? Karena ditentukan dalam dokumen XML bahwa harus ada dan hanya boleh ada satu elemen root (identitas), kita memiliki beberapa data CD, dan data ini berada dalam hubungan paralel, jadi kita perlu membuat elemen root untuk elemen paralel tersebut.
Definisi dan hubungan elemen di atas sepenuhnya sesuai dengan standar XML dan tidak memerlukan file DTD khusus untuk didefinisikan, sehingga definisi DTD dapat dihilangkan. Jika kita ingin menggunakan DTD untuk mendefinisikannya, proses di atas dapat dinyatakan sebagai:
<!KATALOG ELEMEN (CD)*>
<!ELEMENT CD (Judul,Artis,Tahun,Negara,Perusahaan,Harga)>
<!Judul ELEMEN (#PCDATA)>
<!ELEMENT Artis (#PCDATA)>
<!ELEMENT Tahun (#PCDATA)>
<!ELEMENT Negara (#PCDATA)>
<!ELEMENT Company (#PCDATA)>
<!Harga ELEMEN (#PCDATA)>
Kode ini menunjukkan bahwa elemen KATALOG berisi beberapa sub-elemen CD, dan sub-elemen CD pada gilirannya berisi enam sub-elemen: Judul, Artis, Tahun, Negara, Perusahaan, Harga, dan isinya didefinisikan sebagai teks (karakter, angka, teks) . (Catatan: Untuk instruksi sintaksis spesifik, silakan lihat pengantar DTD di bab sebelumnya)
Langkah 2: Buat dokumen XML.
<?xml versi="1.0"?>
<KATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>AS</COUNTRY>
<PERUSAHAAN>Kolumbia</PERUSAHAAN>
<HARGA>10,90</PRICE>
<TAHUN>1985</TAHUN>
</CD>
<CD>
<TITLE>Sembunyikan hatimu</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>Inggris</COUNTRY>
<PERUSAHAAN>Catatan CBS</PERUSAHAAN>
<HARGA>9,90</PRICE>
<TAHUN>1988</TAHUN>
</CD>
<CD>
<TITLE>Hit Terhebat</TITLE>
<ARTIST>Dolly Parton</ARTIST>
<COUNTRY>AS</COUNTRY>
<PERUSAHAAN>RCA</PERUSAHAAN>
<HARGA>9,90</PRICE>
<TAHUN>1982</TAHUN>
</CD>
<CD>
<TITLE>Masih ada musik bluesnya</TITLE>
<ARTIST>Gary Lainnya</ARTIST>
<COUNTRY>Inggris</COUNTRY>
<PERUSAHAAN>Perawan redord</PERUSAHAAN>
<HARGA>10.20</PRICE>
<TAHUN>1990</TAHUN>
</CD>
<CD>
<TITLE>Ero</TITLE>
<ARTIST>Eros Ramazzotti</ARTIST>
<COUNTRY>EU</COUNTRY>
<PERUSAHAAN>BMG</PERUSAHAAN>
<HARGA>9,90</PRICE>
<TAHUN>1997</TAHUN>
</CD>
</KATALOG>
Kode di atas pertama-tama menggunakan pernyataan deklarasi <?xml version="1.0"?> untuk menunjukkan bahwa ini adalah dokumen XML, dan formatnya sesuai dengan spesifikasi standar XML 1.0. Lalu ada isi dokumen, struktur pohonnya sangat jelas:
<KATALOG>
<CD>
...
</CD>
<CD>
...
</CD>
</KATALOG>
Sebanyak 5 set data ditentukan. Kami menyimpan kode di atas sebagai file cd.xml untuk panggilan.
Langkah 3: Buat file HTML yang sesuai.
1. Impor data XML.
Kita tahu bahwa di antara browser populer saat ini, hanya browser Microsoft IE5.0 dan yang lebih baru yang saat ini mendukung XML. IE mendukung penyisipan XML melalui objek objek dalam HTML, dan mengimpor data melalui metode XMLDocument.load() js. Mari kita lihat kodenya: <object WIDTH="0" HEIGHT="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
</objek>
Definisikan objek dengan nama ID xmldso. Kemudian gunakan js untuk memasukkan data xml di area kepala:
<skrip untuk="jendela" event="onload">
xmldso.XMLDocument.load("cd.xml");
</skrip>
2. Paket data.
Tag <SPAN> kemudian akan digunakan untuk mengikat data XML dalam tabel. Diantaranya, ID, DATASRC, dan DTATFLD semuanya merupakan atribut <SPAN>. Kodenya adalah sebagai berikut:
<tabel>
<tr><td>Judul:</td><td><SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE"></SPAN></td></tr>
<tr><td>Artis:</td><td><SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST"></SPAN></td></tr>
<tr><td>Tahun:</td><td><SPAN ID="year" DATASRC=#xmldso DATAFLD="YEAR"></SPAN></td></tr>
<tr><td>Negara:</td><td><SPAN ID="negara" DATASRC=#xmldso DATAFLD="COUNTRY"></SPAN></td></tr>
<tr><td>Perusahaan:</td><td><SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY"></SPAN></td></tr>
<tr><td>Harga:</td><td><SPAN ID="price" DATASRC=#xmldso DATAFLD="PRICE"></SPAN></td></tr>
</tabel>
3. Operasi aksi.
Terakhir, sediakan tombol telusuri untuk data:
<INPUT TYPE=tombol VALUE="CD Sebelumnya" ONCLICK="moveprevious()">
<INPUT TYPE=tombol VALUE="CD Berikutnya" ONCLICK="movenext()">
Dan gunakan js untuk menyelesaikan dua fungsi klik mouse: movenext() dan moveprevious(). Tambahkan kode berikut ke area kepala:
<bahasa skrip="JavaScript">
fungsi pindah berikutnya()
{
if (xmldso.recordset.absoluteposition < xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
fungsi pindah sebelumnya()
{
if (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
</skrip>
Oke, mari kita lihat dulu keseluruhan kode asli file HTMLnya:
<html>
<kepala>
<skrip untuk="jendela" event="onload">
xmldso.XMLDocument.load("cd.xml");
</skrip>
<bahasa skrip="JavaScript">
fungsi pindah berikutnya()
{
if (xmldso.recordset.absoluteposition < xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
fungsi pindah sebelumnya()
{
if (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
</skrip>
<TITLE>Navigasi CD</TITLE>
</kepala>
<tubuh>
<p>
<objek LEBAR="0" TINGGI="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
</objek>
<tabel>
<tr><td>Judul:</td><td><SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE"></SPAN></td></tr>
<tr><td>Artis:</td><td><SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST"></SPAN></td></tr>
<tr><td>Tahun:</td><td><SPAN ID="year" DATASRC=#xmldso DATAFLD="YEAR"></SPAN></td></tr>
<tr><td>Negara:</td><td><SPAN ID="negara" DATASRC=#xmldso DATAFLD="COUNTRY"></SPAN></td></tr>
<tr><td>Perusahaan:</td><td><SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY"></SPAN></td></tr>
<tr><td>Harga:</td><td><SPAN ID="price" DATASRC=#xmldso DATAFLD="PRICE"></SPAN></td></tr>
</tabel>
<p>
<INPUT TYPE=tombol VALUE="CD Sebelumnya" ONCLICK="moveprevious()">
<INPUT TYPE=tombol VALUE="CD Berikutnya" ONCLICK="movenext()">
</p>
</tubuh>
</html>
Simpan kode di atas sebagai file cd.htm dan satukan dengan file cd.xml pada langkah kedua. Buka file cd.htm dan Anda akan melihat efek yang sama seperti contoh di atas.
Oke, sejauh ini kita telah belajar banyak tentang XML. Mari kita rangkum lima bab sebelumnya, yaitu pengenalan singkat XML, prinsip konseptual XML, terminologi XML, sintaksis XML, dan contoh analisis bab ini. Di sini, bagian tutorial berakhir. Selama proses penulisan, Ajie mencoba yang terbaik untuk menjelaskan konsep XML yang relevan dengan cara yang mudah dipahami, dan mencoba yang terbaik untuk memberi tahu semua orang pemahamannya. Namun, karena saya sudah lama tidak mempelajari XML, saya memahaminya keseluruhan teknologi XML tidak cukup sistematis dan mendalam, jadi tidak dapat dihindari bahwa ada beberapa kekurangan. Mohon koreksi dan maafkan saya.