1. Pengertian XML
XML adalah singkatan dari eXtensible
Markup Language.
Extensible
XML
dapat diperluas atau ditambah. Kita dapat mendefinisikan elemen, urutannya, dan
bagaimana mereka diproses atau ditampilkan.
Markup
XML memiliki tag atau elemen yang dapat didefinisikan sendiri elemen-elemen
tersebut.
Language
XML adalah sebuah bahasa seperti HTML.
2. Manfaat XML
Dengan XML, informasi dapat dipisahkan
dengan presentasi atau bagaimana dokumen ditampilkan. Dengan berkonsentrasi
pada informasinya dan strukturnya maka informasi lebih mudah dibaca, dipahami,
mengorganisasinya, dan mengecek kesalahannya. Manfaat XML yang lain adalah kemudahan dalam
komunikasi data antara sistim dengan platform yang berbeda.
Misalnya berikut adalah kode XHTML dari
web e-commerce:
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ABC
Products</title>
<meta
http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
<h1>ABC
Products</h1>
<h2>Product
One</h2>
<p>Product
One is an exciting new widget that will simplify your life.</p>
<p><b>Cost:
$19.95</b></p>
<p><b>Shipping:
$2.95</b></p>
<h2>Product Two</h2>
…..
<h3>Product
Three</h3>
<p><i>Cost:
$24.95</i></p>
<p>This
is such a terrific widget that you will most certainly want to buy
one for your
home and another one for your office!</p>
..…
</body>
</html>
Jika ingin mengubah presentasi
produk-produk di atas akan relatif sulit dikarenakan datanya telah termasuk di
dokumen tersebut. Akan sulit untuk mentransformasikan ke presentasi lain.
Selain itu terdapat ketidakkonsistenan dalam dokumen xhtml tersebut dimana
untuk “Product Three” presentasinya di format dengan <h3>. Hal seperti
ini susah untuk ditelusuri atau disadari. Dengan XML maka kemungkinan seperti
itu dapat dikurangi dengan penggunaan CSS atau XSLT untuk menampilkan data di
XML. Dokumen XML untuk produk-produk e-commerce
tersebut dapat berupa:
<?xml
version="1.0"?>
<productListing
title="ABC Products">
<product>
<name>Product One</name>
<description>Product One is an
exciting new widget that will
simplify your
life.</description>
<cost>$19.95</cost>
<shipping>$2.95</shipping>
</product>
<product>
<name>Product Two</name>
……
</product>
<product>
<name>Product Three</name>
<description>This is such a
terrific widget that you will
most certainly want to buy one for
your home and another one
for your office!</description>
<cost>$24.95</cost>
<shipping>$0.00</shipping>
</product>
……
</productListing>
3. Struktur XML
Layout dokumen XML terdiri dari pembuka
(opsional) dan document body.
Pembuka
Menyediakan informasi mengenai dokumen XML. Terdiri dari deklarasi XML,
komentar,
dan Document Type Definition
(DTD) atau XML Schema.
Contoh:
<?xml
version="1.0"?>
<!--The previous line contains
the XML declaration -->
<!--The following document type
declaration contains no subsets -->
<!DOCTYPE foo [
]>
<!--This
is the end of the prolog -->
Document Body
Terdiri dari elemen dan isinya. Atribut
dimungkinkan dalam suatu elemen.
Contoh:
<root>
<element1>Some
Content</element1>
<element2 attr1="attribute
value">More Content</element2>
</root>
Dokumen
XML dikatakan well-formed jika telah
memenuhi aturan sintaks XML. Untuk mengetahui apakah dokumen XML well-formed
dapat melalui aplikasi secara online maupun desktop.
Seperti
alamat: “http://www.stg.brown.edu/service/xmlvalid”
untuk validasi dokumen XML secara online. Untuk validasi lokal ada MSXML dari
Microsoft, XML4J dari IBM, aplikasi Dreamweaver, dan sebagainya.
4. XML Namespaces
XML Namespaces bertujuan untuk menghindari
bentrokan antar dokumen akibat menggunakan nama elemen yang sama tetapi untuk
data berbeda. Jadi elemen <title> untuk menyimpan judul buku dapat
dibedakan dengan <title> untuk menyimpan gelar/titel nama seseorang.
Contoh:
<inv:title>Build Your Own XML-Powered Web
Site</inv:title>
<title>Title Deed to the
house on 123 Main St., YourTown</title>
Namespaces
membuat <inv:title> berbeda dengan <title>.
5. XLST (Extensible Stylesheet Language
Transformation)
Untuk merepresentasikan XML dapat
menggunakan CSS. Berbagai pemformatan dapat dilakukan dengan CSS, seperti:
membuat tulisan tebal, garis tepi, pewarnaan, dan pemilihan jenis font. Tetapi
CSS tidak dapat melakukan transformasi teks seperti menambah label “Nama : ”
sebelum elemen <name>. Oleh karena itu, dapat digunakan XLST. Ini
berfungsi untuk mentranformasikan XML ke HTML, teks, atau ke XML yang lain.
Misalkan ada dokumen XML “mahasiswa.xml”
dengan isi:
<?xml
version="1.0"?>
<mahasiswa>
<nama>Robby
Hasan Pangaribuan</nama>
<jk>Laki-laki</jk>
<prodi>Informatika</prodi>
</mahasiswa>
Diharapkan dokumen mahasiswa.xml
ditampilkan sebagai berikut:
Nama : Robby Hasan Pangaribuan
Jenis Kelamin :
Laki-laki
Program Studi : Informatika
Untuk presentasi tersebut dapat
digunakan XLST. Dalam hal ini, presentasi menggunakan HTML.
Buat file “mahasiswa-html.xsl” dengan
isi:
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="html"/>
<xsl:template match="/mahasiswa">
<html>
<head><title>Mahasiswa</title></head>
<body><xsl:apply-templates/></body>
</html>
</xsl:template>
<xsl:template
match="nama">
<b>Nama : </b><xsl:apply-templates/><br/>
</xsl:template>
<xsl:template
match="jk">
</xsl:template>
<xsl:template
match="prodi">
<b>Program
Studi : </b><xsl:apply-templates/><br/>
</xsl:template>
</xsl:stylesheet>
Tambahkan di dokumen mahasiswa.xml
setelah deklarasi versi XML dengan baris sebagai berikut:
<?xml-stylesheet
type="text/xsl" href=" mahasiswa-html.xsl"
version="1.0"?>
Bila dokumen XML mahasiswa.xml ditampilkan dibrowser hasilnya
seperti berikut:
Dalam implementasi XSLT sering digunakan
bersama-sama dengan XPath. Ini sering dilakukan jika presentasi yang ingin
ditampilkan lebih kompleks seperti memerlukan selecting, matching, extracting, dan discernin. Pada dasarnya Xpath adalah teknologi dengan tujuan sebagai bahasa untuk melakukan
query terhadap dokumen XML.
6. DTD dan XML Schema
Dibutuhkan aturan khusus sehingga dokumen
XML dapat digunakan pada berbagai aplikasi dan sistem bisnis. Ketika dokumen
XML diminta oleh perusahaan, mereka telah memiliki suatu aturan khusus mengenai
dokumen tersebut. Hal ini disebut konsistensi dan dapat menggunakan tool DTD atau XML Schema. XML yang well-formed belum tentu konsisten.
DTD (Document Type Definition)
DTD dapat diletak di dalam atau terpisah
dari dokumen XML. Jika DTD ada maka XML
Parser membandingkan isi dokumen dengan aturan yang dibuat oleh DTD.
Contoh:
<!DOCTYPE
mahasiswa [
<!ELEMENT mahasiswa
(nama,jk,prodi)>
<!ATTLIST nim
nim ID #REQUIRED
>
<!ELEMENT nama
(#PCDATA)>
<!ELEMENT jk
(#PCDATA)>
<!ELEMENT prodi
(#PCDATA)>
]>
Ini artinya bahwa:
-
Baris pertama menunjukkan bahwa ini merupakan
jenis dokumen mahasiswa
-
Baris ke-2 menunjukkan bahwa elemen dasar yaitu mahasiswa
dan terdiri dari tiga elemen lain secara berurutan yaitu: nama, jk, dan prodi.
-
Baris ke-3 menunjukkan bahwa elemen mahasiswa
harus memiliki atribut nim.
-
Baris ke-6 s.d ke-8 menyatakan bahwa isi
ketiga elemen hanya berupa teks.
XML Schema
Diharapkan sebagai pengganti DTD yang
telah lama dan disarankan oleh W3C. Tidak seperti DTD, bahwa dapat diletakkan
dalam dokumen XML tersebut, XML Schema harus terpisah dengan dokumen XML-nya.
Schema memiliki kelebihan dari DTD dalam hal penanganan tipe data yang lebih
detail.
Contoh:
<xsd:element
name=”mahasiswa”>
<xsd:complexType>
<xsd:sequence
maxOccurs=”unbounded”>
<xsd:element
ref=”nama”/>
<xsd:element
ref=”jk”/>
<xsd:element
ref=”prodi”/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element
name=”nama” type=”xsd:string”/>
<xsd:element
name=”jk” type=”xsd:string”/>
<xsd:element
name=”prodi” type=”xsd:string”/>
7. Teknologi Terkait
Ada beberapa teknologi terkait yang
didasarkan pada XML seperti: XHTML, RSS dan Atom, dan WDDX. XML diprediksi akan
semakin berkembang dikarenakan adanya kebutuhan untuk komunikasi data antar
platform terutama semakin meningkatnya perangkat mobile dari berbagai platform.
Tidak ada komentar:
Posting Komentar