Teknolojileri derin deneyimleriniz olmadığında değerlendirmek zordur, ancak elbette kararlarınızı vermeniz gerektiğinde, bu nedenle bu ikilemin basit bir cevabı yoktur.
İki endişeden bahsediyorsunuz: performans ve kullanılabilirlik. Her ikisini de aşağıda ele almaya çalışacağım.
İlk olarak, performans. Elbette performans sadece dile değil, aynı zamanda uygulamaya ve kullanıcıların uzmanlığına da bağlıdır. Farklı XSLT işlemciler performans açısından büyük ölçüde değişebilir ve aynı işlemci, nasıl kullanıldığına bağlı olarak büyük ölçüde değişebilir (örneğin, Saxon ile, performans sorunları olan kişilerin genellikle zayıf bir kombinasyon olan DOM ile kullandıkları bulunmuştur. ve bunun yerine Saxon'un yerel ağaç modelini kullanırsanız performans on kat artabilir). Yani ilk tavsiye kulaktan kulağa performans göstermemek, ölçmek; ve ikinci tavsiye, ölçümü yapan kişinin aptalca hatalar yapmamak için yeterli deneyime sahip olduğundan emin olmaktır. Söylemesi yapmaktan daha kolay.
Kabaca, dönüşüm işlerini iki kategoriye ayırabilirsiniz: basit ve karmaşık. Basit dönüşümler için, iyi bir XSLT işlemci ile zaman ayrıştırmak ve serileştirmek için harcanır ve XSLT işlem süresi neredeyse resme girmez. Başka herhangi bir teknoloji aynı ayrıştırma ve serileştirme maliyetlerine maruz kalacağından, dönüşüm teknolojisi seçimi büyük bir fark yaratmayacaktır (belki de akışı kullanarak çok düşük seviyeli kodlama için çok hariç, ancak pek çok kişi programlama yapamaz bunu uygulamak için gereken zaman ve beceriler). Büyük belgelerdeki karmaşık dönüşümler için, SQL programlama ile aynı sorunları elde etmeye başlarsınız: iyi performans elde etmek, programcının becerileri ve bilgisi ile optimize edicinin yetenekleri arasında iyi bir etkileşim gerektirir. SQL'de olduğu gibi, bu kadar üst düzey bir dilde işlemcinin çok büyük miktarda iş yapmasıyla sonuçlanan birkaç basit ifade yazmak çok kolaydır. Ancak SQL'de olduğu gibi, ne yaptıklarını bilen programcılar acemilerden çok daha iyi olacak.
İkincisi, kullanılabilirlik. XSLT için XML tabanlı sözdizimi, birçok insanın dil ile ilk karşılaşmasında çok rahatsız edici. Ancak bunu bu şekilde yapmanın iyi nedenleri ve gerçek faydaları vardır: "şablon" argümanı vardır, kodun büyük bir kısmı sonuç belgesine yazılacak XML'den oluşur ve XML yazmanın en iyi yolu XML'dir. Bir de "yansıma" argümanı var; büyük karmaşık sistemlerde, stil sayfaları üreten stil sayfalarını bulmak çok yaygındır. Sonra "araçlar" argümanı var; Bir XML mağazasındaysanız, muhtemelen sözdizimine yönelik düzenleyiciler gibi çok fazla XML aracına sahipsiniz ve programlarınızı ve verilerinizi işlemek için aynı araçları kullanmak iyidir. Dezavantajları karşılaştırıldığında oldukça kozmetiktir: orada ' Düzenlemeye dahil olan tuş vuruşlarının sayısı (iyi bir düzenleme aracıyla kolayca sabitlenir) ve kodun ayrıntı düzeyi vardır (okunabilirliğini azaltır). Düzgün ifadeler, düzenli ifadeler ve stil sayfası işlevleri gibi özelliklerin tanıtılmasıyla XSLT 2.0'da büyük ölçüde azaltılır: XSLT 2.0'dan tam olarak yararlandıklarında birçok stil sayfası yarıya veya üçte bire küçülür.
DSSSL'den bahsettiğinizde beni alaycı bir gülümsemeyle bırakır. DSSSL'yi hiç kullanmadım, ancak duyduğum hikayeler, sözdiziminin gizemli olduğu ve verilerin sözdizimiyle (SGML) ilgisiz olduğu için yetersiz olduğuydı. XSLT için bir XML sözdiziminin kullanılması, DSSSL deneyimiyle güçlü bir şekilde motive edildi.
XSLT'yi seven insanlar var ve ondan nefret eden insanlar var. Şaşırtıcı olmayan bir şekilde, onu çok kullanan kişiler ilk kategoriye girme eğilimindedir. Bundan hoşlanmayanlar genellikle "XSLT yolunu düşünmeyi" öğrenmemiş olanlardır. Bir programlama dilinin düşünme şeklinizi etkilememesi gerektiğini savunabilirsiniz, ancak bunu yapar: kural tabanlı bir dilde yazmak, zorunlu bir dilde yazmaktan farklı bir zihniyet alır. Birçok programcının ilk tepkisi daha az kontrol sahibi olmalarıdır (bilgisayara adım adım ne yapılacağını söylemek yerine sorunu tanımlamak). İnsanların SQL ile ilk kez ne zaman tanıtıldığını görmek için kullandığınız reaksiyona çok benzer. Bu günlerde insanlar SQL'leri kariyerlerinde daha erken öğreniyorlar, böylece daha az zihinsel yeniden ayarlama gerekiyor.
Sonuç olarak, aşk / nefret tepkilerine değil, nesnel ölçülebilir ölçütlere dayanan bir teknoloji seçmelisiniz. Bu ölçümleri yapmak zor. Ancak XSLT'yi çok yoğun ve çok başarılı bir şekilde kullanan birçok insan var, bu yüzden yapılabileceğinden şüphe yok.