Tabiki açılımı bu değil:)) SVG “Scalable Vector Graphics” . Ölçeklendirilebilir Doğrusal Görsel.
Şuaralar üzerine kafa yorduğum bir proje için ihtiyaç duyduğum şeyin SVG olduğunu keşfettim. Neymiş bu diye arattığımda metin tabanlı vektörel imaj oluşturmak için kullanılan birçeşit dosya biçimi olduğunu ve hatta mozilla nın bunu desteklediğini ama Microsft IE nin bunun için bir gösterici eklentisine ihtiyaç duyduğunuda öğrendim.Zaten Mozilla ve onun gibi açık kaynak kod üreticileri olmasaydı ne olurdu halimiz ?
Neyse konumuza dönelim.
SVG ile yapmak istediğim XML ile gelen veriyi bir şekilde görsel hale getirmekti . Bunun için google a dedimki “make graphic with xml data” ve bana verdiği link http://www.w3.org/Graphics/SVG/ oldu.Google olmasaydı demeyeceğim:)))
Yalnız başka bir soru aklıma geldi.Bunun mümkün olup olmadığını ben sorgulayabildiysem neden yazılım firmaları raporlarını grafiğe dökmek isteyen kullanıcılarına XLS olarak çıktı verip Microsoft ofis kullanmaya zorluyor ? Bunun bir anlamı varmı ? Başka bir sorum da Neden illa XLS çıktı vermek için Microsoft EXCEL kurulu olma zorunluluğu aratıyorlar ? Neden Openofis olmuyor ? Neden direk olarak SVG çıktı verme seçeneğini koymuyorlar ? Türkiye de neden yazılım firmaları programlarının “az kullanılıyor yaygın değil” bahanesi ile Linux için yazmıyorlarsa o yüzden olabilirmi ? Hımm Bunu da Yusufa sorucam.
Ne işe yarar peki bu SVG ?
SVG ile sahip olunan verilerin xml ile alınıp PHP ye eklenecek bir class ile SVG ye dönüştürülebilir ve görüntülenebilir. Böylece oldukça basit güvenli ve etkili bir raporlama grafiği alabilirsiniz.İlla XML ile almanız gerekmiyor tabi ama veri transferi XML ile oldukça kolay ve güvenli bir yol.
Örneğin.
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
baseProfile="full">
<g fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
<circle cx="6cm" cy="2cm" r="100" fill="red"
transform="translate(0,50)" />
<circle cx="6cm" cy="2cm" r="100" fill="blue"
transform="translate(70,150)" />
<circle cx="6cm" cy="2cm" r="100" fill="green"
transform="translate(-70,150)" />
</g>
</svg>

Yukarıda örnek bir SVG kod ve çıktısı görülmekte. Gerisi hayel gücünüze kalmış.
Bir programdan rapor alıp bunu XLS yapıp sonra EXCEL de grafik yapacam diye insanları uğraştıran yazılım firmalara duyrulur. SVG icad edilmiş.
Bundan sonra yapacağım tüm projelerde SVG motorunu gereksin veya gerekmesin koyacağım.Kamuoyuna duyrulur.
Bol SVG li günler dilerim.
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
baseProfile="full">
<g fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
<circle cx="6cm" cy="2cm" r="100" fill="red"
transform="translate(0,50)" />
<circle cx="6cm" cy="2cm" r="100" fill="blue"
transform="translate(70,150)" />
<circle cx="6cm" cy="2cm" r="100" fill="green"
transform="translate(-70,150)" />
</g>
</svg>