2.0 XSLT XSLT'yi 1.0 dönüştürme

3 Cevap php

Ben XSLT 1.0 kullanarak bir XML dosyasını dönüştürmek için bir XSLT 1.0 dosyası var. IE 6.0, Firefox 3.0.11 ile çalışıyor. Ancak, PHP 5.2.6 XSL XSLTProcessor (XSLT 1.0 sağlayarak) ve Qt C + + QXmlQuery boş çıktı vermek (sadece XSLT 2.0 sağlayarak).

Ben 2 şekilde düşünüyorum:

  1. Bu 2.0 XSLT dönüştürme

  2. Firefox'u ayrıştırmak kısmını ayıklayın.

Ben 1 tane tercih ederim. Lütfen bunu nasıl yapabilirim lütfen bildiriniz. Beni sindirmek için W3C özellikleri uzun görünüyor ve dönüştürmek için belgeler büyük değildir. Şimdiden teşekkürler!

3 Cevap

Belli ki yaşam çok daha kolay hale XSLT 2.0 kullanabileceğiniz şeyler vardır rağmen XSLT, hemen hemen compatibly geriye olmalıdır.

Bu sizin XSLT'de yanlış bir şey var gibi geliyor, ama bize bakmak için bir şey vermeyin olarak söylemek zordur.

Ben elde tutmak öneriyoruz Kernow-için-Sakson - bu test XSLT için büyük bir UI (Firefox veya IE kullanmaya çalışırken çok daha iyi) ve sizin XSLT hataları varsa o Sakson vermek için daha iyi bir XSLT işlemci biridir iyi hataları nedenini belirlemek için denemek için.

http://kernowforsaxon.sourceforge.net/

Ben PHP veya Qt işlemciler ya da hakkında hiçbir şey bilmiyorum, ama bu doğru XSLT işleme değildir onlara hataları vardır mümkündür.

Bütün spec çok uzun (?) Ise, Changes bölümü ile başlar.

Ayrıca, XSLTProcessor sadece bir sarıcı yuvarlak libxslt ve 1.0 dönüşümü geçerli bir XSLT kırmak mümkün değildir. Ben 2.0 gitmeden çözebilir dönüşüm konusunda korkak bir şey olup olmadığını merak ediyorum, ya da XSLTProcessor dağıtım ile yanlış bir şey varsa. Eğer başarılı bir şekilde diğer dönüşümleri uygulayabilirsiniz?

Alın teriyle ve ağrılı testinin çok sonra, ben cevabı buldum:

  1. Geçerli bir XSLT 1.0 dosyası da geçerli bir XSLT 1.0 dosyası
  2. Ben olduğu gibi PHP ve Qt C + + yerine sadece <html> (IE ve FF başarıyla dönüştürmeyi başardık içeren) <html xslmn="..."> başarısız oldu. Kolaylık olması açısından, I çıkarıldı <!DOCTYPE ve <attributes <html> etiketinin.

Teşekkürler tartışmaya katılan herkes için.