gambaran umum · 2019-09-05 · gambaran umum apa itu xml? extensible markup language banyak...
TRANSCRIPT
Gambaran Umum
Apa itu XML?
Extensible Markup Language
Banyak potongan di dalam puzzle XML
Perkembangannya sangat cepat
Sebelum melangkah lebih jauh ,kita kembali ke dasar….
XML
Schema
SOAP
Namespace
XMLXSLT
XQuery
HTML
XPointerXlink
Hypertext Mark-up Language
<h1>Inilah judulnya</h1>
<p>Ini adalah bagian dari <b>Text</b> </p>
Sebuah bahasa peN-format-an
Browser tahu bagaimana cara menerjemahkan tag² tersebut.
Apa itu Extensible MarkupLanguage?
BUKAN sebuah markup language
Meta-markup Language
Himpunan dari aturan yang sangat sederhana
XML menyediakan sebuah metode yang seragam untukmenjelaskan dan mempertukarkan data terstruktur.
Menjelaskan struktur dan semantik data, bukan format/tatasusun data.
• Tapi HTML bisa dibuat dari XML
Pengganti HTML
• Tapi XML bisa diubah menjadi sebuah format presentasi
Format Presentasi
• Tapi XML bisa digunakan oleh hampir semua bahasa pemrograman
Bahasa Pemrograman
• Tapi XML bisa ditransfer melalui jaringan
Protokol transfer dalam jaringan
• Tapi XML bisa disimpan ke dalam sebuah database
Database
Holland English Indonesia …..
1. Menggunakan Alfabet.2. Spasi antar kata.3. Dibaca dari kiri ke kanan......
Meta Language
Aplikasi XML
• Konfigurasi File :
Arsitektur J2EE
• Media untuk pertukaran data
• Transaksi B2B (Business to Business)
Electronics Bussines Order (ebXML)
Financial Exchange (IFX)
Messaging Exchange (SOAP)
SVG WML MathML …..
1. Tag² tidak boleh overlap2. Tag² ▬► case-sensitive3. Harus punya tag root……
XML Specification
Aturan² XML
1. Elemen root ▼Single,unique
2. Tag² buka/tutup►match!
3. Kapitalisasi yang konsisten
4. Elemen² bersarang secaratepat (tidak overlap)
5. Nilai atribut berada didalam tanda kutip
6. Tidak ada atribut berulangdi dalam sebuah elemen
<?xml version=“1.0”?>
<institution id=“4859”>
<name>ITS</name>
<type>University</type>
<address>
<street>Raya ITS</street>
<city>Surabaya</city>
<country>Indonesia</country>
</address>
</ institution >
Well Formed
Elemen XML harus mempunyai sarang (Nested)Layaknya dalam HTML, penulisan tag XML harusnyamempunyai sarang
Elemen² bersarang secara tepat (tidak overlap)
Contoh HTML<b><i>Ini adalah teks yang tebal dan miring</b></i>
Di XML
<b><i>Ini adalah teks yang tebal dan miring</i></b>
Contoh salah
<note date=13 Maret 2009>
<to>Hadziq</to>
<from>Monique</from>
</note>
Contoh benar
<note date=“13 Maret 2009”>
<to>Hadziq</to>
<from>Monique</from>
</note>
Beberapa karakter mempunyai arti khusus di XML, jika andameletakkan karakter “<“ didalam elemen XML, maka akanmemunculkan error, karena dianggap sebagai elemen yang baru
Contoh
<message>if salary < 1000 then</message>
Seharusnya
<message>if salary < 1000 then</message>
Penulisan komentar dalam XMLsama dengan Penulisan komentar seperti pada HTML
<!-- This is a comment -->
Sejarah XML
Standard Generalised Markup Language
Dikembangkan di awal tahun 90-an
XML adalah sebuah subset of SGML (SGML-lite)
XML memiliki sintaks yang lebih kecil dan lebih sederhana
Pengembangan SGML menyediakan dasar untuk XML
Kenapa XML begitu manjur
Standar independen yang bersifat internasional
Sederhana strukturnya
Universalitas – software maupun hardware
Extensible
Scalable – mampu memisahkan data dan design
Integritas
TCP/IP
HTTP
XML
Sebuah dokumen XML harus mempunyai elemen root →induk semua elemen
Elemen dalam XML menyerupai struktur pohon, diawali dariroot menuju daun sebagai level terendahnya.
Tiap elemen XML dapat mempunyai sub elemen (child)
<root> <child>
<subchild>.....</subchild> </child>
</root>
Istilah parent, child dan sibling digunakan untuk mendeskripsikanhubungan antar elemen
Elemen parent mempunyai elemen children, dan elemen children yang berada dalam level yang sama disebut sibling ( brothers and sisters )
Semua elemen XML dapat mempunyai content dan atribut (seperti HTML)
Baris pertama adalah deklarasi XML, mendefinisikan XML versi 1.0 danmenggunakan encoding ISO-8859-1 = Latin-1/West European character set
Baris berikutnya mendefinisikan elemen root
XML dapat mendeskripsikan dirinya sendiri
4 baris berikutnya mendefinisikan elemen child (to, from, heading, dan body)
Dan baris terakhir merupakan penutup elemen root
XML Markup languages/vocabularies
Ingat ! XML adalah sebuah meta-language
Setiap orang dapat membuat bahasa mereka sendiri
Apa yang ingin kita buat ?
Setiap bahasa didesain untuk sebuah tujuan tertentu….
Mathematical Markup Language (MathML)
x2 + 4x + 4 =0
<apply><plus/><apply><power/>
<ci>x</ci><cn>2</cn>
</apply><apply> <times/>
<cn>4</cn><ci>x</ci>
</apply><cn>4</cn>
</apply>
Berbagai macam bahasa internet yang baru dapat diciptakandengan menggunakan XMLContoh:
XHTML sebagai versi terbaru dari HTML
WSDL (Web Service Definition Language) untuk mendeskripsikan web service
WAP (Wireless Application Protocol) dan WML(Wireless Markup Language) sebagai markup languages untuk handheld devices
RSS sebagai news feeds
Synchronized Multimedia Integration Language (SMIL)
<DIV CLASS=“time” t:timeline=“seq”> <P class=“time” t:dur=“1”>
Ini akan muncul selama satu detik kemudian hilang</P><P class=“time” t:dur=“1”>
Ini akan muncul setelah satu detik, kemudian nampak sampai satudetik kemudian</P><P class=“time” t:dur=“1”>
Ini akan mucul setelah dua detik, kemudian nampak sampai satudetik kemudian</P>
</DIV>
Vector Markup Language
<v:shape style=‘top: 0; left: 0; width: 250; height: 250’ stroke=“true” strokecolor=“red” strokeweight=“2” fill=“true”fillcolor=“green” coordorigin=“0 0” coordsize=“175 175”>
<v:path v=“m 8,65 l 72,65,92,11,112,65,174,65,122,100,142,155,92,121,42,155,60,100
x e”/>
</v:shape>
Wireless Markup Language
<wml> <!-- root element --> <card id="card1" title="Example 1"> <p> <!-- a card can only contain P blocks or DO blocks --><do type="accept" label="go to card 2"><go href="#card2"/></do> This is the first card. </p></card> <card id="card2" title="Example 1"> <p> This is the second card. </p> </card> </wml>
Hypertext Markup Language (HTML)
<h1>The Title</h1>
<p>This is a piece of <b>HTML </b> </p>
Apakah ini juga XML??
Versi lanjut dari HTML = XHTML
XML Schemas dan DTDs
XML adalah tentang komunikasi
Butuh berbicara dengan bahasa yang sama
Schema/DTDs mendeskripsikan vocabulary dari suatu bahasa
Sebagai contoh:
Tag² apa saja yang digunakan
Bagaimana mereka bisa diatur
Schemas akan menggantikan DTDs
Contoh Schema
<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"><xsd:element name="PressRelease"><xsd:complexType>
<xsd:sequence><xsd:element name="Title" type="xsd:string"/><xsd:element name="Date" type="xsd:date"/><xsd:element name="Content" type="xsd:string"/><xsd:element name="Author" type="xsd:string" minOccurs="0"/>
</xsd:sequence></xsd:complexType>
</xsd:element></xsd:schema>
<?xml version="1.0" encoding="UTF-8"?><PressRelease>
<Title>Studend Loan Problems</Title><Date>20/7/01</Date><Content>Bla Bla Bla</Content>
</PressRelease>
• DTD berfungsi untuk menjelaskan spesifikasi dan aturanterhadap element2 dan atrributes yang harus di miliki olehsebuah xml dokument.
• Kumpulan dari aturan2 tersebut disebut dengan SCHEMA
• SCHEMA tidak wajib dimiliki, tetapi di perlukan untukmemastikan konsistensi dokumen
Mendefinisikan elemen pada DTD :
<!ELEMENT animal (lion)> : element animal hanya boleh memiliki satu elemen lion.
<!ELEMENT picture EMPTY> : element picture tidak mempunyai elemen lain.
<!ELEMENT animal ANY> : element animal dapat berisikan element lainnya.
Mendefinisikan element yang berisikan text
<!ELEMENT name(#PCDATA)>
Mendefinisikan element yang mempunyai beberapa element
<!ELEMENT animal(name, weight)>
Berdasarkan aturan diatas maka element harus mempunyai element nama dan weight :
<animal>
<name>lion</name>
<weight>350 pounds</weight>
</animal>
Mendefinisikan element dengan beberapa pilihan element<!ELEMENT animal ((name, weight) | (picture)>
Berdasarkan aturan diatas maka element animal harus mempunyai elemenname dan weight atau hanya punya element picture.
Pendefinisian Unit pada element :<!ELEMENT animal (name+, weight?, picture,
subspecies*)
Artinya :
• name harus tampil setidaknya satu kali
• weight dapat tampil sekali atau tidak tampil sama sekali
• picture hanya harus tampil sekali
• subspecies dapat tampil beberapa kali pun atau tidak tampil sama sekali
• Terkadang penggunaan attribute dapat lebih berarti dari pada memecah element menjadi sub-sub element.
• Kedua element ini berarti sama :<population animal=“lion”>80</population>
<population><animal>lion</animal><quantity>80</qu
antity></population>
• Attribute harus dideklarasikan juga pada DTD untuk dapat di pergunakan<!ELEMENT population (#PCDATA)>
<!ATTLIST population year CDATA #IMPLIED>
• Mendefinisikan Attribute wajib (Required Attribute) :
<!ELEMENT population (#PCDATA)>
<!ATTLIST population year (2000 | 2001) #REQUIRED>
Berarti : element populasi harus mempunyai attribute year yang bernilai 2000 atau 2001
<population year=“2000”>80</population>
• Mendefinisikan Attribute default (Default Attribute) :
<!ELEMENT population (#PCDATA)>
<!ATTLIST population year CDATA “2000”>
• Mendefinisikan Attribute default (Default Attribute) :
<!ELEMENT population (#PCDATA)>
<!ATTLIST population year CDATA #FIXED “2000”>
Invalid : <population year=“2001”>80</population>
Valid : <population year=“2000”>80</population>
Valid : <population>80</population>
• Mendefinisikan Unique Attribute :
<!ELEMENT animal (name)>
<!ATTLIST animal code ID #REQUIRED>
Internal :<?xml version=“1.0”?>
<!DOCTYPE animal [ ]>
<animal> </animal>
animal adalah root dari element
The DTD berada dalam kurung “ [ ]” brackets pada “DOCTYPE”
Eksternal :<?xml version=“1.0”?>
<!DOCTYPE animal SYSTEM
“http://www.animals.com/xml/animal.dtd”>
XSL-T
Extensible Stylesheet Language
Telah dijadikan standar oleh W3C
Cara untuk mengubah sebuah dokumen XML ke bentukdokumen lain
Sebagai dokumen yang menampung data, harus adamekanisme ekstraksi data
Ada beberapa cara ekstraksi data, salah satunya yang paling sederhana : XSLT (eXtensible Stylesheet Language Transformation)
XSLT pada awalnya dirancang untuk menampilkan dokumenXML, pada akhirnya dikembangkan sehingga dapat melakukanquery terhadap data XML
Query dapat berjalan secara client-side, sehingga meringankankerja server
Selain meng-query data, XSLT juga sekaligus dapatmenampilkan datanya
XSLT merupakan dokumen XML, sehingga memiliki sifatuniversal juga