Tag XML belum ditetapkan. Anda harus menetapkan tag Anda sendiri
XML dirancang untuk mendeskripsikan data, dengan fokus pada apa data
HTML dirancang untuk menampilkan data, dengan fokus pada bagaimana
data terlihat
Catatan di atas cukup diri deskriptif. Memiliki pengirim dan penerima informasi,
juga memiliki judul dan badan pesan.
Tapi tetap, dokumen ini XML tidak melakukan apa-apa. Ini hanya informasi yang
dibungkus dalam tag. Seseorang harus menulis sebuah software untuk
mengirim, menerima atau menampilkannya.
Bertukar data XML sangat mengurangi kompleksitas ini, karena data dapat
dibaca oleh aplikasi yang tidak kompatibel yang berbeda.
XHTML
XML Schema
SVG
WSDL
RSS
XML Pohon
Dokumen XML membentuk struktur pohon yang dimulai pada "akar" dan
cabang "daun".
Dokumen XML harus berisi elemen root. Elemen ini adalah "orang tua" dari
semua elemen lainnya.
Unsur-unsur dalam dokumen XML membentuk pohon dokumen. Pohon itu
dimulai pada akar dan cabang ke tingkat terendah dari pohon.
Semua elemen dapat memiliki sub elemen (elemen anak):
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Istilah orang tua, anak, dan saudara yang digunakan untuk menggambarkan
hubungan antara unsur-unsur. Unsur orang tua memiliki anak. Anak-anak pada
tingkat yang sama disebut saudara (saudara atau saudari).
Semua elemen dapat memiliki konten teks dan atribut (seperti di HTML).
Contoh:
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Elemen root dalam contoh adalah <toko buku>. Semua <book> elemen dalam
dokumen yang terkandung dalam <toko buku>.
The <buku> elemen memiliki 4 anak: <title>, <author>, <tahun>, <harga>.
<subchild>.....</subchild>
</child>
</root>
Referensi entitas
Beberapa karakter memiliki arti khusus dalam XML.
Jika Anda menempatkan karakter seperti "<" di dalam sebuah elemen XML,
maka akan menghasilkan kesalahan karena parser menafsirkan sebagai awal
dari sebuah elemen baru.
Ini akan menghasilkan kesalahan XML:
<message>if salary < 1000 then</message>
Untuk menghindari kesalahan ini, ganti "<" karakter dengan referensi entitas:
<message>if salary < 1000 then</message>
Ada 5 yang telah ditetapkan referensi entitas dalam XML:
<
<
less than
>
>
greater than
&
&
ampersand
'
'
apostrophe
"
"
quotation mark
Catatan: Hanya karakter "<" dan "&" secara ketat ilegal dalam XML. Lebih
besar dari karakter adalah legal, tetapi merupakan kebiasaan yang baik untuk
menggantinya.
Hello
HTML:
Hello Tove
Tove
Elemen XML
Sebuah dokumen XML mengandung Elemen XML.
unsur-unsur lain
teks
atribut
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Dalam contoh di atas, <toko buku> dan <book> memiliki isi elemen, karena
mengandung unsur-unsur lain. <Book> juga memiliki atribut (kategori =
"ANAK"). <Title>, <author>, <tahun>, dan <harga> memiliki konten
teks karena mengandung teks.
Nama elemen tidak dapat memulai dengan huruf xml (atau XML, atau
Xml, dll)
Nama elemen dapat berisi huruf, angka, tanda hubung, garis bawah, dan
periode
Setiap nama dapat digunakan, tidak ada kata-kata dicadangkan (kecuali xml).
Penamaan Styles
Tidak ada gaya penamaan yang ditetapkan untuk elemen XML. Tapi di sini ada
beberapa yang umum digunakan:
Gaya
Contoh
Deskripsi
Huruf kecil
<Firstname>
Huruf besar
<FIRSTNAME>
Menggarisbawahi
<First_name>
Kasus pascal
<FirstName>
Kasus Camel
<FirstName>
Dokumen XML sering memiliki database yang sesuai. Sebuah praktek yang baik
adalah dengan menggunakan aturan penamaan database Anda untuk elemen
dalam dokumen XML.
Atribut XML
Elemen XML dapat memiliki atribut, seperti HTML.
Atribut memberikan informasi tambahan tentang elemen.
Atribut XML
Dalam HTML, atribut memberikan informasi tambahan tentang elemen:
<img src="computer.gif">
<a href="demo.asp">
Atribut sering memberikan informasi yang bukan merupakan bagian dari
data. Pada contoh di bawah ini, jenis file tidak relevan dengan data, namun
dapat menjadi penting untuk perangkat lunak yang ingin memanipulasi elemen:
<file type="gif">computer.gif</file>
<person>
<gender>female</gender>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
Pada pertama contoh jenis kelamin adalah atribut. Pada yang terakhir, jenis
kelamin adalah elemen. Kedua contoh memberikan informasi yang sama.
Tidak ada aturan tentang kapan harus menggunakan atribut atau ketika
menggunakan elemen. Atribut yang berguna dalam HTML. Dalam XML saran
saya adalah untuk menghindari mereka. Menggunakan elemen sebagai
gantinya.
My Way Favorit
Tiga dokumen XML berikut ini berisi persis informasi yang sama:
Tanggal atribut digunakan dalam contoh pertama:
<note date="2008-01-10">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Unsur tanggal digunakan dalam contoh kedua:
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<messages>
<note id="501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
Id atribut di atas adalah untuk mengidentifikasi catatan yang berbeda. Ini
bukan bagian dari catatan itu sendiri.
Apa yang saya katakan di sini adalah bahwa metadata (data tentang data)
harus disimpan sebagai atribut, dan data itu sendiri harus disimpan sebagai
elemen.
Namespaces XML
Namespaces XML menyediakan metode untuk menghindari konflik nama
elemen.
Nama Konflik
Dalam XML, nama elemen didefinisikan oleh pengembang. Hal ini sering
menyebabkan konflik ketika mencoba untuk mencampur dokumen XML dari
aplikasi XML yang berbeda.
XML ini membawa informasi tabel HTML:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
XML ini membawa informasi tentang tabel (perabot):
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Jika fragmen ini XML ditambahkan bersama-sama, akan ada konflik
nama. Keduanya mengandung <table> elemen, namun unsur memiliki konten
yang berbeda dan makna.
Seorang pengguna atau aplikasi XML tidak akan tahu bagaimana menangani
perbedaan-perbedaan ini.
</root>
Catatan: The namespace URI tidak digunakan oleh parser untuk mencari
informasi.
Tujuannya adalah untuk memberikan namespace nama yang unik. Namun,
seringkali perusahaan menggunakan namespace sebagai pointer ke halaman
web yang berisi informasi namespace.
<length>120</length>
</table>
XML Encoding
Dokumen XML dapat berisi karakter internasional, seperti Norwegia,
atau EEE Perancis.
Untuk menghindari kesalahan, Anda harus menentukan encoding yang
digunakan, atau menyimpan file XML sebagai UTF-8.
Pengkodean karakter
Pengkodean karakter mendefinisikan kode biner yang unik untuk setiap karakter
yang berbeda yang digunakan dalam dokumen.
Dalam istilah komputer, pengkodean karakter juga disebut set karakter, peta
karakter, kode set, dan halaman kode.
UTF-16 menggunakan 2 byte (16 bit) untuk sebagian besar karakter, dan empat
byte untuk sisanya.
XML Encoding
Garis pertama di dokumen XML disebut Prolog:
<?xml version="1.0"?>
Prolog adalah opsional. Biasanya mengandung nomor versi XML.
Hal ini juga dapat berisi informasi tentang pengkodean yang digunakan dalam
dokumen. Prolog ini menentukan UTF-8 encoding:
<?xml version="1.0" encoding="UTF-8 " ?>
XML menyatakan standar bahwa semua perangkat lunak XML harus memahami
kedua UTF-8 dan UTF-16.
UTF-8 adalah default untuk dokumen tanpa pengkodean informasi.
Selain itu, sebagian besar sistem software XML memahami pengkodean seperti
ISO-8859-1, Windows-1252, dan ASCII.
Kesalahan XML
Paling sering, dokumen XML yang dibuat pada satu komputer, upload ke server
pada komputer kedua, dan ditampilkan oleh browser pada komputer ketiga.
Jika pengkodean tidak benar ditafsirkan oleh semua tiga komputer, browser
akan menampilkan teks berarti, atau Anda mungkin mendapatkan pesan error.
Untuk dokumen XML berkualitas tinggi, UTF-8 encoding adalah yang terbaik
untuk digunakan. UTF-8 mencakup karakter internasional, dan juga default, jika
tidak ada encoding dinyatakan.
Kesimpulan
Ketika Anda menulis sebuah dokumen XML:
XML mentah (tanpa + dan - tanda-tanda), pilih "View Page Source" atau "View
Source" dari menu browser.
Catatan: Dalam Safari, hanya teks elemen akan ditampilkan. Untuk melihat
XML mentah, Anda harus klik kanan halaman dan pilih "View Source".
<YEAR>1988</YEAR>
</CD>
.
.
.
</CATALOG>
Memformat XML dengan CSS bukanlah metode yang paling umum.
W3C merekomendasikan menggunakan XSLT sebagai gantinya.
Untuk membantu Anda memeriksa sintaks file XML Anda, kami telah
menciptakan validator XML untuk sintaks memeriksa XML Anda.
XML Validator
Sebelumnya
Next Chapter
Jika Anda mendapatkan "Akses Ditolak" atau "Kesalahan Jaringan", itu karena browser A
mengizinkan akses file di seluruh domain.
File "note_error.xml" menunjukkan penanganan browser kesalahan Anda. Jika
Anda ingin melihat pesan kesalahan-bebas, menggantikan "note_error.xml"
dengan "cd_catalog.xml".
XML DTD
Sebuah dokumen XML dengan sintaks yang benar disebut "Well Dibentuk".
Sebuah dokumen XML divalidasi terhadap DTD "Well Dibentuk" dan "Hari".
XML DTD
Tujuan dari DTD adalah untuk mendefinisikan struktur dokumen XML. Ini
mendefinisikan struktur dengan daftar elemen hukum:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
DTD di atas ditafsirkan seperti ini:
! ELEMEN dari mendefinisikan dari unsur untuk menjadi tipe "# PCDATA"
Contoh
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp " ">
XML Schema
XML Schema menggambarkan struktur dokumen XML, seperti DTD.
Sebuah dokumen XML dengan sintaks yang benar disebut "Well Dibentuk".
Sebuah dokumen XML divalidasi terhadap skema XML yang baik "Well
Dibentuk" dan "Hari".
XML Schema
XML Schema adalah alternatif berbasis XML untuk DTD:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Skema di atas ditafsirkan seperti ini:
<Xs: nama elemen = "untuk" type = "xs: string"> elemen "untuk" adalah
tipe string (teks)
<Xs: nama elemen = "dari" type = "xs: string"> elemen "dari" adalah
tipe string
<Xs: nama elemen = "judul" type = "xs: string"> elemen "judul" adalah
tipe string
<Xs: element name = "body" type = "xs: string"> elemen "body" adalah
tipe string
Salah satu kekuatan terbesar dari XML Schemas adalah dukungan untuk tipe
data:
Anda dapat menggunakan parser XML untuk mengurai file Skema Anda
XMLHttpRequest Object
Sebelumnya
Next Chapter
XMLHttpRequest Object
Objek XMLHttpRequest digunakan untuk pertukaran data dengan server di
belakang layar.
Objek XMLHttpRequest adalah mimpi pengembang, karena Anda dapat:
XMLHttpRequest Contoh
Ketika Anda mengetik karakter dalam kolom input di bawah ini,
XMLHttpRequest dikirim ke server - dan nama saran dikembalikan (dari file di
server):
Contoh
Start typing a name in the input field below:
First name:
Suggestions:
XML Parser
Akses Di Domain
Untuk alasan keamanan, browser modern tidak mengizinkan akses di seluruh
domain.
Ini berarti, bahwa kedua halaman web dan file XML mencoba untuk memuat,
harus berada pada server yang sama.
XML DOM
Dalam bab berikutnya Anda akan belajar bagaimana untuk mengakses dan
mengambil data dari objek XML DOM.
XML DOM
Sebuah DOM (Document Object Model) mendefinisikan cara standar untuk
mengakses dan memanipulasi dokumen.
XML DOM
XML DOM mendefinisikan cara standar untuk mengakses dan memanipulasi
dokumen XML.
XML DOM memandang sebuah dokumen XML sebagai struktur pohon.
Semua elemen dapat diakses melalui pohon DOM. Konten mereka (teks dan
atribut) dapat diubah atau dihapus, dan unsur-unsur baru dapat dibuat. Unsurunsur, teks mereka, dan atribut mereka semua dikenal sebagai node.
Anda dapat mempelajari lebih lanjut tentang DOM XML di kami tutorial XML
DOM .
HTML DOM
Contoh
<html>
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
Catatan Penting!
Untuk mengekstrak teks "Tove" dari <ke> elemen dalam file XML di atas
("note.xml"), sintaks adalah:
getElementsByTagName("to")[0].childNodes[0].nodeValue
Perhatikan bahwa bahkan jika file XML hanya SATU <untuk> elemen Anda
masih harus menentukan indeks array [0].Hal ini karena metode Buka menu ()
mengembalikan sebuah array.
Contoh
<html>
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>
<script>
txt="<note>";
txt=txt+"<to>Tove</to>";
txt=txt+"<from>Jani</from>";
txt=txt+"<heading>Reminder</heading>";
txt=txt+"<body>Don't forget me this weekend!</body>";
txt=txt+"</note>";
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
XML di HTML
Data yang menampilkan XML dalam Tabel
HTML
Pada contoh berikut, kita membuka file XML yang disebut " cd_catalog.xml ".
Kami kemudian loop melalui setiap <CD> elemen, dan menampilkan nilai-nilai
dari <ARTIST> dan <TITLE> unsur-unsur dalam tabel HTML:
Contoh
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse:collapse;
}
th, td {
padding: 5px;
}
</style>
</head>
<body>
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","cd_catalog.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<table><tr><th>Artist</th><th>Title</th></tr>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{
document.write("<tr><td>");
document.write(x[i].getElementsByTagName("ARTIST")
[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("TITLE")
[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
document.write("</table>");
</script>
</body>
</html>
Aplikasi XML
Bab ini menunjukkan beberapa aplikasi XML kecil yang dibangun di atas
XML, HTML, XML DOM dan JavaScript.
Contoh
x=xmlDoc.getElementsByTagName("CD");
i=0;
function displayCD()
{
artist=(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
title=(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
year=(x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue);
txt="Artist: " + artist + "<br />Title: " + title + "<br />Year: "+ year;
document.getElementById("showCD").innerHTML=txt;
}
Arahkan Antara CD
Untuk menavigasi antara CD, dalam contoh di atas, tambahkan berikutnya ()
dan sebelumnya () function:
Contoh
function next()
{ // display the next CD, unless you are on the last CD
if (i<x.length-1)
{
i++;
displayCD();
}
}
function previous()
{ // displays the previous CD, unless you are on the first CD
if (i>0)
{
i--;
displayCD();
}
}