gambaran umum · 2019-09-05 · gambaran umum apa itu xml? extensible markup language banyak...

51

Upload: others

Post on 11-Feb-2020

7 views

Category:

Documents


0 download

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

Web Clients

(Browser) Web Server

Bagaimana web bekerja

Berikan aq file teks itu !

OK ~ nih .

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

Portable Application Portable Data

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-aturan penulisan dokumen XML

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

Setiap dokumen XML harus mempunyai elemen Root

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 &lt; 1000 then</message>

Terdapat 5 entity reference dalam XML, yang harusdiperhatikan

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

Transformasi

XMLdocument

XSLTdocument

XSLT Processor

Text

HTML

XML

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

Prinsip query data XML dengan XSLT

SERVER SIDE CLIENT SIDE

Download

Download

Pengaksesan XML di PHP

Nantikan Episode SelanjutnyaJava Server Pages