XML dan Style
1. Apa XML?
  • XML singkatan dari EXtensible Markup Language
  • XML adalah suatu  markup language seperti halnya HTML
  • XML dirancang untuk menjelaskan data (describe data)
  • Tag-tag pada XML belum didefenisikan sebelumnya, tapi dapat didefenisikan sendiri
  • XML menggunakan  Document Type Definition (DTD) ataun XML Schema uantuk menjelaskan data  (self-descriptive)
2. Persoalan dengan HTML (The problem with HTML)
•      HTML dimulai sebagai suatu cara dari cara untuk menjelaskan  structure dari dokumen, dengan tag-tag untuk mengindikasikan  headers, paragraphs, dan sejenisnya
•      Karena orang menginginkan untuk mengontrol tampilan (appearance) dari dokumen, maka HTML memerlukan tags lain seperti mengontrol fonts, alignment, dll.
•      Hasilnya adalah markup language yang dapat melakukan keduanya, tapi tidak bagus/optimal untuk keduanya.
HTML vs. XML
XML kelihatan seperti HTML, tapi berbeda
¨       HTML menggunakan sekumpulan tag yang telah tetap (fixed)
¨       HTML dirancang untuk menampilkan data pada manusia
¨       Browsers sangat toleran pada kesalahan dalam HTML
¨       Semua browsers dapat menampilkan HTML
¨       Tag pada XML bebas dibuat (dan mendefenisikan arti)
¨       XML dirancanga untuk menjelaskan data pada komputers
¨       Dokumen XML haruslah well-formed (syntaknya betul)
¨       Hanya browsers dengan versi terbaru dapat menampilkan XML
3. Untuk apa saja XML digunakan ?
  • Sharing Information
  • Content and Presentation
  • Business Proces (Distributed Computing) atau Webservice
Kelebihan utama teknologi berbasis XML dalam proses bisinis adalah kemampuan untuk melakukan data interchange antar dua sistim dari organisasi yang berbeda (Komunikasi Business to Business). XML mempermudah pengiriman data terstruktur lewat web sehingga tidak ada yang hilang dalam proses penerjemahan.
Disamping itu juga memungkinkan pembangnan Smart Agents dan perancangan sistim Pencarian Pintar. Salah satu masalah besar dengan Web yang sekarang adalah bahwa Search Engine tidak dapat memproses HTML dengan pintar. Misal, jika anda mencari seorang bernama “chip”, anda akan menemukan halaman tentang Chocolate Chip, Computer Chip, binatang chipmunk dan orang yang bernama Chip. Tapi jika sudah ada DTD (Data Type Defenition) untuk records name dan address, pencarian orang yang bernama Chip dapat menghasilkan hasil yg lebih akurat dan berguna.
Sharing Informasi Cara Konvensional
Sharing Informasi dengan Teknologi XML
Content and Presentation
4. Teknologi Inti dan Standards
  • Extensible Markup Language (XML)
  • Document Type Definition (DTD)
  • XML Schemas (XSD)
  • Document Object Model (DOM)
  • XML Stylesheet Language (XSL)
  • XML Path Language (XPath)
  • XML Pointer Language (XPointer)
  • Lainnya:
    • RDF, XHTML, SOAP, BizTalk, etc.
5. Penggunaan Style pada XML
  • Custom scripting dengan DOM (Document Object Model)
  • Components atau Data Binding
  • Cascading Style Sheets (CSS)
  • XML Style Sheets (XSL)
6. Struktur XML
Dokemen XML terdiri dari tag root dengan elemen dan sub-elemen didalamnya. Tag dalam XML bebas didefenisikan dan seharusnya mengandung makna sesui data yang dikandungnya.
Contoh file Xml
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<!– Edited with XML Spy v4.2 –>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
</catalog>
Penjelasan
Bagian prolog berisi dua baris yang sifatnya opsional:
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<!– Edited with XML Spy v4.2 –>
  • Baris pertama adalah deklarasikan XML, yang menyatakan bahwa dokumen tersebut merupakan dokumen XML versi 1.0. dengan encoding=”ISO-88859-1.
  • Baris kedua merupakan baris komentar. Penambahan komentar digunakan untuk membantu mengingatkan atau sebagai catatan bagi developer. Komentar diawali dengan karakter <!– dan diakhiri dengan karakter –>.
  • Setelah bagian prolog adalah bagian elemen dokumen. Bagian tersebut merupakan sebuah elemen tunggal yang bisa berisi elemen-elemen tambahan. Pada contoh di atas, elemen dokumen adalah catalog. Di dalam elemen dokumen berisi elemen cd. Dalam setiap elemen anggota catalog terdapat data-data berupa karakter.
Dari contoh di atas dapat dilihat bahwa dokumen XML tersusun secara terstruktur berdasarkan tag-tag yang didefinisikan oleh pembuat dokumen. Dengan struktur dokumen seperti ini ditambah kebebasan XML mendefinisikan tag baru, menyebabkan XML menjadi pilihan untuk kebutuhan penyimpanan data.
7. Aturan Penulisan  XML (Sintaks XML)
  • Tag XML adalah case sensitif  (membedakan huruf besar dan kecil)
<Message>This is incorrect</message>
<message>This is correct</message>
  • Semua elemen XML haruslah tersusun tersarang (nested) atau tidak saling overlap.
Contoh salah:
<b><i>This text is bold and italic</b></i>
Seharusnya:
<b><i>This text is bold and italic</i></b>
  • Semua dokumen XML haruslah mempunyai akar tag (root tag)
<root>
<child>
<subchild>…..</subchild>
</child>
</root>
  • Nilai atribut haruslah selalu diberi tanda quote (“).
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<note date=”12/11/99″>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>
“Well Formed” dan “Valid” XML
  • Suatu dokumen XML disebut “well formed” jika telah memenuhi sayarat penulisan sintaks seperti dijelaskan diatas.
  • Sedangkan suatu dokumen XML disebut “Valid’ jika telah “well formed” dan juga telah memenuhi aturan DTD (Data Type Document).
DTD merupakan grammar/tata bahasa yang menjelaskan tetang atribut dan tag apa yang valid dalam suatau dokumen XML, dan dalam konteks apa mereka valid. (baca reference yang berkaitan dengan DTD).
8. Transformasi/Menampilakan XML dalam HTML
Dokumen XML hanya bisa ditampilkan browser versi terbaru seperti IE versi 5 keatas dan Netsacpe versi 6 sedangkan untuk dapat ditampilkan oleh browser versi yang lama perlu terlebih dahulu dikonversi ke HTML (dapat dilakukan di server).
Seperti dijelaskan diatas salah satu tujuan diperkenalkannya xml adalah  untuk komunikasi data yang dapat dimengerti oleh komputer. Sehingga tampilan dari dokumen XML kurang menrik unuk konsumsi mata manusia. Oleh kerananya dokumen XML juga dapat ditampilkan dalam berbagai tampilan sehingga yang menarik layaknya presentasi HTML. Untuk menampilkan XML sebagi HTML, diperlukan bahasa Style ra yang memfasilitasi tarnsformasi XNL ke HTML, yaitu:
  1. CSS (Cascading Style Sheet)
2.     XSLT (eXtensible Stylesheet Language Transformation)
8.1 XML dengan CSS (Cascading Style Sheet)
Menggunakan CSS merupakan metoda termudah untuk menampilkan seluruh dokumen XML. Tetapi dibandingkan dengan metoda penampilan dokumen XML dengan XSLT, style sheet bertingkat agak terbatas. Karena walaupun CSS memberikan kontrol yang cukup tinggi untuk cara browser memformat isi elemen dalam dokumen XML, tidak memungkinkan akses atribut XML, entitas, instruksi pemrosesan, dan komponen lain, dan juga tidak untuk memproses informasi yang dimuat dalam komponen ini.
Membuat dokumen XML dengan CSS dengan langkah dasar sebagai berikut :
  1. 1. Buat file CSS
  2. Kaitkan file CSS ke dokumen XML
Contoh:
Buat file xml berikut, simpan sebgai;
books.xml
<?xml version=”1.0″?>
<?xml-stylesheet  type=”text/css”  href=” “?>
<library>
<book>
<title>XML</title>
<author>Gregory Brill</author>
</book>
<book>
<title>Java and XML</title>
<author>Brett McLaughlin</author>
</book>
</library >
Buat file css berikut dan simpan sebagai;
books.css
book
{display:block;
margin-top:12pt;
font-size:10pt}
title
{display:block;
font-size:10pt;
font-weight:bold;
font-style:italic}
author
{display:block;
margin-left:15pt;)
Kaitkan CSS pada XML pada bagian berikut dari dokumen XML
<?xml-stylesheet  type=”text/css”  href=” books.css”?>
8.2  Transformasi  XML ke HTML dengan XSLT
Apa XSL?
•      XSL singkatan dari Extensible Stylesheet Language
•      CSS dirancang untuk styling halaman HTML, meskipun bisa digunakan untuk style halaman XML
•      XSL dirancang khusus untuk style halaman XML, dan jauh lebih canggih (sophisticated) dibanding CSS
•      XSL terdiri dari tiga languages:
–XSLT (XSL Transformations) adalah language yang digunakan untuk transformasi dokumen XML kedalam jenis dokumen lainnya (paling uumum adalah HTML)
–XPath adalah language untuk seleksi bagian dari dokumen XML untuk ditransformasi dengan XSLT
–XSL-FO (XSL Formatting Objects) adalah pengganti dari CSS (tapi hingga saat ini belum ada implementasinya)
Elemen utama XSL

  • Basic structure
xsl:stylesheet
xsl:comment
xsl:template
xsl:apply-templates
xsl:call-template
  • Selecting and sorting
xsl:for-each
xsl:choose
xsl:when
xsl:otherwise
xsl:if
xsl:sort
  • Creating nodes
xsl:element
xsl:attribute
xsl:attribute-set
xsl:text
xsl:comment
  • Outputting values
xsl:node-name
xsl:value-of
xsl:eval
xsl:copy
xsl:copy-of
xsl:output


Bagaimana Cara Kerjanya?
•      Sumber dokumen XML source di parse (diurai) kedalam source tree (struktur pohon)
•      XPath digunakan untuk menetapkan  template yang match dengan bagian-bagian dari source tree
•      Selanjutnya  XSLT digunakan untuk  transform bagian yang match dan meletakkannya kedalam hasil tree dan merupakan out-put dari dokumen
XSLT memandang dokumen xml dalam struktur pohon (tree)
XPath
XML document:
<?xml version=”1.0″?>
<library>
<book>
<title>XML</title>
<author>Gregory Brill</author>
</book>
<book>
<title>Java and XML</title>
<author>Brett McLaughlin</author>
</book>
</library >
XPath layaknya seperti paths dalam sistim file komputer
/ menunjukkan dokumen itu sendiri (tidak ada elemen  specific)
/library selects the root element
/library/book selects setiap elemen book
//author selects setiap elemen author, dimanapun terdapat
XSLT
•    <xsl:for-each select=”//book”> pencarian melalui setiap elemen book yang terdapat didalam dokumen
•    <xsl:value-of select=”title”/> memilih isi (content ) dari elemen title dalam lokasi bersangkutan
•    <xsl:for-each select=”//book”>
<xsl:value-of select=”title”/>
</xsl:for-each>
memilih content dari elemen title untuk setiap book dalam dokumen XML
Contoh Penggunaan  XSL untuk membuat HTML
•      Tujuan untuk membuat data xml berikut:
<?xml version=”1.0″?>
<library>
<book>
<title>XML</title>
<author>Gregory Brill</author>
</book>
<book>
<title>Java and XML</title>
<author>Brett McLaughlin</author>
</book>
</library >
•      Menjadi HTML dengan tampilan seperti berikut ini:
Book Titles:
• XML
• Java and XML
Book Authors:
• Gregory Brill
• Brett McLaughlin
Tampilan HTML yang diinginkan adalah
<html>
<head>
<title>Book Titles and Authors</title>
</head>
<body>
<h2>Book titles:</h2>
<ul>
<li>XML</li>
<li>Java and XML</li>
</ul>
<h2>Book authors:</h2>
<ul>
<li>Gregory Brill</li>
<li>Brett McLaughlin</li>
</ul>
</body>
</html>
Langkah:
•      Simpan (save) data xml diatas kedalam file dengan ekstensi xml (mis: books.xml)
•      Simpan dokumen diatas (tabbel sebelah kanan) kedalam file xsl (mis: books.xsl). File ini menjelaskan bagaiman menyeleksi elemen-elemen  books.xml dan menempatkannya kedalam halaman HTML.
•      Kaitkan/hubungkan books.xsl  melalui books.xml seperti diperlihatkan berikut ini:
books.xml
<?xml version=”1.0″?>
<?xml-stylesheet  type=”text/xsl”  href=”books.xsl”?>
<library>
<book>
<title>XML</title>
<author>Gregory Brill</author>
</book>
<book>
<title>Java and XML</title>
<author>Brett McLaughlin</author>
</book>
</library >
book.xsl

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<xsl:stylesheet version=”1.0″
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&gt;
<xsl:output method=’html’ version=’1.0′ encoding=’UTF-8′ indent=’yes’/>
<xsl:template match=”/”>
<html>
<head>
<title>Book Titles and Authors</title>
</head>
<body>
<h2>Book titles:</h2>
<ul>
<xsl:for-each select=”//book”>
<li>
<xsl:value-of select=”title”/>
</li>
</xsl:for-each>
</ul>
<h2>Book authors:</h2>
<ul>
<xsl:for-each select=”//book”>
<li>
<xsl:value-of select=”author”/>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
9. Document Type Definitions
XML dan DTD
•      DTD (Document Type Definition) menjelaskan struktur satu atau lebih dokumen XML. Khusunya DTD menjelaskan berikut ini:
–Elements
–Attributes, dan
–Entities
•      Suatu dokumen XML disebut weel-formed atau well-structured jika mengikuti aturan sintaks
•      Suatu dokumen XML disebut valid jika telah ditetapkan dan memenuhi suatu DTD
Kenapa DTD?
•      Dokumen XML dirancang untuk di olah/diproses oleh program komputer
–Jika anda membuat sembarang tags dalam dokumen XML, akan sulit membuat program yang dapat memproses tag tersebut
–Tetapi DTD menetapkan terlebih dahulu, setiap tag yang boleh muncul, kapan (urutan) tag muncul dan atribut apa yang menyertainya dll,
•      Dengan demikian DTD membuat suatu XML menjadi legal (dapat diverifikasi)
•      DTD yang di sharing diantara kelompok pengguna akan menghasilkan dokumen XML yang konsisten
Parsers
•      Parser XML adalah API (Application Programming Interface) yang membaca content dari dokumen XML
– API yang popular adalah DOM (Document Object Model) dan SAX (Simple API for XML)
•      Parser Validasi adalah parser XML yang membandingkan dokumen XML terhadap DTD dan melaporkan setiap error/kesalahan
– Kebanyakan browsers belum menggunakan parser  validasi
Contoh XML
<novel>
<foreword>
<paragraph>This is the great American novel.</ paragraph>
</foreword>
<chapter number=”1″>
<paragraph>It was a dark and stormy night.</paragraph>
<paragraph>Suddenly, a shot rang out!</paragraph>
</chapter>
</novel>
Dokumen XML terdiri dari (dan DTD menjelaskan):
•Elements, seperti novel dan paragraph, terdiri dari tags dan content
•Attributes, seperti number=”1″, terdiri dari  name dan value
•Entities (tidak digunakan dalam contoh ini)
Contoh DTD
<!DOCTYPE novel [
<!ELEMENT novel (foreword, chapter+)>
<!ELEMENT foreword (paragraph+)>
<!ELEMENT chapter (paragraph+)>
<!ELEMENT paragraph (#PCDATA)>
<!ATTRIBUTE chapter number CDATA #REQUIRED>
]>
•       Novel terdiri dari foreword dan satu atau lebih chapter, dalam hal ini
– Setiap chapter harus mempunyai nomor attribute
•       Foreword terdiri dari satu atau lebih paragraph
•       Chapter juga terdiri dari satu atau lebih paragraph
•       Paragraph terdiri dari PCDATA (parsed character data) (teks yang tidak berisi elemen lain)
Deskripsi ELEMENT
•      Suffixes:
?                 optional (pilihan)                       foreword?
+                satu atau lebih                           chapter+
*                 zero atau lebih                          appendix*
•      Separators
,                 keduanya, dalam urutan            foreword?, chapter+
|                atau                                          section|chapter
•      Grouping
( )  grouping                                               (section|chapter)+
Elements whitout children (Eelemen tanpa anak)
•      Sintaks  <!ELEMENT name category>
name adalah nama elemen yang digunakan dalam tag start dan tag akhir
category boleh  EMPTY (kosong):
•Contoh dalam DTD: <!ELEMENT br EMPTY>
•Contoh dalam XML: <br></br>  atau   <br />
–Dalam XML, elemen empty adalah yang tidak terdapat konten apapun antara tag start dan tag akhir
–Suatu elemen empty dapat mempunyai attribut
Elements with unstructured children (elemen dgn anak tdk terstruktur)
•      Sintaks <!ELEMENT name category>
–Kategory boleh  ANY (sembarang)
•Ini menunjukkan isi dari any dapat berupa–character data, element, even undeclared elements (elemen yang belum dideklarasi)
•Karena tujuan penggunaan DTD adalah untuk menetapkan struktur dokumen (xml) maka sedapat mungkin penggunaan  ANY dihindarkan
–Kategory berupa (#PCDATA), menunjukkan bahwa hanya karakter data yang boleh digunakan
•Cantoh dalam DTD: <!ELEMENT paragraph (#PCDATA)>
•Contoh dalam XML: <paragraph>A shot rang out!</paragraph>
•Catatan: Dalam (#PCDATA), whitespace di kept sesuai dengan yang di berikan
•Elements tidak boleh digunakan dalam parsed character data (PCDATA)
Entitas berupa character data dapat digunakan
Elements with children (elemen dgn anak)
•      Kategori menjelaskan satu atau lebih anak:
<!ELEMENT novel (foreword, chapter+)>
–Tanda kurung diperlukan meski hanya terdiri dari satu anak
–Space (spasi) diperlukan sebelum kurung pembuka
–Koma (,) anatar element artinya semua children harus muncul, dan harus dalam urutan yang sesuai
–“|” separator artinya setiap child dapat digunakan
–Children dapat mempunyai children
–Tanda kurung dapat digunakan untuk pengelompokan:
<!ELEMENT novel (foreword, (chapter+|section+))>
Elements with mixed content (elemen dengan konten campuran)
•      # #PCDATA menjelaskan element dengan hanya character data
•    #PCDATA dapat digunakan dalam  “atau” pengelompokan:
–<!ELEMENT note (#PCDATA|message)*>
– Ini disebut sebagai mixed content (konten compuran)
10. Names dan namespaces
•      Semua nama element, attributes, dan entities, baik dalam DTD maupun XML, berbentuk sebagai berikut:
– Nama dimulai dengan huruf atau underscore (garis bawah)
– Nama dapat terdiri dari hanya huruf, angka, titik-titik, hyphens, underscores, dan colons
•      DTD tidak mengenal namespaces—DTD menganggap suatu colon sebagai bagian dari nama
– Contoh berikut adalah berbeda (dan keduanya legal):
•<!ELEMENT chapter (paragraph+)>
•<!ELEMENT myBook:chapter (myBook:paragraph+)>
– Hindari penggunaan  colons dalam nama, kecuali mengindikasikan namespaces
Contoh DTD
•     <!DOCTYPE novel [
<!ELEMENT novel
(foreword, chapter+, biography?, criticalEssay*)>
<!ELEMENT foreword (paragraph+)>
<!ELEMENT chapter (section+|paragraph+)>
<!ELEMENT section (paragraph+)>
<!ELEMENT biography(paragraph+)>
<!ELEMENT criticalEssay (section+)>
<!ELEMENT paragraph (#PCDATA)>
]>
Attributes dan entities
•      Sebagai tambahan pada elements, suatu DTD boleh mendeklarasikan attribute and entities
–This slide shows examples; we will discuss each in detail
•      Suatu  attribute menjelaskan informasi yang dapat diletakkan dalam tag awal elemen
–Dalam XML: <dog name=”Spot” age=”3″></dog>
–Dalam DTD: <!ATTLIST dog
name  CDATA  #REQUIRED
age     CDATA  #IMPLIED >
•      Suatu entity menjelaskan teks sebagai pengganti (substitusi)
–Dalam XML: &copyright;
–Dalaml DTD: <!ENTITY copyright “Copyright Dr. Dave”>
Attributes
•      Format dari attribute adalah:
<!ATTLIST element-name
name  type  requirement
name  type  requirement
>
diman name-type-requirement dapat diulang sebanyak yang dinginkan
– Untuk pemisah bagian-bagian dilakukan hanya dengan  spaces  (Oleh karenanya perlu kehati-hatian)
Element-name memberi tahu elemen mana yang dapat memeliki atribut ini
Name adalah nama dari attribute
– Setiap element mempunyai type (jenis), seperti CDATA (character data)
– Setiap element dapat seabagai: required, optional, atau “fixed”
– Dalam XML, attribute dapat muncul dalam urutan sembarang
Jenis-jenis attribute penting
•      Ada sepuluh jenis
•      Yang paling penting a.l.:
–CDATA                              Nilainya adalah character data
–(man|woman|child)      Nilainya adalah salah satu dari daftar ini
–ID                                       Nilainya adalah suatu identifier unik
• Nilai ID haruslah nama XML legal dan harus unuik dalam dokumen
–NMTOKEN                       Nilainya adalah nama XML legal
• Kadang ini digunakan untuk mencegah whitespace dalam nama
• Juga untuk mencegah angka, karena nama XML tidak adapat dimulai dengan angka
Jenis attribute yang kurang penting
•    IDREF                      ID dari element lain
•    IDREFS                  Daftar dari ID lain
•    NMTOKENS                        Daftar darai nama XML yang valid
•    ENTITY                   Suatu entitas
•    ENTITIES                Daftar adari entitas
•    NOTATION             Suatu notasi
•    xml:                        nilai XML awal (A predefined XML value)
Requirements
•      Kembali ke contoh bentuk suatu attribute
<!ATTLIST element-name name  type  requirement>
•      Requirement adalah salah satu dari:
–Suatu nilai default yang dilingkupi tanda petik
• Contoh: <!ATTLIST degree CDATA “PhD”>
–#REQUIRED
• Attribute harus ada
–#IMPLIED
• Attribute adalah pilihan (optional)
–#FIXED “value”
• Attribute selalu mempunyai nilai yang diberikan
• Jika telah ditetapkan dalam XML, nilai yang sama harus digunakan
Entities
•       Ada lima entitas yang telah ditetapkan: &lt;, &gt;, &amp;, &quot;, and &apos;
•       Entitas tambahan dapat ditentukan dalam DTD:
<!ENTITY copyright “Copyright Dr. Dave”>
•       Entitas dapat didefenisikan dalam document lain:
<!ENTITY copyright SYSTEM “MyURI”>
•       Contoh penggunaan dalam XML:
This document is &copyright; 2002.
•       Entitas jangan dibingungkan dengan referensi character yang merupakan nilai antara  & dan #
• Contoh: &233#; atau &xE9#; sebagai indikasi karakter é
Contoh lain: XML
<?xml version=”1.0″?>
<!DOCTYPE myXmlDoc SYSTEM
http://www.mysite.com/mydoc.dtd”&gt;
<weatherReport>
<date>05/29/2002</date>
<location>
<city>Philadelphia</city>, <state>PA</state>       <country>USA</country>
</location>
<temperature-range>
<high scale=”F”>84</high>
<low scale=”F”>51</low>
</temperature-range>
</weatherReport>
DTD untuk contoh xml ini
<!ELEMENT weatherReport (date, location,
temperature-range)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT location (city, state, country)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT temperature-range
((low, high)|(high, low))>
<!ELEMENT low (#PCDATA)>
<!ELEMENT high (#PCDATA)>
<!ATTLIST low scale (C|F) #REQUIRED>
<!ATTLIST high scale (C|F) #REQUIRED>
Inline DTDs
•      Jika suatu DTD digunakan hanya satu dokumen XML, dapat diletakkan langsung dalam dokumen:
<?xml version=”1.0″>
<!DOCTYPE myRootElement [
<!– DTD content goes here –>
]>
<myRootElement>
<!– XML content goes here –>
</myRootElement>
External DTDs
•      External DTD (DTD yang terpisah dari dokumen) di deklarasikan dalam SYSTEM atau PUBLIC:
<!DOCTYPE myRootElement SYSTEM
http://www.mysite.com/mydoc.dtd”&gt;
– Nama yang muncul setelah DOCTYPE (dalam contoh ini, myRootElement) harus sesuai (match) dengan elemen root dari XML:
– Gunakan SYSTEM untuk external DTDs yang didefenisikan oleh sendiri, dan  PUBLIC untuk resmi (official) yaitu DTD yang dipublish.
– External DTDs direferensikan dalam URL
•      Extension file untuk external DTD adalah .dtd
Keterbatasan DTD
•      DTDs merupakan bahasa spesifikasi yang sangat lemah
– Kita tidak dapat meletakkan pembatasan pada konten elemen
– Sulit untuk spesifikasi:
• Semua children harus muncul, tapi dapat dalam urutan sembarang
• This element must occur a certain number of times
–There are only ten data types for attribute values
•      But most of all: DTDs aren’t written in XML!
–If you want to do any validation, you need one parser for the XML and another for the DTD
–This makes XML parsing harder than it needs to be
–There is a newer and more powerful technology: XML Schemas
–However, DTDs are still very much in use
Validators
•      Opera 5 and Internet Explorer 5 can validate your XML against an internal DTD
–IE provides (slightly) better error messages
–Opera apparently just ignores external DTDs
–IE considers an external DTD to be an error
•      jEdit (my favorite editor) with the XML plugin will check for well-structuredness and (if the DTD is inline) will validate your XML each time you do a Save
http://www.jedit.org/

0 Responses to “modul xml”



  1. Tinggalkan sebuah Komentar

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




Desember 2016
S S R K J S M
« Jun    
 1234
567891011
12131415161718
19202122232425
262728293031  

Bulan


%d blogger menyukai ini: