Silahkan Pilih Warna Latar Blog ini Sesuai Dengan kenyamanan Yang Anda Suka
Selamat Datang di zainuddinkurnia.blogspot.com

Kamis, 28 Oktober 2010

Modifikasi Dokumen XML dengan XUpdate pada Xindice

Seperti perintah pada basis data RDBMS (Relational Database Management System), maka modifikasi dokumen pada database XML Xindice juga terdiri dari INSERT, UPDATE dan DELETE. Untuk setiap tahap perintah akan dipergunakan perintah konsolnya. Adapun karena perintah XUpdate ini bisa sangat panjang dan memerlukan modifikasi yang sering, maka pada utilitas konsol, perintah tersebut disimpan di dalam file teks tersendiri, untuk kemudian disertakan nama filenya pada setiap perintah modifikasi dokumen. Sedangkan untuk versi Java, baik perintah INSERT, UPDATE atau DELETE tidak mempunyai perbedaan kode, melainkan tentu saja sintaksis dari perintah XUpdate yang diinginkan. Berikut adalah kode progam Java yang diperlukan untuk menjalankan perintah XUpdate tersebut:
package test.xindiced;

import org.xmldb.api.base.*;
import org.xmldb.api.modules.*;
import org.xmldb.api.*;

public class XUpdate {

public static void main(String[] args) throws Exception {
Collection col = null;
try {
String driver = “org.apache.xindice.client.xmldb.DatabaseImpl”;
Class c = Class.forName(driver);

Database database = (Database) c.newInstance();
DatabaseManager.registerDatabase(database);
col = DatabaseManager.getCollection(“xmldb:xindice:///db/edyâ€�);

String xpath = “//pasien[nomorinduk=1518989]/nama”;
String data = “Edy Winarno”;
String xupdate=”" +
“” + data + “” +
“”;

XUpdateQueryService service =
(XUpdateQueryService) col.getService(“XUpdateQueryService”, “1.0″);
service.update(xupdate);
} catch (XMLDBException e) {
System.err.println(“XML:DB Exception occured ” + e.errorCode + ” ” +
e.getMessage());
} finally {
if (col != null) {
col.close();
}
}
}
}
Perbedaan program ini dengan program Java yang menggunakan query dengan XPath, adalah service yang di-instansiasi. Jika yang menggunakan XPath service adalah bertipe XPathQueryService, maka disini service bertipe XUpdateQueryService, seperti ditunjukkan pada potongan program ini:

XUpdateQueryService service =
(XUpdateQueryService)
col.getService(“XUpdateQueryService”, “1.0″);
service.update(xupdate);

Adapun nilai dari variabel xupdate yang akan menentukan efek dari eksekusi servis tersebut, yang bisa bertipe INSERT, UPDATE ataupun DELETE.

1. Perintah INSERT.
Untuk menambah data pada dokumen XML, akan diperlihatkan data sebelum perintah INSERT ditambahkan, sebagaimana berikut ini:

D:\Program\xml-xindice-1.1\bin>xindice xpath -c /db/edy -q “//pasien”
trying to register database

1518989Edy WinarnoKTP-229988221 SemarangPria A16567024-588-xxx   DosenAmoxycillinSemarang

Untuk menambahkan data baru, yaitu pasien dengan nomorinduk 1518989, maka dipergunakan perintah modifikasi XUpdate yang disimpan ke dalam file insert2.xml berikut ini:

1518990

Yuni Astuti

KTP-1109099922

Semarang

Wanita

O

160

45

024-566-xxx

Swasta

Amphicillyn

Semarang

(Perintah modifikasi XUpdate untuk INSERT)

Untuk mengeksekusi perintah dalam file insert.xml tersebut, dilakukan perintah konsol berikut ini:
xin1

Gambar 1. Eksekusi Perintah dalam file insert.xml

Hasil dari proses tersebut adalah penambahan data pasien baru dengan nomorinduk 1518990 berikut ini :

xin2

Gambar 2. Â Hasil Eksekusi Perintah XUpdate INSERT

Pada tampilan tersebut di atas, tampak bahwa data sudah bertambah dengan data baru yaitu pasien dengan nomor 1518990


Sumber : http://edywinarno.com/2009/12/modifikasi-dokumen-xml-dengan-xupdate-pada-xindice/

Tidak ada komentar:

Posting Komentar

Milu ke

Share |