Sulit untuk menilai teknologi ketika Anda tidak memiliki pengalaman mendalam tentang hal itu, tetapi tentu saja saat itulah Anda harus membuat keputusan, jadi tidak ada jawaban sederhana untuk dilema itu.
Anda mengutip dua masalah: kinerja dan kegunaan. Saya akan mencoba mengatasi keduanya di bawah ini.
Pertama, kinerja. Kinerja tentu saja tidak hanya tergantung pada bahasa tetapi juga pada implementasi, dan juga pada keahlian para pengguna. Prosesor XSLT yang berbeda dapat sangat bervariasi dalam kinerja, dan prosesor yang sama dapat sangat bervariasi tergantung pada bagaimana penggunaannya (dengan Saxon, misalnya, orang yang memiliki masalah kinerja sangat sering ditemukan menggunakannya dengan DOM, yang merupakan kombinasi yang buruk. , dan kinerja dapat meningkat sepuluh kali lipat jika Anda menggunakan model pohon asli Saxon sebagai gantinya). Jadi saran pertama adalah jangan mengambil kinerja pada kabar angin, mengukurnya; dan saran kedua adalah memastikan bahwa orang yang melakukan pengukuran memiliki pengalaman yang cukup untuk tidak membuat kesalahan konyol. Lebih mudah diucapkan daripada dilakukan.
Secara kasar, Anda dapat memisahkan pekerjaan transformasi menjadi dua kategori: sederhana dan kompleks. Untuk transformasi sederhana, dengan prosesor XSLT yang baik waktunya dihabiskan untuk mengurai dan membuat serial dan waktu pemrosesan XSLT hampir tidak terlihat. Karena teknologi lain akan mengeluarkan biaya penguraian dan serialisasi yang sama, pilihan teknologi transformasi tidak akan membuat perbedaan besar (kecuali mungkin sangat untuk pengkodean tingkat rendah menggunakan streaming, tetapi tidak banyak orang mampu membayar pemrograman waktu dan keterampilan yang diperlukan untuk mengimplementasikannya). Untuk transformasi kompleks pada dokumen besar, Anda mulai mendapatkan masalah yang sama dengan pemrograman SQL: mencapai kinerja yang baik memerlukan interaksi yang baik antara keterampilan dan pengetahuan programmer, dan kemampuan pengoptimal. Seperti SQL, itu Sangat mudah dalam bahasa tingkat tinggi untuk menulis beberapa pernyataan sederhana yang mengakibatkan prosesor harus melakukan pekerjaan yang sangat besar. Tetapi juga dengan SQL, programmer yang tahu apa yang mereka lakukan akan melakukan jauh lebih baik daripada pemula.
Kedua, kegunaan. Sintaks berbasis XML untuk XSLT sangat tidak menyenangkan bagi banyak orang pada pertemuan pertama dengan bahasa. Tetapi ada alasan bagus dan manfaat nyata untuk melakukannya dengan cara ini: ada argumen "templat", bahwa banyak kode terdiri dari XML untuk ditulis ke dokumen hasil, dan cara terbaik untuk menulis XML adalah dalam XML. Dan ada argumen "refleksi"; dalam sistem kompleks besar, sangat umum untuk menemukan stylesheet yang menghasilkan stylesheet. Lalu ada argumen "alat"; jika Anda berada di toko XML, Anda mungkin memiliki banyak tooling XML seperti editor yang diarahkan pada sintaks, dan ada baiknya untuk dapat menggunakan alat yang sama untuk menangani program dan data Anda. Kerugiannya ternyata cukup kosmetik dibandingkan: ada adalah jumlah penekanan tombol yang terlibat dalam pengeditan (mudah diperbaiki dengan alat pengeditan yang baik), dan ada verbositas kode (mengurangi keterbacaannya). Verbositas ini sangat berkurang di XSLT 2.0 dengan diperkenalkannya fitur-fitur seperti ekspresi reguler dan fungsi stylesheet: banyak stylesheet dikurangi menjadi ukuran setengah atau sepertiga ketika mereka memanfaatkan penuh XSLT 2.0.
Anda menyebutkan DSSSL membuat saya tersenyum masam. Saya tidak pernah menggunakan DSSSL, tetapi cerita yang saya dengar adalah bahwa itu tidak menarik karena sintaksisnya misterius, dan tidak terkait dengan sintaks data (SGML). Penggunaan sintaks XML untuk XSLT sangat termotivasi oleh pengalaman dengan DSSSL.
Ada orang yang suka XSLT dan ada orang yang membencinya. Tidak mengherankan, mereka yang sering menggunakannya cenderung masuk dalam kategori pertama. Mereka yang tidak suka pada umumnya mereka yang belum belajar untuk "berpikir cara XSLT". Anda bisa berargumen bahwa bahasa pemrograman tidak seharusnya memengaruhi cara Anda berpikir, tetapi itu benar: menulis dalam bahasa berbasis aturan membutuhkan pola pikir yang berbeda dengan menulis dalam bahasa yang penting. Reaksi pertama dari banyak pemrogram adalah bahwa mereka merasa kurang memegang kendali (menjelaskan masalah, daripada memberi tahu komputer apa yang harus dilakukan langkah demi langkah). Ini sangat mirip dengan reaksi yang Anda lihat ketika orang pertama kali diperkenalkan ke SQL. Hari-hari ini, orang-orang belajar SQL lebih awal dalam karier mereka sehingga dibutuhkan penyesuaian mental yang lebih sedikit.
Pada akhirnya, Anda harus memilih teknologi berdasarkan kriteria terukur obyektif, bukan pada reaksi cinta / benci. Sulit untuk melakukan pengukuran itu. Tetapi ada banyak orang yang menggunakan XSLT sangat intensif dan sangat sukses, sehingga tidak ada keraguan bahwa hal itu dapat dilakukan.