İçindekilerGirişİndex
YukarıİlkÖncekiSonraki YokSon
Geriİleri
Yazdır

XSL

HTML belgeleri için CSS ne ise XML belgeleri için XSL (Genişletilebilir Biçem Dili - Extensible Style Language) de odur. XML belgelerinde sadece veri tutulur. Bunların gerektiğinde kullanıcılara veya uygulamalara sunulması için XSL ile birlikte işlenmesi gerekir. Bu şekilde içerik biçimden kesin olarak ayrılmaktadır. Böylelikle tek bir biçem sayfası bir çok XML belgesini sunmakta kullanılabilir. Bütün bir intrernet sitesi veya belli bir sayfada çıkan her belge aynı biçem sayfasından geçirilerek sunulabilir. Her sayfa için ayrı ayrı biçem hazırlanmasına gerek kalmaz ve içerik yazarları sadece içeriğin kendisini vermekle uğraşabilirler.

XSL, çok miktarda verinin aynı görünümde sunulabilmesine olanak tanıdığı gibi, aynı verinin farklı biçem sayfalarıyla ayrı biçimde sunulabilmesine de oılanak tanır. Kullanıcılar, aslında aynı olan veriyi kendi tercihlerine veya ihtiyaçlarına uyacak biçimde görebilirler. Aynı verinin farklı çözünürlük veya renk özelliklerine sahip bilgisayar ekranlarında, hatta bilgisayar dışında cep telefonu, ATM cihazları veya çeşitli makinelerin görüntü cihazlarına uygun olarak gösterilmesi sağlanabilir.

XSL de aslında XML'le yazılmış bir dildir. XML'in veri tanımlama ve yapı oluşturmnadaki gücü, kendisini biçimlemek için oluşturlan XSL'i de tanımlamaya yetmektedir. Bu anlamda bir XSL, bir XML belgesinden başka bir XML belgesi (örneğin XHTML) üretmeye yarayan kendisi de XML de tanımlanmış bir dildir. XSL temel olarak şablon'larla (template'lerle) yazılır. Şablonlar, biçemlenecek elemaların (match ifadeleriyle) eşleceği tanımlamalar barındırırlar. XSL işleyiciler bir XSL belgesindeki şablonları ilkinden başlayarak uygularlar. Bir şablon belli bir etiketi yakalar. Şablonda işlemenin o etiketin içindeki etiketlerde de sürmesini sağlamak veya engellemek mümkündür. Bir XML belgesi içerisindeki Şehir etiketi içinde bulunan Ad etiketlerindeki verinin kırmızı olmasını sağlamak için aşağıdaki yapı gerekir :

<xsl:stylesheet>
		<xsl:template match= "Şehir/Ad">
			<fo:block color= "red" > 
				<process-children/>
			</fo:block>
		</xsl:template>
</xsl:stylesheet>

XSL belgerleri xsl:stylesheet etiketi ile çevrelenir. xsl:template etiketi ile şablon belirtilir. match ifadesi hangi tür etiket (veya özellik) için biçimlendirme uygulanacağını belirtir. fo:block ifadesiyle belirtilen grubun bir blok olduğu belirtilmiş olur. process-children ifadesiyle de (varsa) eşleşme yapılan etketin altında bulunan elemanları da işlenmeye devam edilmesi içindir. Bu belrtilmezse XSL işleme o noktada (Ad kırmızı yapıldıktan sonra) durur. Biçemleme sadece Şehir etiketinin içindeki Ad etiketini etkiler. Ülke etiketinin altında bulunan Ad isimli bir etiketi veya özelliği kesinlikle etkilemez.

İçindekilerGirişİndex
YukarıİlkÖncekiSonraki YokSon
Geriİleri
Yazdır