Minggu, 30 September 2012

Pengenalan Singkat dengan XML


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">

                <b>Jenis Kelamin : </b><xsl:apply-templates/><br/>
            </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: