
ERP programlarında hazırladığımız evrakların görsel çıktılarını, e-dönüşüm dizaynları ile ortaya çıkarırız. Bir satış faturası program içerisinde e-Fatura veya e-Arşiv olarak dönüştürüldüğünde, bu faturayı görsel olarak göstermek isteriz. Bu isteğin karşılığında ilgili faturanın XML içeriği bir XSLT dizaynı tarafından okunur. Bu XSLT dizaynı, Mikro Yazılım için E-Mikro Portalı’nda yer alır. Burada yaptığımız dizayn sayesinde, hazırladığımız evrakların görsel çıktılarını oluştururuz.
Portala girdiğimizde, sol altta yer alan Ayarlar sekmesinin altındaki e-Belge Dizayn alanında Gelişmiş Tasarım Modu adında bir bölüm görürüz. Bu bölümde ilgili e-dönüşüm ürününü seçerek dizaynımızı yaparız. Mikro Yazılım, bizlere hâlihazırda kullanabileceğimiz varsayılan bir tasarım sunmaktadır. Bu tasarımda, son güncellemeler ile gelen tüm senaryoların içerikleri bulunabilir. Ancak burada şöyle bir ihtiyaç ortaya çıkmaktadır: Uzun zamandır kullandığınız bir tasarım için yeni bir senaryo alanı eklemek veya müşterilerinize özel yeni bir bilgiyi bu dizayna dahil etmek istediğinizde manuel düzenleme yapmanız gerekecektir.
Temel seviyede HTML ve CSS bilgisi, bu XSLT tasarımını anlamanıza yetecektir. Bu tasarım, temel bir web sitesi mantığıyla çalışır. Görselde yukarıda gördüğünüz elementlerin kodları, tasarımda da yine üst kısımlarda yer alır. Örneğin, faturanın sol üstünde alıcı ve gönderici bilgileri yer alırken orta kısımlarda fatura kalemleri bulunur. Kod tarafında da cari ve gönderici ile ilgili alanlar üst satırlardayken, fatura kalemlerine ait alanlar daha aşağıda yer alır. Genel bir kontrol yaptığınızda, hangi alanda hangi bilgilerin yer aldığını başlıklardan da anlayabilirsiniz.
Bizim için en önemli kısım ise tag’ler içinde gördüğünüz select alanlarıdır. Bu alanlara baktığınızda bir çeşit path (yol) görürsünüz. Bu path’ler, XML tag’lerinin hiyerarşik isimleridir. Örnek:
Stokların ismi XML içerisinde Invoice > InvoiceLine > Item > Name hiyerarşisinde yer alır. XML içeriklerindeki tag alanlarının bu hiyerarşisi, XSLT tasarımını oluştururken büyük önem taşır. Varsayılan XSLT tasarımında bu alanın nasıl getirildiğine bakalım:
<xsl:template match="//n1:Invoice/cac:InvoiceLine">
<tr id="lineTableTr">
<td id="lineTableTd" align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="./cbc:ID"/>
</td>
<td id="lineTableTd">
<xsl:text> </xsl:text>
<xsl:value-of select="./cac:Item/cbc:Name"/>
....
Görüldüğü üzere, template’in başında tüm fatura kalemleri için ortak olacak şekilde tanım yapıldıktan sonra, her bir satırda alınması istenilen verinin tag yolu belirtilmiştir. Bu yöntem ile XML’de bulunan verileri rahatlıkla fatura görseline getirebilirsiniz.