Memahami Alat Bantu Pencarian EAD sebagai Data : XQuery untuk Pengarsip

Memahami Alat Bantu Pencarian EAD sebagai Data : XQuery untuk Pengarsip – XQuery adalah bahasa scripting yang sederhana, namun kuat, yang dirancang untuk memungkinkan penggunatanpa pelatihan pemrograman formal untuk mengekstrak, mengubah, dan memanipulasi data XML.Selain itu, bahasanya adalah standar yang diterima dan rekomendasi W3C seperti standar saudaranya, XML dan XSLT. Dengan kata lain, raison d’etre XQuery bertepatansempurna dengan kebutuhan arsiparis saat ini.

Memahami Alat Bantu Pencarian EAD sebagai Data : XQuery untuk Pengarsip

zorba-xquery.com – Berikut ini adalah penjelasan singkat, pragmatis,ikhtisar XQuery untuk arsiparis yang akan memungkinkan arsiparis dengan pemahaman yang tajam XML, XPath, dan EAD untuk mulai bereksperimen dengan memanipulasi data EAD menggunakan Pengarsip tidak perlu dijual di XML – repositori di seluruh negeri memiliki menjadi pengadopsi awal teknologi sejak 1990-an. Pada dasarnya semua data arsip standar telah baik dikembangkan untuk XML (EAD) atau telah diadaptasi untuk penggunaannya (MARK). Keterbukaan, standarisasi, fleksibilitas struktural, dan kemudahan penggunaan telah membuktikan bahwa XML adalah alat yang kuat dan sentral bagi arsiparis abad ke-21. Namun, sementara arsiparis telah lama menyimpan alat bantu pencarian di EAD, ada perbedaan keterampilan utama antara menyandikan alat bantu pencarian dan benar-benar melakukan apa saja dengan data itu.i Cara paling umum arsiparis telah memanfaatkan data XML melalui lembar gaya XSLT, seringkali untuk menampilkan data dalam daftar panjang yang dapat digulir.

Baca Juga : Keterampilan dan Kode HTML Zorba  Xquery Processor

Baru-baru ini, ada gerakan untuk lebih berkembang sistem informasi arsip yang canggih dan mudah digunakan.ii Selanjutnya, arsip yang telah banyak berinvestasi dalam mengembangkan alat bantu pencarian EAD akan senang untuk mengotomatisasi menggunakan kembali data ini untuk akses yang lebih mudah, kegiatan penjangkauan, dan banyak lagi. Cukup sederhana,memanipulasi dan memformat ulang data XML telah menjadi keterampilan yang berharga bagi arsiparis dan XQuery menyediakan metode sederhana dan mudah dipelajari untuk melakukan hal itu.Ini sama sekali bukan pengenalan yang komprehensif untuk XQuery – untuk itu,arsiparis perlu mencari sumber daya yang lebih tradisional seperti yang disediakan di akhir artikel ini. Namun, memulai dengan studi XQuery yang panjang dan komprehensif mungkin hanya bermanfaat untuk menunda pengalaman langsung dan membuat frustrasi orang yang tidak sabar. Pengarsip mungkin merasa lebih mudah menyelam dan bereksperimen dengan bahasa sebelum mencari pemahaman yang lebih luas.

Yang dibutuhkan arsiparis adalah panduan sederhana dan mudah diakses untuk memulainya. Jika Anda mengalami masalah saat menggunakan panduan ini, coba cari masalah Anda baik di Stack Overflow atau dengan mesin pencari favorit Anda.iii

XQuery dan XSLT

Sekarang, untuk arsiparis yang memiliki pengalaman dengan XSLT, XQuery terdengar sebagai sangat mirip dengan transformasi lembar gaya XML ini. XSLT juga dapat digunakan untuk mengubah dan memanipulasi data XML, digunakan secara luas jauh sebelum XQuery, dan memiliki keuntungan dikompilasi oleh browser web. Ini berarti data XML dapat diproses sisi server dengan XSLT sedangkan browser saat ini tidak dapat membaca XQuery tanpa pengaya khusus atau solusi. Pengarsip tidak harus belajar dan beradaptasi dengan yang baru perangkat lunak untuk mencoba XSLT – mereka baru saja bereksperimen dengan transformasi stylesheet dengan menggunakan browser web yang mereka kenal. Ini mungkin mengapa XSLT telah menikmati lebih banyak kegunaan dalam komunitas arsip.

Sekolah pascasarjana umumnya mengajarkan XSLT dan banyak arsiparis telah menghabiskan banyak waktu untuk mempelajari standar tersebut. Belum,sementara XSLT dan XQuery tumpang tindih dalam beberapa hal, ada beberapa perbedaan penting yang membuat yang terakhir lebih berguna dalam banyak kasus.

Mengapa XQuery?

Jadi mengapa menggunakan atau mempelajari XQuery? Yang terpenting, ini jauh lebih sederhana dan lebih murah verbose dari XSLT, yang ditulis dalam XML itu sendiri. Ini membuat XSLT membutuhkan lebih banyak karakter untuk melakukan tindakan yang sama dari XQuery (lihat lampiran untuk perbandingan).

Meskipun ini tidak tampak seperti keuntungan besar, itu sebenarnya. Skrip XQuery lebih bersih,lebih sederhana, seringkali lebih cepat untuk ditulis, dan lebih mudah dirawat. Ini membuat pengguna banyak lebih mungkin untuk benar-benar menggunakan bahasa tersebut dan lebih efektif menggunakan data XML mereka.

Seperti yang dikatakan Steve Krug tentang pengujian kegunaan: jika suatu tugas sulit, itu akan menjadi dihindari, sedangkan jika suatu tugas lebih mudah, semakin besar kemungkinan akan dilakukan lebih banyak frequent.iv Pengarsip yang menghindari memperbarui file XSLT besar yang diturunkan sejak lama dari buku masak EAD asli pasti akan bersimpati.v

Kedua, XQuery lebih kuat dari XSLT. Itu dapat melakukan lebih banyak fungsi dan membuat tugas yang kompleks menjadi lebih mudah. Fungsi adalah inti dari kedua bahasa – anggap mereka sebagai kata-kata ajaib yang telah diprogram sebelumnya yang membantu pengguna untuk dengan mudah melakukan tindakan kompleks dengan data mereka. Di XQuery, pengguna tingkat lanjut bahkan dapat menulis fungsi mereka sendiri dengan lebih mudah daripada di XSLT. Sementara XSLT 3.0 telah memperkenalkan lebih banyak fungsi, ini bahkan tidak sebanding ke XQuery yang memiliki 225 fungsi bawaan yang dapat dengan mudah memeriksa apakah suatu elemen ada atau berisi data, mengedit string karakter dengan cara yang rumit, menentukan posisi relatif elemen, dan banyak lagi alat yang memungkinkan pengguna mendapatkan hasil maksimal dari data mereka.

Jadi, XQuery memungkinkan arsiparis untuk berbuat lebih banyak dengan data mereka, dan membuatnya lebih banyak lebih mungkin untuk melakukannya. Namun, keuntungan terbesarnya mungkin memaksa mereka untuk memikirkan File EAD sebagai data bukan sebagai daftar atau indeks. Tidak seperti XSLT, XQuery dirancang untuk query XML – itu dirancang agar pengguna menanyakan data apa yang mereka inginkan dan bagaimana mereka menginginkannya. Ini akan memaksa arsiparis untuk melihat deskripsi mereka sebagai unit informasi yang terpisah. Tidak hanya melakukan deskripsi memiliki hubungan kontekstual dengan deskripsi sekitarnya yang menyampaikan urutan asli, tetapi juga berguna untuk mengembalikan deskripsi terpisah sebagai hasil pencarian atau menyusun ulang data untuk menampilkan informasi dengan cara yang berbeda (dan mungkin lebih mudah diakses).

Ini konsisten dengan argumen baru-baru ini bahwa alat bantu pencarian EAD tingkat tunggal berguna sebagai elemen diskrit untuk navigasi dan secara keseluruhan akan berfungsi untuk menjauhkan EAD dari tampilan yang peneliti lihat.vi Dengan demikian, EAD akan menjadi penyimpan data arsip deskripsi sementara antarmuka tambahan atau sistem informasi menanyakannya daripada mengubah atau memformat ulang itu

Apa yang Saya Perlukan untuk Menggunakan XQuery?

Meskipun XQuery tidak dapat berjalan secara native di browser umum, ada sejumlah cara untuk mulai bereksperimen dengan query XML. Pertama, Saxon juga memproses Xquery sebagai XSLT, jadi jika Anda memiliki akses ke perangkat lunak desktop seperti Oxygen XML Editor atau server yang menjalankan Saxon, Anda harus dapat menjalankan kueri seperti Anda menjalankan XSLT.vii Saxon juga dapat diatur untuk dijalankan di desktop menggunakan Java Runtime Environment meskipun garis komando. Selain itu, eXist-db adalah database XML open source yang dibuat secara khusus untuk menjalankan XQuery dengan arsitektur RESTful – pada dasarnya, eXist dimaksudkan untuk menjadi bagian dari bagian belakang dari layanan web biasa.

viii Di sini perangkat lunak berjalan di server (atau disimulasikan menggunakan Java Runtime Environment) dan pengguna masuk ke antarmuka web untuk mengunggah dan mengelola data XML. Skrip XQuery kemudian dapat dijalankan di dalam halaman web oleh pengguna akhir. Sejak HTML adalah XML itu sendiri, dengan eXist XQuery dapat mengedit, mengubah, dan meminta HTML dan fungsi seperti bahasa scripting sisi server. Alat Bantu Pencarian Perpustakaan Universitas Princeton memanfaatkan eXist-db. Akhirnya, Zorba adalah prosesor XQuery yang dapat dijalankan dalam perintah line atau sebagai ekstensi ke PHP atau Python.ix Ini memungkinkan XQuery dijalankan di dalam server- samping aplikasi web PHP atau Python.

Metode di atas untuk menjalankan skrip XQuery mungkin tampak menakutkan atau membingungkan bagi banyak arsiparis, terutama mereka yang memiliki sedikit pengalaman dengan server dan web Arsitektur. Ini, dibandingkan dengan dukungan browser asli, tampaknya menjadi salah satu alasannya XSLT tetap populer. Namun, ada juga cara yang lebih mudah dan lebih mudah diakses untuk bereksperimen dengan XQuery. Lagi pula, itu hanya teks.

Mungkin cara termudah untuk mulai bermain dengan XQuery adalah menggunakan BaseX, a database XML open-source yang dikembangkan secara komunal dengan antarmuka GUI desktop.x Kebanyakan penting, BaseX adalah platform independen dan dapat diinstal pada Windows terbaru atau mesin desktop Mac seperti program pada umumnya. Program ini juga berlisensi BSD, artinya gratis untuk diunduh dan digunakan dengan atribusi. Hal terbaik tentang BaseX GUI adalah kesederhanaannya. Secara default, antarmuka memiliki empat panel utama, atau jendela: Editor panel, yang menyertakan panel Proyek untuk memilih file; panel Info Kueri; dan Hasil panel Panel Editor dan Hasil paling penting bagi pengguna baru yang mungkin kewalahan dengan melihat terlalu banyak bagian belakang. Panel Editor berfungsi seperti editor teks dasar: Skrip XQuery dapat ditulis secara manual dan file dapat dibuka atau disimpan menggunakan ikon. Setelah skrip ditulis, pengguna dapat menekan ikon “Jalankan kueri”,yang terlihat seperti simbol putar, dan hasilnya muncul di panel Hasil. Ini dia hasil dapat disimpan atau ditimpa oleh hasil baru dengan menjalankan kueri lain.

Ini kesederhanaan memungkinkan untuk percobaan dan kesalahan yang mudah, penting bagi arsiparis yang tidak berpengalaman dengan pemrograman untuk bereksperimen dengan memanipulasi data Mempelajari Bahasa, Struktur, dan Sintaks Ada dua bagian skrip XQuery: prolog dan badan. prolognya adalah opsional, muncul sebelum isi, dan bertindak seperti header untuk mendeklarasikan ruang nama, variabel dan beberapa bagian struktural dari hasil XML seperti encoding.

Sejak tujuan bagian ini adalah untuk membuat arsiparis memulai dengan XQuery secepat dan semudah mungkin, kami hanya akan mendeklarasikan versi dan dokumen input di prolog kami Baris pertama menentukan versi skrip XQuery dan baris kedua mendeklarasikan variabel $docas file EAD yang ingin kita kueri. Variabel bisa tunggal apa saja kata tanpa spasi yang diawali dengan tanda dolar ($). Kita bisa dengan mudah gunakan $ead, $xml, atau apa pun yang kita suka sebagai pengganti $doc. Doc () berikutnya di baris kedua adalah bukan variabel, tetapi fungsi yang secara khusus membaca dokumen xml. Pengguna juga dapat ganti fungsi doc() dengan collection() dan arahkan ke folder alih-alih file. Ini akan menetapkan beberapa file dalam direktori ke variabel $doc. Setiap pernyataan di prolog diikuti oleh titik koma (;), dan setelah pernyataan prolog terakhir, badan kueri dimulai.

Sekarang ketika kita mengkueri variabel $doc nanti di body, BaseX akan mengetahuinya yang kami maksud adalah file EAD kami.Di badan kueri ada dua jenis pernyataan utama yang paling sering Anda gunakan sering: ekspresi FLOWR dan ekspresi IF. FLOWR adalah singkatan dari For, Let, Order by, Di mana, dan Kembali – kemungkinan pertanyaan yang akan Anda ajukan tentang data Anda (pada dasarnya siapa,apa, di mana, mengapa, dan kapan). Berikut adalah contoh ekspresi FLOWR untuk menanyakan EAD mengajukan Untuk adalah bagian pertama dari ekspresi FLOWR, anggap itu sebagai “untuk masing-masing,” sebagai sisa dari ekspresi akan dilakukan pada setiap tag yang ditemukan di jalur yang diberikan. Pernyataan ini mencari setiap tag <c01> dalam daftar penampung dalam variabel $doc (file EAD kami) dan menetapkan setiap tag yang ditemukannya ke variabel $series. Kami baru saja memilih setiap level teratas seri dari file EAD kami. Baris kedua mendeklarasikan variabel lain ($extent) ke mewakili isi dari setiap tag <extent> seri di dalam tag <did> dan <physdesc>-nya. Baris ketiga di mana pernyataan membatasi semua tag <c01> ke hanya mereka yang memiliki atribut “level” dengan nilai “seri” (<c01 level=”series”/>). Itu baris keempat memerintahkan setiap tag <c01> yang tersisa oleh variabel ($extent) yang dideklarasikan dalam baris dua. Di departemen kami, tag <extent> berisi luas setiap seri dalam kaki kubik, jadi baris ini mengurutkan ulang setiap tag <c01> berdasarkan jangkauannya. Akhirnya, baris keempat mengembalikan hasil.

Kita bisa meminta untuk mengembalikan $series saja, tetapi itu juga akan mengembalikan setiap tag <c01> nya isi – termasuk tag <did> dan komponen yang lebih rendah dalam daftar penampung. Jadi kami hanya akan menanyakan secara spesifik untuk setiap judul tag <c01>. Hasil dari kueri ini akan kembali setiap judul seri diurutkan berdasarkan ukuran. Pengarsip yang ingin bereksperimen dengan XQuery harus salin dan tempel kode ini ke panel Editor BaseX dan arahkan jalur di prolog ke sebuah berkas EAD. Selanjutnya Anda harus bereksperimen dengan menghapus beberapa kode dan menambahkannya secara bertahap ke lihat bagaimana setiap perubahan mengubah hasil. Ekspresi FLOWR hanya membutuhkan satu dari baik untuk atau membiarkan dan kembali.

Sekarang kita juga dapat menambahkan tag XML kita sendiri ke hasil, membedakan dari kueri kembali dengan tanda kurung kurawal ({ dan }). Ini sangat menambah utilitas XQuery tetapi juga memperkenalkan beberapa kompleksitas tambahan. Jika kita memasukkan kueri ini ke BaseX, kita akan menyadari bahwa ekspresi ini menghasilkan

setiap seri juga mempertahankan tag <unittitle> aslinya. Menggunakan fungsi data() hanya akan mengembalikan konten dari tag yang dipilih. Ganti baris terakhir pada kode di atas dengan baris di sini:

kembalikan <FileSeries>{data($series/did/unittitle)}</FileSeries> Fungsi adalah kata-kata ajaib yang membuat XQuery begitu kuat. Mereka melakukan tindakan pada isi di dalam kurungnya. Sejauh ini kami telah menggunakan dua fungsi: data( ) dan doc() di prolog kami. Standar XQuery 3.0 mencakup 225 fungsi bawaan dan lebih banyak lagi tersedia di situs web Pustaka Fungsi FunctX XQuery.xi Seringkali,tempat paling sederhana untuk memasukkan fungsi-fungsi ini adalah dalam klausa let. Di sini kita memiliki yang sama query dengan penambahan fungsi huruf besar().

Kueri ini mendeklarasikan variabel baru $UPPERseries yang melakukan function huruf besar() pada judul variabel $series lama kita. Saat kami mengembalikan yang baru variabel itu akan di semua huruf kapital. Selain ekspresi FLOWR, pengguna Xquery akan sering menggunakan ekspresi IF. Ekspresi ini berguna untuk membuat kondisi yang menerima sejumlah besar variabilitas yang sering ada dalam data arsip.

versi xquery “3.0”;

mendeklarasikan variabel $doc := doc(path/ke/EAD.xml);

if ($doc/ead/archdesc/did/physdesc/extent < 20)

lalu (<size>{data($doc/ead/archdesc/did/physdesc/extent)}</size>)

else (<size>Koleksi ini banyak.</size>)

Di baris pertama ekspresi IF ini di badan XQuery menguji apakah koleksi lebih kecil dari 20 kaki kubik. Baris kedua dan ketiga menawarkan dua opsi yang bergantung apakah baris pertama benar atau tidak. Kueri mengembalikan tingkat koleksi atau teks yang menyatakan koleksinya besar. Anda mungkin mendapatkan kesalahan jika file EAD yang Anda gunakan mengandung lebih dari satu angka dalam tag <extent>. Coba bereksperimen dengan mengubah kurang dari operator (<) menjadi lebih besar dari (>), sama (=), atau tidak sama (!=) operator. Ekspresi IF yang lebih kompleks mungkin menghasilkan hasil yang berbeda jika wadah EAD daftar memiliki lebih dari satu atau dua tingkat pengaturan.

Facebooktwitterredditpinteresttumblr