DevToys Web Pro iconDevToys Web ProBlog
Beri nilai kami:
Coba ekstensi browser:

Validator XML / XSD

Sisi server

Contoh

Hasil Validasi

Memuat validasi...

Skema XSD

  • Dokumen XML

  • Loading editor...
    Loading editor...
    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 &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt;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.