XSL ( XSL-FO ) Giriş
Bu giriş yazısında, XSL dilini kullanarak, xml formatındaki verilerimizden çıktı üretmek ( PDF ) için gereken adımları anlatmaya çalışacağız.
· XML : Hepimizin bildiği veri taşıma/aktarma için kullanılan dil .
· XSLT : XML verisinin dönüşümü için kullanılan teknoloji .
· XPATH : XML içerisindeki verilere expressionlar ile erişebilmek için kullanılan yöntem .
· XSL ( XSL-FO ) : Bu da XML ile taşınan , XSLT ile dönüştürlen verinin çıktısını oluştururken kullanılan formatlama dili . HTML gibi düşünülebilir .
Hemen kafanızda daha iyi canlanması için şu örneği verelim .
Örnek olarak aşağıdaki gibi bir verimiz olsun, XML formatında :
Bu örnek kişinin arkadaş listesini saklıyor.
Bizden aşağıdaki gibi bir çıktı oluşturmamız isteniyor :
Bu veriyi XSLT ile gezmemiz , XPATH ile doğru xml nodelarını almamız ve XSL-FO ile de çıktımızın layoutunu oluşturmamız lazım.
Bu çıktı için şöyle bir XSL-FO kodu yazılmış:
Sarı ile çizdiğimi yerlere bakarsak ,
Xsl:for-each bir XSLT syntaxı , for dönügüsü başlatıyor .
Hemen içindeki “select” özelliği ile (“./friend”) xml veri içerisindeki tüm friend node larını for döngüsü içindeki iterasyona katmış.
Bu döngü içerisinde fo-table-row , fo-table-cell gibi tagler var. bunlar işte XSL-FO elementleri . bunları kullanarak ekranı çiziyoruz.
Yine fo elementlerinin en içinde de xsl-value-of ile friend xml node içindeki name ve phNo tag degerleri alınmış.
Tüm hikaye konsept olarak bu şekilde . FO ile başlayan taglerin kullanımını ögrenmek gerekiyor. XPATH ile de sürekli xml den veri cıkaracağımız için onu da ögrenmeliyiz. Ama intetrnette XPATH için cok kaynak var . sorun cıkacağınız sanmıyorum.
XSL-FO için o kadar bol kaynak yok , editorler bile paralı . bi tane open source editor buldum ama cok bızıklayamadım eger iş görürse bir sonraki mailde anlatırım .
Şimdi gelelim localinizde bu işlemleri nasıl gerçekleştireceksiniz.
Elimizdeki xml input ve fo dosyaları ile cıktı üretebilmek için apache fop diye bir icat car.
Apache FO Processor .
Aşağıdaki adresten FOP indiriyoruz:
bu zip dosyasını
D:\dev\xsl-fo\fop-2.3\fop\
gibi bir dizine cıkardığınızı varsayıyorum
Fop.bat dosyasının oldugu dizini
Environment variables altındaki path değişkenine eklememiz gerekiyor.
Ben FOP_HOME diye bir değişken tanımlayıp onu da path e ekledim.
Bu işlemleri yaptıktan sonra ekteki zipi bir dizine cıkarın, komut satırından o dizine düşün ve
“fop -xml data.xml -xsl template.xsl -pdf out.pdf”
Şeklinde komutu çalıştırdığınızda out.pdf oluşmuş ise geliştirme ortamınız hazır demektir.
Aşağıdaki tutorial ile devam edebilirsiniz.
bir sonraki yazıda görüşmek üzere J
Co-Founder At Yelloware