XML DOCS
XML-FUNDAMENTALS
Name
Description
Example
Output
XML DeclarationDescription: Baris opsional di awal dokumen XML yang mendefinisikan versi XML dan encoding karakter.
Example:
<?xml version="1.0" encoding="UTF-8"?>
Output: Deklarasi dokumen XML
XML DeclarationBaris opsional di awal dokumen XML yang mendefinisikan versi XML dan encoding karakter.
<?xml version="1.0" encoding="UTF-8"?>
Deklarasi dokumen XML
XML ElementsDescription: Struktur utama XML yang terdiri dari tag pembuka, konten, dan tag penutup. Bersifat case-sensitive.
Example:
<title>Belajar XML</title>
Output: Elemen 'title' berisi teks
XML ElementsStruktur utama XML yang terdiri dari tag pembuka, konten, dan tag penutup. Bersifat case-sensitive.
<title>Belajar XML</title>
Elemen 'title' berisi teks
XML AttributesDescription: Informasi tambahan dalam tag pembuka, pasangan nama-nilai dalam tanda kutip.
Example:
<book category="programming" lang="id">...</book>
Output: Atribut 'category' dan 'lang'
XML AttributesInformasi tambahan dalam tag pembuka, pasangan nama-nilai dalam tanda kutip.
<book category="programming" lang="id">...</book>
Atribut 'category' dan 'lang'
XML Tree StructureDescription: Dokumen XML membentuk struktur pohon dengan satu elemen root.
Example:
<library><book>...</book></library>
Output: Hierarki parent-child
XML Tree StructureDokumen XML membentuk struktur pohon dengan satu elemen root.
<library><book>...</book></library>
Hierarki parent-child
Well-Formed XMLDescription: XML harus memenuhi aturan dasar: satu root, tag tertutup semua, case-sensitive, nesting benar.
Example:
Setiap tag pembuka harus memiliki tag penutup: <p>...</p>
Output: Dokumen dapat diparsing
Well-Formed XMLXML harus memenuhi aturan dasar: satu root, tag tertutup semua, case-sensitive, nesting benar.
Setiap tag pembuka harus memiliki tag penutup: <p>...</p>
Dokumen dapat diparsing
Valid XMLDescription: XML yang sesuai dengan skema tertentu (DTD, XSD, Relax NG).
Example:
Dokumen XML yang lulus validasi terhadap schema.xsd.
Output: Valid sesuai skema
Valid XMLXML yang sesuai dengan skema tertentu (DTD, XSD, Relax NG).
Dokumen XML yang lulus validasi terhadap schema.xsd.
Valid sesuai skema
DTD
Name
Description
Example
Output
Internal DTDDescription: Definisi DTD di dalam dokumen XML.
Example:
<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> ... ]>
Output: DTD internal
Internal DTDDefinisi DTD di dalam dokumen XML.
<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> ... ]>
DTD internal
External DTDDescription: Mereferensikan file DTD eksternal.
Example:
<!DOCTYPE note SYSTEM "note.dtd">
Output: Validasi dari file eksternal
External DTDMereferensikan file DTD eksternal.
<!DOCTYPE note SYSTEM "note.dtd">
Validasi dari file eksternal
ELEMENT DeclarationDescription: Mendefinisikan elemen dan konten yang diperbolehkan.
Example:
<!ELEMENT book (title, author, year)> <!ELEMENT title (#PCDATA)>
Output: Definisi elemen
ELEMENT DeclarationMendefinisikan elemen dan konten yang diperbolehkan.
<!ELEMENT book (title, author, year)> <!ELEMENT title (#PCDATA)>
Definisi elemen
ATTLIST DeclarationDescription: Mendefinisikan atribut untuk suatu elemen (tipe, default, required).
Example:
<!ATTLIST book category CDATA #REQUIRED lang CDATA "en">
Output: Atribut 'category' wajib, 'lang' default 'en'
ATTLIST DeclarationMendefinisikan atribut untuk suatu elemen (tipe, default, required).
<!ATTLIST book category CDATA #REQUIRED lang CDATA "en">
Atribut 'category' wajib, 'lang' default 'en'
ENTITY DeclarationDescription: Mendefinisikan entitas untuk digunakan sebagai pengganti teks atau konten eksternal.
Example:
<!ENTITY company "Tech Corp">
Output: &company; akan diganti 'Tech Corp'
ENTITY DeclarationMendefinisikan entitas untuk digunakan sebagai pengganti teks atau konten eksternal.
<!ENTITY company "Tech Corp">
&company; akan diganti 'Tech Corp'
XSD
Name
Description
Example
Output
XML Schema Definition (XSD)Description: Alternatif modern untuk DTD, mendukung tipe data kompleks dan namespace.
Example:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
Output: Namespace XSD
XML Schema Definition (XSD)Alternatif modern untuk DTD, mendukung tipe data kompleks dan namespace.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
Namespace XSD
Simple TypeDescription: Elemen dengan tipe data sederhana (string, integer, date).
Example:
<xs:element name="age" type="xs:integer"/>
Output: Elemen harus integer
Simple TypeElemen dengan tipe data sederhana (string, integer, date).
<xs:element name="age" type="xs:integer"/>
Elemen harus integer
Complex TypeDescription: Elemen yang memiliki anak atau atribut.
Example:
<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="name" type="xs:string"/></xs:sequence></xs:complexType></xs:element>
Output: Tipe kompleks dengan child 'name'
Complex TypeElemen yang memiliki anak atau atribut.
<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="name" type="xs:string"/></xs:sequence></xs:complexType></xs:element>
Tipe kompleks dengan child 'name'
RestrictionsDescription: Membatasi nilai (min, max, pattern, enumeration).
Example:
<xs:restriction base="xs:string"><xs:maxLength value="10"/></xs:restriction>
Output: String maksimal 10 karakter
RestrictionsMembatasi nilai (min, max, pattern, enumeration).
<xs:restriction base="xs:string"><xs:maxLength value="10"/></xs:restriction>
String maksimal 10 karakter
NAMESPACES
Name
Description
Example
Output
XML NamespacesDescription: Menghindari konflik nama elemen dengan memberikan awalan unik.
Example:
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3.org/TR/1999/xhtml">
Output: Prefix h: dan f:
XML NamespacesMenghindari konflik nama elemen dengan memberikan awalan unik.
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3.org/TR/1999/xhtml">
Prefix h: dan f:
Default NamespaceDescription: Namespace yang berlaku untuk semua elemen tanpa prefiks dalam lingkupnya.
Example:
<table xmlns="http://www.w3.org/1999/xhtml"><tr><td>Data</td></tr></table>
Output: Semua elemen dianggap dari namespace xhtml
Default NamespaceNamespace yang berlaku untuk semua elemen tanpa prefiks dalam lingkupnya.
<table xmlns="http://www.w3.org/1999/xhtml"><tr><td>Data</td></tr></table>
Semua elemen dianggap dari namespace xhtml
XPATH
Name
Description
Example
Output
XPath ExpressionDescription: Bahasa untuk menavigasi dan memilih node dalam dokumen XML.
Example:
/library/book/title
Output: Node <title> di dalam <book>
XPath ExpressionBahasa untuk menavigasi dan memilih node dalam dokumen XML.
/library/book/title
Node <title> di dalam <book>
Absolute Path (/...)Description: Memulai seleksi dari root.
Example:
/catalog/book[1]
Output: Buku pertama
Absolute Path (/...)Memulai seleksi dari root.
/catalog/book[1]
Buku pertama
Relative Path (./... atau hanya ...)Description: Relatif terhadap node saat ini.
Example:
./price atau price
Output: Node <price> di bawah konteks saat ini
Relative Path (./... atau hanya ...)Relatif terhadap node saat ini.
./price atau price
Node <price> di bawah konteks saat ini
PredicatesDescription: Kondisi penyaringan di dalam kurung siku.
Example:
/catalog/book[price>35]
Output: Buku dengan harga di atas 35
PredicatesKondisi penyaringan di dalam kurung siku.
/catalog/book[price>35]
Buku dengan harga di atas 35
FunctionsDescription: Fungsi bawaan seperti text(), contains(), starts-with(), sum().
Example:
//book[contains(title, 'XML')]
Output: Buku yang judulnya mengandung 'XML'
FunctionsFungsi bawaan seperti text(), contains(), starts-with(), sum().
//book[contains(title, 'XML')]
Buku yang judulnya mengandung 'XML'
XSLT
Name
Description
Example
Output
XSLT TransformationDescription: Mengubah dokumen XML menjadi format lain (HTML, XML lain, teks).
Example:
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
Output: Dokumen akan ditransformasi
XSLT TransformationMengubah dokumen XML menjadi format lain (HTML, XML lain, teks).
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
Dokumen akan ditransformasi
<xsl:template>Description: Mendefinisikan template untuk mencocokkan dan mentransformasi node.
Example:
<xsl:template match="/"><html><body><xsl:apply-templates/></body></html></xsl:template>
Output: Template untuk root
<xsl:template>Mendefinisikan template untuk mencocokkan dan mentransformasi node.
<xsl:template match="/"><html><body><xsl:apply-templates/></body></html></xsl:template>
Template untuk root
<xsl:value-of>Description: Mengambil nilai dari node yang dipilih.
Example:
<xsl:value-of select="book/title"/>
Output: Teks judul buku
<xsl:value-of>Mengambil nilai dari node yang dipilih.
<xsl:value-of select="book/title"/>
Teks judul buku
<xsl:for-each>Description: Iterasi melalui node yang dipilih.
Example:
<xsl:for-each select="catalog/book"><p><xsl:value-of select="title"/></p></xsl:for-each>
Output: Daftar buku dalam paragraf
<xsl:for-each>Iterasi melalui node yang dipilih.
<xsl:for-each select="catalog/book"><p><xsl:value-of select="title"/></p></xsl:for-each>
Daftar buku dalam paragraf
<xsl:if> / <xsl:choose>Description: Kondisional dalam XSLT.
Example:
<xsl:if test="price>30">Diskon!</xsl:if>
Output: Teks kondisional
<xsl:if> / <xsl:choose>Kondisional dalam XSLT.
<xsl:if test="price>30">Diskon!</xsl:if>
Teks kondisional
XML-IN-BROWSER
Name
Description
Example
Output
DOMParserDescription: Memparsing string XML menjadi dokumen DOM.
Example:
const parser = new DOMParser(); const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
Output: XML Document
DOMParserMemparsing string XML menjadi dokumen DOM.
const parser = new DOMParser(); const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
XML Document
XMLSerializerDescription: Mengubah dokumen DOM menjadi string XML.
Example:
const serializer = new XMLSerializer(); const xmlString = serializer.serializeToString(xmlDoc);
Output: String XML
XMLSerializerMengubah dokumen DOM menjadi string XML.
const serializer = new XMLSerializer(); const xmlString = serializer.serializeToString(xmlDoc);
String XML
XMLHttpRequest (XML)Description: Mengambil dan memparsing file XML melalui HTTP.
Example:
const xhr = new XMLHttpRequest();
xhr.open('GET', '/data.xml');
xhr.onload = () => { const xmlDoc = xhr.responseXML };Output: Document XML dari server
XMLHttpRequest (XML)Mengambil dan memparsing file XML melalui HTTP.
const xhr = new XMLHttpRequest();
xhr.open('GET', '/data.xml');
xhr.onload = () => { const xmlDoc = xhr.responseXML };Document XML dari server
BEST-PRACTICES
Name
Description
Example
Output
Gunakan encoding UTF-8Description: Encoding universal yang mendukung semua karakter internasional.
Example:
<?xml version="1.0" encoding="UTF-8"?>
Output: Kompatibilitas penuh
Gunakan encoding UTF-8Encoding universal yang mendukung semua karakter internasional.
<?xml version="1.0" encoding="UTF-8"?>
Kompatibilitas penuh
Validasi dengan SchemaDescription: Gunakan XSD untuk memastikan struktur dan tipe data benar sebelum diproses.
Example:
Validasi dokumen XML sebelum parsing.
Output: Data konsisten
Validasi dengan SchemaGunakan XSD untuk memastikan struktur dan tipe data benar sebelum diproses.
Validasi dokumen XML sebelum parsing.
Data konsisten
Hindari parsing XML dari sumber tidak tepercayaDescription: XML External Entity (XXE) attack bisa terjadi jika parser tidak dikonfigurasi dengan aman.
Example:
Nonaktifkan eksternal entity dan DTD processing di parser.
Output: Terhindar dari XXE
Hindari parsing XML dari sumber tidak tepercayaXML External Entity (XXE) attack bisa terjadi jika parser tidak dikonfigurasi dengan aman.
Nonaktifkan eksternal entity dan DTD processing di parser.
Terhindar dari XXE
Gunakan Namespace untuk integrasiDescription: Saat menggabungkan XML dari berbagai sumber, namespace mencegah konflik.
Example:
<root xmlns:ns1="..." xmlns:ns2="...">
Output: Tidak ada konflik elemen
Gunakan Namespace untuk integrasiSaat menggabungkan XML dari berbagai sumber, namespace mencegah konflik.
<root xmlns:ns1="..." xmlns:ns2="...">
Tidak ada konflik elemen