Cara Kerja Penguji XPath
Penguji XPath adalah alat bantu untuk mengevaluasi ekspresi XPath terhadap dokumen XML atau HTML yang Anda masukkan. Alat ini memproses dokumen Anda dan menampilkan setiap bagian konten yang cocok dengan ekspresi yang diberikan. Untuk setiap kecocokan yang ditemukan, alat ini menyajikan informasi terperinci yang mencakup tipe node, nama, jalur (path), serta pratinjau nilai dari node tersebut. Anda juga dapat menyalin nilai dari setiap hasil pencocokan secara individual untuk kebutuhan analisis lebih lanjut.
Proses pengujian dilakukan dengan parameter batasan input sebagai berikut:
- Input XML / HTML: Teks dokumen dalam format XML atau HTML dengan panjang maksimal 500.000 karakter.
- Ekspresi XPath: Ekspresi XPath yang ingin diuji dengan panjang maksimal 4.000 karakter.
- Tipe input: Pilihan mode evaluasi antara "XML" atau "HTML".
Setelah evaluasi selesai, alat akan menampilkan jumlah total kecocokan yang ditemukan, daftar detail untuk setiap node yang cocok, serta tombol untuk menyalin nilai individual. Statistik dokumen berupa jumlah karakter input dan jumlah hasil yang ditampilkan juga akan muncul pada antarmuka.
Perbedaan Evaluasi Mode XML dan Mode HTML
Memilih tipe input yang tepat sangat penting karena mesin parser memperlakukan struktur dokumen secara berbeda berdasarkan mode yang dipilih.
Mode XML
Dalam "XML", alat mengikuti aturan namespace XML secara ketat. Dokumen XML sering kali menggunakan namespace untuk menghindari bentrokan nama elemen. Penguji XPath mendukung penanganan namespace ini dengan aturan:
- Prefiks namespace yang dideklarasikan di dalam dokumen XML Anda dapat langsung digunakan di dalam ekspresi XPath, misalnya
//x:item. - Untuk namespace default yang dideklarasikan dalam XML, ekspresi seperti
//itemakan tetap mengikuti deklarasi dokumen yang berlaku.
Mode HTML
Dalam "HTML", parser bekerja dengan lebih toleran terhadap struktur dokumen yang longgar. Dokumen HTML di dunia nyata sering kali tidak memiliki tag penutup yang lengkap atau tidak mengikuti aturan dokumen XML yang ketat. Dalam mode ini, Anda dapat menggunakan ekspresi atau path sederhana seperti //a untuk mencocokkan tag biasa secara langsung tanpa memerlukan validasi struktur XML yang kaku.
Menulis Ekspresi XPath yang Efisien untuk Menghindari Timeout
Mesin evaluasi XPath pada alat ini dirancang untuk menjaga kinerja browser Anda tetap stabil. Alat ini akan menghentikan evaluasi ekspresi XPath secara otomatis setelah berjalan selama 2 detik agar halaman web tidak membeku atau menjadi tidak responsif. Jika batas waktu ini terlampaui, sistem akan menampilkan pesan kesalahan: "Eksekusi XPath ini memakan waktu terlalu lama. Persempit ekspresi atau gunakan sampel yang lebih kecil.".
Untuk menghindari masalah waktu habis (timeout) saat bekerja dengan dokumen yang mendekati batas maksimal 500.000 karakter, terapkan strategi penulisan XPath berikut:
- Hindari pencarian rekursif global yang tidak perlu: Penggunaan operator
//di awal dan di tengah ekspresi memaksa parser untuk memindai seluruh kedalaman dokumen. Jika struktur dokumen sudah diketahui, gunakan jalur absolut seperti/root/parent/childuntuk mempercepat pencarian. - Batasi penggunaan predikat yang kompleks: Evaluasi fungsi string atau operasi logika yang rumit di dalam tanda kurung siku `` pada setiap node dapat memperlambat proses pencarian secara signifikan pada dokumen besar.
- Gunakan sampel dokumen yang lebih kecil: Jika Anda hanya ingin menguji validitas logika ekspresi XPath, gunakan potongan (snippet) dokumen yang mewakili struktur asli alih-alih memasukkan seluruh isi dokumen yang besar.
Aturan Validasi dan Penanganan Error
Alat ini dilengkapi dengan sistem deteksi kesalahan instan untuk membantu Anda mengidentifikasi masalah pada dokumen sumber maupun pada penulisan sintaks XPath. Berikut adalah daftar pesan kesalahan dan kondisi batas yang diterapkan oleh sistem:
| Kondisi Batas / Kesalahan | Pesan yang Ditampilkan |
|---|---|
| Ukuran dokumen input melebihi 500.000 karakter | "Dokumen ini terlalu besar untuk diuji di sini. Silakan coba sampel yang lebih kecil." |
| Panjang ekspresi XPath melebihi 4.000 karakter | "Ekspresi XPath ini terlalu panjang untuk diuji di sini." |
| Dokumen XML/HTML rusak atau tidak bisa dibaca oleh parser | "Tidak dapat memparse dokumen ini." |
| Sintaks penulisan XPath salah atau tidak valid | "Ekspresi XPath ini tidak valid." |
| Kegagalan saat mengevaluasi ekspresi terhadap dokumen | "Tidak dapat mengevaluasi XPath ini." |
| Proses evaluasi memakan waktu lebih dari 2 detik | "Eksekusi XPath ini memakan waktu terlalu lama. Persempit ekspresi atau gunakan sampel yang lebih kecil." |
| Tidak ada node dalam dokumen yang cocok dengan ekspresi | "Tidak ada hasil." |
Ketika hasil pencarian sangat banyak, alat ini membatasi jumlah tampilan demi menjaga performa browser. Jika kecocokan yang ditemukan melebihi 200 node, alat akan menampilkan pesan "Menampilkan {max} pertama." dan hanya memuat 200 hasil pertama pada panel detail.
Batasan Pengujian XPath Sisi Klien
Penting untuk dipahami bahwa alat ini melakukan pengujian secara statis berdasarkan teks mentah yang Anda masukkan ke dalam area input. Alat ini tidak merepresentasikan struktur real-time, DOM yang dirender secara dinamis oleh JavaScript, ataupun permintaan jaringan (network requests) dari halaman web aktif yang sedang berjalan di browser.
Jika Anda menyalin kode sumber dari fitur "View Source" browser pada halaman web modern yang menggunakan framework JavaScript (seperti React, Angular, atau Vue), struktur DOM yang sebenarnya mungkin berbeda dengan dokumen HTML mentah. Untuk pengujian yang akurat, pastikan Anda memasukkan dokumen HTML yang sudah dirender atau gunakan dokumen XML statis yang sesuai dengan data yang akan diproses oleh sistem Anda.
Kebijakan Privasi dan Pemrosesan Data
Keamanan data Anda sepenuhnya terjaga selama menggunakan alat ini. Dokumen XML, HTML, dan ekspresi XPath yang Anda masukkan diuji langsung di browser Anda. Tidak ada data yang diunggah ke server BroBroGo. Seluruh proses parsing, evaluasi XPath, dan penampilan hasil dilakukan secara lokal pada perangkat Anda sendiri.
Pertanyaan yang Sering Diajukan (FAQ)
Apakah saya bisa menguji XPath pada HTML serta XML?
Ya. Mode XML mempertahankan aturan namespace XML. Mode HTML lebih toleran dan memungkinkan path sederhana seperti //a mencocokkan tag biasa.
Bagaimana cara kerja namespace XML?
Prefiks namespace yang dideklarasikan dalam XML Anda dapat digunakan dalam XPath, seperti //x:item. Untuk namespace default, //item juga mengikuti deklarasi dokumen.
Mengapa kueri bisa mengalami waktu habis (timeout)? Dokumen yang sangat besar atau ekspresi yang sangat luas bisa memakan banyak sumber daya untuk dievaluasi. Alat ini menghentikan eksekusi setelah 2 detik agar halaman tetap responsif; persempit path atau coba sampel yang lebih kecil.
Berapa batas maksimal ukuran dokumen yang dapat saya uji di sini? Batas maksimal untuk dokumen XML atau HTML yang dimasukkan adalah 500.000 karakter. Jika dokumen Anda melebihi batas tersebut, Anda akan melihat pesan bahwa dokumen terlalu besar dan disarankan untuk menggunakan sampel yang lebih kecil.