1 XPath (extensible Path Language) Bahasa untuk mengalamati bagian-bagian dari XML Seperti struktur direktori windows atau unix /usr/local/bin Atau \d...
XPath (eXtensible Path Language) Bahasa untuk mengalamati bagian-bagian dari XML Seperti struktur direktori windows atau unix /usr/local/bin Atau \document\data Digunakan bersama XSL untuk mengakses elemenelemen elemen pada dokumen XML sehingga dapat diproses oleh aplikasi.
1
4/13/2011
Dokumen XML dapat dipresentasikan sebagai bentuk pohon (tree) seperti hierarki tree folder pada direktori file. file XPath menggunakan sebuah pola untuk mengidentifikasi node pada dokumen XML. Pola tersebut menggunakan slash (/). Setiap turun satu node selalu dipisahkan dengan slash.
<judul>Die Hard Bruce Willis50000 <judul>3 Idiot Aamir Khan40000 kategori "kartun"> <judul>Toy Story Tom Hank35000
2
4/13/2011
Pada contoh 1, untuk mendapatkan elemen film, dapat dituliskan : /film Sedangkan untuk mendapatkan semua elemen dvd dari elemen film : /film/dvd Untuk mendapatkan harga dari elemen dvd dari elemen film : /film/dvd/harga Mengambil semua elemen dvd, dan elemen level dvd tidak sama dengan menggunakan double slash “//” //dvd
Mengambil elemen yang belum diketahui dengan menggunakan wildcard (*) Misalnya mengambil semua anak elemen dvd dari flm, dapat digunakan : /film/dvd/* Semua anak elemen dvd akan diambil Mengambil semua elemen harga yang grandchild dari film : da /film/*/harga
3
4/13/2011
Untuk mengambil semua elemen harga yang mempunyai dua tingkat /*/*/harga Ekpresi XPath untuk mengambil semua elemen : //*
Ekspresi XPath untuk mengambil elemen dvd pertama : /film/dvd[1] Memilih elemen dvd terakhir : /film/dvd[last()] Memilih semua elemen dvd yang mempunyai elemen harga /film/dvd[harga] Memilih semua elemen dvd yang mempunyai harga 25000 /film/dvd[harga=25000]
4
4/13/2011
XSD (XML Schema Definition) XSLT ((eXtensible Stylesheet y Language g g Transformation)
Skema XML adalah sebuah alternatif DTD Sebuah skema XML mendiskripsikan struktur dari dokumen XML Bahasa skema XML disebut XML Schema Definition (XSD) Tujuan dari skema XML adalah mendefinisikan legal building block dari sebuah dokumen XML.
5
4/13/2011
Elemen yang dapat muncul didokumen Atribut yang dapat muncul didokumen Elemen mana yang merupakan anak elemen Order dari anak elemen Jumlah anak elemen Apakah elemen dapat berisi teks atau kosong Tipe data dari elemen maupun atribut Nil i default Nilai d f lt dan d nilai il i tetap t t untuk t k elemen l d dan atribut.
Skema XML mudah dikembangkan Skema XML lebih kaya dan berguna daripada DTD Skema XML ditulis menggunakan XML Skema XML mendukung tipe data Skema XML mendukung namespace
6
4/13/2011
Dokumen XML : message.xml
0"?> <note> Bejo Santoso PutroHoki SubejoPengingat Jangan lupa belajar 1 minggu lagi UTS /
File DTD : message.dtd
note (kepada, dari, topik, body)> kepada (#PCDATA)> dari (#PCDATA)> topik (#PCDATA)> body (#PCDATA)>
7
4/13/2011
"http://www.ragilsaputra.com/dtd/message.dtd"> <note> Bejo Santoso PutroHoki SubejoPengingat Jangan lupa belajar 1 minggu lagi UTS /
<note s ttp:// . 3sc oo s.co xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLschemainstance" xsi:schemaLocation="http://www.ragilsaputra.com /message.xsd"> <note> Bejo Santoso PutroHoki SubejoPengingat Jangan lupa belajar 1 minggu lagi UTS
8
4/13/2011
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ragilsaputra.com" xmlns="http://www.ragilsaputra.com" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="kepada" type="xs:string"/> <xs:element name="dari" type="xs:string"/> <xs:element name="topik" type="xs:string"/> <xs:element l name="body" "b d " type="xs:string"/> " i "/
Elemen yang mengandung hanya konten teks bukan elemen lain. Contoh : Kahlil Gibran <usia>65 1945-08-17
Jika dihubungkan dengan definisi elemennya : <xs:element name=“nama" type="xs:string"/> <xs:element name=“usia" type="xs:integer"/> <xs:element name=“ttglahir" type="xs:date"/>
9
4/13/2011
xs : string xs : decimal xs : integer xs : boolean xs : date xs : time
Adalah sebuah elemen XML yang berisi elemen atau atribut lain. Contoh : <mahasiswa> Arifin Ilhamzdikir
Elemen mahasiswa dapat dideklarasikan scr langsung dengan penamaan : <xs:element name=“mahasiswa”> <xs:complexType> <xs:sequence> <xs:element name=“nama" type="xs:string"/> <xs:element name=“hobby" type="xs:string"/>
10
4/13/2011
XSL merupakan eXtensible Stylesheet Language. Sepert CSS pada HTML Berfungsi mengatur tampilan data XML XSL terdiri dari 3 bagian XSLT adalah bahasa utk melakukan transform dokumen XML XPath adalah bahasa untuk mendefinisikan bagian dokumen XML XSL-FO bahasa untuk memformat dokumen XML.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match match="/"> / >
Daftar Mahasiswa
Nim
Nama
Angkatan
Jurusan
Alamat
<xsl:for-each <xsl:for each select="mahasiswa/person“> select mahasiswa/person >
<xsl:value-of select="nim"/>
<xsl:value-of select="nama"/>
<xsl:value-of select="angkatan"/>
<xsl:value-of select="jurusan"/>
<xsl:value-of select="alamat"/>
12
4/13/2011
Adalah elemen yang mengektrak nilai node yang dipilih Elemen tersebut juga dapat digunakan untuk mengambil nilai dari elemen XML dan menampilkannya. Perintah dasar : <xsl:value-of select=“expression“ Disable-output-escaping= yes|no /> Disable-output-escaping=“yes|no”/> Î ekpresi : wajib diisi, menspesifikasikan node/atribut Î yes|no : (optional), jk yes karakter mucul apa adanya, misal “<“. Jika no karakter tsb akan ditampilkan “<”.
Elemen <xsl:for-each> dapat digunakan untuk memilih setiap data. Dapat dilakukan filter dengan menambahkan kriteria. Operator filter : = (sama dengan) != (tidak sama dengan) < (kurang dari) > (lebih besar dari)
Mahasiswa.xml Pada script
<xsl:for-each select="mahasiswa/person“>
Dimodifikasi menjadi : <xsl:for-each select="mahasiswa/person[jurusan=‘Informa tika’]“>
14
4/13/2011
Digunakan untuk menambahkan kondisi, misalnya untuk menampilkan mahasiswa angkatan dibawah 2008. <xsl:for-each <xsl:for each select="mahasiswa/person“> select mahasiswa/person >
Ditambahkan if test <xsl:for-each select="mahasiswa/person“> <xsl:if test="angkatan < 2008"> …
Digunakan untuk mengurutkan data berdasarkan kriteria tertentu. Misal berdasarkan nama. nama <xsl:sort select="nama"/>