Validator XML / XSD
Sisi serverContoh
Hasil Validasi
Skema XSD
Dokumen XML
Detail teknis
Cara Kerja Validator XML / XSD
Apa yang Dilakukan Alat Ini
Validator XML XSD ini memeriksa dokumen XML terhadap definisi XML Schema menggunakan pemrosesan sisi server. Alat ini memvalidasi struktur, tipe data, urutan elemen, dan persyaratan atribut yang didefinisikan dalam skema Anda. Saat validasi gagal, alat ini melaporkan error spesifik dengan nomor baris dan kolom jika tersedia. Validator ini menangani namespace, tipe kompleks, batasan sequence, dan facet skema seperti pencocokan pola dan pembatasan nilai.
Contoh: Validasi Katalog Buku
Pertimbangkan skema XSD ini yang mengharuskan buku memiliki ID bertipe integer dan harga bertipe desimal:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>XML tidak valid seperti <book id="abc"><price>not-a-number</price></book>akan gagal validasi dengan error batasan tipe untuk atribut ID dan elemen price.
Kasus Penggunaan Umum
Developer menggunakan validasi XML Schema saat berintegrasi dengan SOAP API, memvalidasi file konfigurasi, atau memproses format pertukaran data. Skenario umum mencakup memvalidasi respons API terhadap skema yang dipublikasikan, memeriksa file konfigurasi sebelum deployment, dan memastikan kualitas data dalam pipeline ETL. Validator ini sangat berguna untuk menangkap ketidaksesuaian tipe, elemen wajib yang hilang, dan urutan elemen yang salah sebelum data masuk ke sistem produksi.
Mesin Validasi dan Keterbatasan
Alat ini menggunakan libxml2 melalui binding libxmljs Node.js, menyediakan kepatuhan terhadap XML Schema 1.0. Validator memproses skema sepenuhnya di sisi server untuk keamanan dan tidak mengambil resource eksternal atau menyelesaikan impor berbasis jaringan. Pemrosesan entitas eksternal (XXE) dinonaktifkan demi keamanan. Include dan import skema hanya berfungsi jika semua skema yang dirujuk disediakan dalam konten XSD utama.
- Akses jaringan:Diblokir demi keamanan
- Impor skema:Harus inline, tanpa resolusi eksternal
- Entitas eksternal:Dinonaktifkan (perlindungan XXE)
- Batas pemrosesan:Batas ukuran yang wajar berlaku
Pemrosesan Sisi Server vs Sisi Klien
Pemeriksaan well-formedness XML di sisi klien sudah cukup untuk validasi sintaks dasar. Namun, validasi XSD memerlukan mesin khusus karena browser tidak menyertakan pemroses XML Schema. Validasi sisi server memastikan hasil yang konsisten, menangani fitur skema yang kompleks seperti pewarisan dan impor, serta memberikan isolasi keamanan dari konten XML yang berpotensi berbahaya.