Friday, November 1, 2002

İnternet Yayıncılığı ve XML

XML en çok İnternet yayıncılığı için uygun olmuştur. Bir önceki yazıda XML içeriğinin hiyerarşik, yani "ağaç-dalları" yapısında olduğunu söylemiştik. Genelde yazılar, yani dökümanlar boyle yapıya çok uygundurlar. Her yazının başlığı, başlık altında paragrafları, paragraf altında kelimeler, resimler ve İnternet linkleri olabilir.

Ayrıca XML istenilen "başlama/bitiş" işaretlerini kullanmanıza izin verir. Böyle olunca herkes kendine uyan XML yapısını önceden planlayıp, onu kullanarak yazılarını yazabilir.

Daha önemlisi, XML kayıdını kullanarak, görsel "çevirmen program" XSLT kullanıp, XML içinden HTML, PDF gibi görsel sayfalar yaratabilirsiniz. Yani "içerik" ile görsel HTML dosyaları birbirinden ayrı tutmak mümkün olur. Bunun sayısız faydaları var.


* İçerik değişiklikleri daha rahat yapılabilir. Eğer yeni bir cümle eklemek istiyorsanız, nasıl gözükeceği ile kafa yormanıza gerek kalmaz.
* Yazılarınızın görsel olarak değiştirmek isterseniz, görsel çevirmen programı değiştirmeniz yeterlidir.

Mesela bu yazıyı ele alalım. Bu yazının basligi önce XML, sonra XSL (çevirmen) en son HTML olarak geçirdiği değişimleri görebilirsiniz.

XML
 XML ne işe yarar

XSL
  <xsl:template match="title">
<tr><td class="head">
<xsl:apply-templates/>
<br></br><img kaynak="images/spacerc1.gif" height="2" width="400"
border="0"></img></td></tr> <tr><td height="15"></td></tr>
</xsl:template>

HTML
<td class="head">XML ne ise yarar<br>
<img border="0" width="400" height="2" kaynak="images/spacerc1.gif"></td>
</tr><tr>
<td height="15"></td>

Gördüğünüz gibi XML dosyasında görsel hiçbir şey yok. XSL dosyası sadece "baslik" komutu nasıl HTML çevirisi yapılmalı, onu tarif ediyor. Bu ikisini (XML, XSL) beraber işlemden geçirdikten sonra (xalan adlı bir program kullanarak) sonuç HTML olarak gözüküyor.

Eğer bu yazının başlığını değistirmek istesem, XML dosyasından istediğim değisikliği yapıp, tekrar çevirmen programı işletirim. XSL dosyasına hiç dokunmama gerek yok. Zaten içerik, XML içinde ne olduğu daha belli: yani daha rahat okunabiliyor.

Eğer yazının gözükme şeklini değiştirmek istersem, XSL dosyasından yapabilirim bu değişikliği, "içerik" dosyasına dokunmama gerek yok. Bu iki şeyi birbirinden ayırmak, bize büyük rahatlık sağlayacaktır. Büyük siteleri kontrol eden programcılar/idareciler muhakkak bunun değerini anlayacaktır.

Ek:
* Projesinde bizzat çalıştığım Martha Stewart Omnimedia sitesi için, XML bazlı içerik idaresi kurduk. XML Spy ile yazı yazan içerik üreticileri, J2EE uyumlu bir ürün olan ATG Dynamo ile XSL uyguluyarak, HTML sonucunu görüyor, ve makaleyi gene XML olarak sonuç sitesine gönderebiliyorlar.
* Ünlü tasarımcı ve programcı Martin Fowler en son kitabının tamamını XML ile yazmıştır.

No comments: