Tutorial XML

RUMAH XML Pengantar XML XML Cara menggunakan Pohon XML Sintaks XML Elemen XML Atribut XML Ruang Nama XML Tampilan XML XML HttpRequest Pengurai XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Validator XML XML DTD Skema XML Server XML Contoh XML Kuis XML Sertifikat XML

XML AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

XML DOM

Pengenalan DOM Node DOM Mengakses DOM Info Simpul DOM Daftar Simpul DOM Melintasi DOM Navigasi DOM DOM Dapatkan Nilai DOM Ubah Node DOM Hapus Node DOM Ganti Node DOM Buat Node DOM Tambahkan Node Node Klon DOM Contoh DOM

Tutorial XPath

Pengenalan XPath Node XPath Sintaks XPath Sumbu XPath Operator XPath Contoh XPath

Tutorial XSLT

Pengenalan XSLT Bahasa XSL Transformasi XSLT XSLT <templat> XSLT <nilai-dari> XSLT <untuk-setiap> XSLT <sort> XSLT <jika> XSLT <pilih> Terapkan XSLT XSLT di Klien XSLT di Server XSLT Sunting XML Contoh XSLT

Tutorial XQuery

Pengenalan XQuery Contoh XQuery XQuery FLWOR HTML XQuery Persyaratan XQuery Sintaks XQuery Tambahkan XQuery XQuery Pilih Fungsi XQuery

XML DTD

Pengenalan DTD Blok Bangunan DTD Elemen DTD Atribut DTD Elemen DTD vs Attr Entitas DTD Contoh DTD

Skema XSD

Pengenalan XSD XSD Bagaimana caranya? XSD <skema> Elemen XSD Atribut XSD Pembatasan XSD

Kompleks XSD

Elemen XSD XSD Kosong Elemen XSD Saja Hanya Teks XSD Campuran XSD Indikator XSD XSD <apa saja> XSD <anyAttribute> Pergantian XSD Contoh XSD

Data XSD

String XSD Tanggal XSD XSD Numerik XSD Lain-lain Referensi XSD

Layanan Web

Layanan XML XML WSDL XML SOAP XML RDF XML RSS

Referensi

Jenis Node DOM Simpul DOM Daftar Simpul DOM DOM BernamaNodeMap Dokumen DOM Elemen DOM Atribut DOM Teks DOM DOM CDATA Komentar DOM DOM XMLHttpRequest Pengurai DOM Elemen XSLT Fungsi XSLT/XPath

Ruang Nama XML


XML Namespaces menyediakan metode untuk menghindari konflik nama elemen.


Konflik Nama

Dalam XML, nama elemen ditentukan oleh pengembang. Hal ini sering mengakibatkan 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 meja (perabotan):

<table>
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

Jika fragmen XML ini ditambahkan bersama, akan ada konflik nama. Keduanya mengandung elemen <table>, tetapi elemen tersebut memiliki konten dan makna yang berbeda.

Seorang pengguna atau aplikasi XML tidak akan tahu bagaimana menangani perbedaan ini.


Menyelesaikan Konflik Nama Menggunakan Awalan

Konflik nama dalam XML dapat dengan mudah dihindari menggunakan awalan nama.

XML ini membawa informasi tentang tabel HTML, dan perabot:

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

Pada contoh di atas, tidak akan ada konflik karena kedua elemen <table> memiliki nama yang berbeda.



XML Namespaces - Atribut xmlns

Saat menggunakan awalan dalam XML, ruang nama untuk awalan harus ditentukan.

Namespace dapat didefinisikan oleh atribut xmlns di tag awal suatu elemen.

Deklarasi namespace memiliki sintaks berikut. xmlns: awalan =" URI ".

<root>

<h:table xmlns:h="http://www.w3.org/TR/html4/">
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table xmlns:f="https://www.w3schools.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

Dalam contoh di atas:

Atribut xmlns di elemen <table> pertama memberikan awalan h: namespace yang memenuhi syarat.

Atribut xmlns di elemen <table> kedua memberikan awalan f: namespace yang memenuhi syarat.

Ketika namespace didefinisikan untuk sebuah elemen, semua elemen anak dengan awalan yang sama diasosiasikan dengan namespace yang sama.

Namespace juga dapat dideklarasikan dalam elemen root XML:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/furniture">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

Catatan: URI namespace tidak digunakan oleh parser untuk mencari informasi.

Tujuan menggunakan URI adalah untuk memberi namespace nama yang unik.

Namun, perusahaan sering menggunakan namespace sebagai penunjuk ke halaman web yang berisi informasi namespace.


Uniform Resource Identifier (URI)

Uniform Resource Identifier ( URI) adalah string karakter yang mengidentifikasi Sumber Daya Internet.

URI yang paling umum adalah Uniform Resource Locator (URL) yang mengidentifikasi alamat domain Internet. Jenis URI lainnya yang tidak begitu umum adalah Uniform Resource Name (URN).


Ruang Nama Default

Mendefinisikan namespace default untuk sebuah elemen menyelamatkan kita dari penggunaan awalan di semua elemen anak. Ini memiliki sintaks berikut:

xmlns="namespaceURI"

XML ini membawa informasi tabel HTML:

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

XML ini membawa informasi tentang perabot:

<table xmlns="https://www.w3schools.com/furniture">
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

Ruang Nama dalam Penggunaan Nyata

XSLT adalah bahasa yang dapat digunakan untuk mengubah dokumen XML ke format lain.

Dokumen XML di bawah ini, adalah dokumen yang digunakan untuk mengubah XML menjadi HTML.

Namespace "http://www.w3.org/1999/XSL/Transform" mengidentifikasi elemen XSLT di dalam dokumen HTML:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr>
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Jika Anda ingin mempelajari lebih lanjut tentang XSLT, silakan baca Tutorial XSLT kami .