|
XML
Sitemizin Bu Bölümünde Elimden Geldiği Kadar;
XML'nin ne Olduğunu
XML sayfaları tasarlamak için hangi programları kullanabileceğinizi
XML dilinin özelliklerini
XML sayfaları ile birlikte kullanılan diğer formatları
XSL ve DTD'nin ne olduğu ve XML dünyasında nasıl bir yere sahip olduğunu
öğreneceksiniz.
Markup Dilleri (Bu da Ne mi? Buyurun Devam
Edelim):
Markup dilleri deyince aklımıza ilk gelen şey
HTML'dir. HTML kendi içerisinde bir markup dilidir. Birazdan XML'i sizlere
aktardığım zaman XML'nin de bir markup dilini olduğunu göreceksiniz. Peki
markup dili nedir (Devam Edelim Ve Öğrenelim).
Markup dili denince herhangi bir platformda
kullanılan, veriyi işleyebilecek özelliklere sahip genişleyebilen veya
genişleyemeyen bir dil akla gelmelidir. Birliyorum ki çok anlaşılır ve net bir
tanım olmadı. Markup dilleri kendi aralarında birçok gruba ayrılabilecek
özelliktedir ve bu özelliklerin hepsini içeren bir tanım yapmak da oldukça zor
olur.
HTML'in açılış halinin HyperText Markup Language
olduğunu sanırım daha önce okumuşsunuzdur. Yani HTML de kendi içerisinde bir
işaretleme dilidir. Kendi içerisindeki bir takım kurallara göre kendisine
verilen bilgiyi platform içerisinde sunabilmektedir. Ancak HTML stabildir.
Yani genişleyemez HTML'i esas alarak başka bir diller türetmek imkansızdır.
Peki diğer diller de HTML gibi genişleyemezler mi? Cevap hayır olacak. Diğer
diller içerisinde bazıları genişleyebilme özelliğine sahiptirler. Bu dillere
verebileceğim eskilerden bir örnek SGML'dir. SGML geliştirilen uygulamaların
platform bağımsız olarak çalışabilme ihtiyacından doğmuştur. Örneğin Windows
ortamında çalışan bir program başka bir platformda çalışmaz. Daha özel ve
anlaşılır bir örnek Microsoft Office programı Linux işletim sisteminde çalışmaz.
Buraya kadar işaretleme dillerinin genişleyebilme ve genişleyememe gibi
özellikleri olduğunu öğrendik. Artık XML'e başlangıç yapma zamanı geldi. (Restart
GO)
XML'e Giriş:
eXtensible Markup Language
kelimelerinin kısaltılmış halidir. Sgml dilinden türetilmiştir. Sgml bir meta
dildir. Buna bağlı olarak XML de bir meta dildir. Yani XML'den başka diller
yapılabilir. HTML'de HTML'İn kurallarına göre oynarsınız. Eğer bilgi body
tagının arasına yazılmalı ise başka bir alternatifiniz yoktur. Body tagının
arasına bilgiyi yazmak zorundasınız. Ancak ilerde öğreneceğimiz gibi XML'de
kendimiz bazı taglar oluşturabiliyoruz. (AaaAaaAaa Ne Kadar Güzelmiş!!!!!!)
XML'deki belirgin özelliklerden biri bilginin
yapısının belirlenmesinde kullanılmasıdır. HTML'deki özellik ise bilginin
sayfada nasıl gösterileceğidir. Yani HTML bilginin sayfa içerisindeki yerleşimi
ve sunulması işi ile ilgilenir.
Peki XML sadece bilgilerin tutulma formatları ile mi ilgileniyor? Eğer ben bir
XML dökümanı oluştursam bilgilerin sayfada yer alacığına nasıl karar vereceğim?
XML kendi içerisinde değişik alt başlıklar
taşımaktadır. Bu yapılar yukarıdaki soruların da cevaplarını içermektedir.
Örneğin DTD ve XSL ile yukarıdaki istekler yerine getirilebilir.
XML'in tam olarak anlaşılması bundan sonraki
sayfalarda rahat etmenizi sağlar. XML platformlardan bağımsız olarak bilginin
transferinde kullanılır. XML kendi içerisinde 3 farklı kavramı barındırmaktadır.
XML, DTD ve XSL:
İşte XML'in sahip olduğu kavramlar. Şimdi bunları
tek tek inceleyelim. Kavram kelimesi ile doküman tipinden bahsetmeye
çalışıyorum.
XML: Veriyi barındıran dosyalardır. Bu
dosyalarda verinin ne olduğuna ve bu verinin etiketinin ne olacağına karar
vereceksiniz. Veri ve etiket hakkında aşağıdaki örneği inceleyelim.
<?xml version="1.0"?>
<kitapci>
<bilgisayar>
<kitap>
<adi>TURKWEBMASTERS.NET</adi>
<yazari>YUNUS</yazari>
<fiyati>PaYLaŞMaK AdInA BeDaVa</fiyati>
</kitap>
<kitap>
<adi>YuNuS PaYLaŞıM KiTaBı</adi>
<yazari>YuNuS TaPa</yazari>
<fiyati>PaYLaŞMaK AdInA BeDaVa</fiyati>
</kitap>
</bilgisayar>
<roman>
<hikaye>
<ad>YuNuS PaYLaŞıM KiTaBı </ad>
<yazar>YuNuS TaPa</yazar>
<fiyati>PaYLaŞMaK AdInA BeDaVa</fiyati>
</hikaye>
</roman>
</kitapci>
Yukarıda yazmış olduğum kodlar XML standartlarına
göre hazırlanmış olan bir dokümandır. Dikkatle incelerseniz, içeriğin ne olduğu
ve hangi bilginin ne ile gruplandığını belirtilmektedir. Benzer örnekler
Internet ortamında gayet bolca bulunabilir. Dikkat ederseniz XML taglarını
kendimiz belirleyebiliyoruz. Fakat HTML'de bizim tag belirlemek gibi bir
şansımız yoktur. Var olan taglar ile işimizi görmeye çalışıyorduk. İşte bu da
XML ve HTML'in ayrıldığı bir noktadır. Bu kodları incelerseniz ve uygulama
yaparsanız daha iyi anlarsınız.
Peki bilginin sayfadaki sunumu hakkında hiç mi
hakimiyetimiz olmuyor? Sunumda kriterleri değiştirebiliyoruz.
XSL: XSL sayesinde XML dokümanındaki
elementlerin (element mi? Oda ne?) çıktısı, görüntülenme yeri gibi bilgiler
belirlenebilmektedir.
DTD: Şema dosyalarıdır. XML veri
dosyalarının yapısı hakkında bilgileri içermektedirler. Bazı XML dosyalarının
belirli bir standartta olması gerekir. İşte bu standardı sağlayan da DTD,
standardın tanımı ve XML dosyalarının bu standartlara uyup uymadığını kontrol
eder.
Schema: DTD'leri kullanırken birtakım
kısaltmalar ortaya çıkmıştır. Bu kısıtlamaları aşmak için geliştirilen bir
yöntemdir. XML uygulamalarında, DTD'ye göre daha güçlü bir teknolojiye sahip
olmasından dolayı şemalar kullanılmaktadır. Bu dosyalar xsd uzantılı olarak
kaydedilirler.
Bu şekilde XSL ve DTD hakkında genel bir giriş
yapmış olduk.
XML Dökümanlarının Yapısı ve Dikkat Edilmesi
Gerekenler:
XML dokümanlarını biraz daha yakından inceleyip
bir XML dokümanın içinde nelerin olması gerektiğine beraber bakalım.
Her XML dokümanın başında;
<?xml version="1.0"?>
ifadesi yer almalıdır. Hatırlarsanız böyle bir
tanımlamayı ASP gibi bir dilde de yapmanız gerekir. Dosyaların başında şöyle bir
ifadede yer alabilir.
<?xml version='1.0'?>
Eğer XML belgesi içinde Türkçe karakter
kullandıysanız;
<?xml version="1.0" encoding="ISO-8859-9"?>
yazmalısınız. Yukarıdaki örnekte satırın altında
bir tag tanımladık. Bu tag kodlar arasındaki diğer tüm tagları kapsar.
Dolayısıyla bu taga yani <kitapci> tagına "root element" denir. Tüm elementleri
kapsayan tag root element ise başka elementlerde var mıdır?
Sayfa içerisinde bulunan her tag aslına bir
elementtir. Yani bizim bilgisayar olarak belirttiğimizde bir tagdır kitapci diye
yazdığımız tag da bir elementtir. Ancak bu element root element içindeki alt
elemtlerden biridir.
Element ismi verirken dikkat etmeniz gereken bazı
noktalar vardır. Örneğin element isminin içerisinde "/" işareti olamaz. Çünkü
bu işaretin farklı bir anlamı vardır. Ayrıca elementler bir sayı ile de
başlayamaz. Biz kendi dokümanımızda <1.kitap> ve <2.kitap> gibi tanımlamalar
yapamayız. Ancak element adının başında "_" işareti konulabilir.
XML Dokümanlarının Görüntülenmesi:
XML dokümanlarını görüntülemek için IE 5.0 veya
üzeri bir browser'a ihtiyacınız olacaktır. IE ile birlikte gelen "msxml.dll"
isimli dosya browser'da XML dokümanlarını gösterebilmektedir.
Şimdi az önceki kodları NotePad'de yazalım ve
örnek1. xml adıyla kaydedelim. Dosyayı kaydettikten sonra da browser'ı
kullanarak sayfayı görüntüleyelim.

İlk örneğimizi browser'da görüntüledik. Ve sonuç
süper. (KeNDiNiZi KuTLaYıN)
XML Geliştirme Programları:
XML dokümanlarını tasarlarken kullandığımız
program NotePad'di. Ancak notepad'de alternatif olarak kullanabileceğiniz bir
program daha tavsiye edebilirim. Bu program XML geliştirmek isteyenler için
süper yardımcı olmaktadır. Program özellikle element oluşturmada size çok
yardımcı oluyor. Programın birde bedava olması programı daha çekici yapıyor.
XML Hakkında Son Söz:
XML ile ilgili söylenebilecek en önemli şey
platform bağımsız olmasıdır. Bilginin değişik platformlar arasında transfer
edilmesi sırasında köprü olabilecek XML geleceğin dilidir denebilir.
Java'nın çıkış sebebi platformdan hatta
uygulamalardan bile bağımsız çalışmasıdır. Benzer olarak SGML'de uygulama ve
platform bağımsız olarak çalışabilmektedir. Buna ek olarak XML'i de işin içine
katsak iyi olur. Çünkü şu an günümüzde var olan işletim sistemlerini göz önüne
alırsak, bilgiye başka bir platformda ihtiyaç duyulması, bu görevi yerine
getirebilecek bir dil ihtiyacı doğmuştur. Bu işi de en iyi XML yapabilir.
Örnek Unix işletim sistemini kullanan PHP script
dilinde yazılmış bir Xml dokümanı Windows işletim sisteminde de sorunsuz şekilde
çalışacaktır. Bunun anlamı ise, bilginin nerede olduğunun önemli olmamasıdır.
Platform bağımsızlığı da budur işte. XML gelişimini sürdürdükçe bilginin
paylaşılması ve transferi her zamankinden daha kolay ve güzel olacaktır.
Size elimden geldiği kadarıyla XML'i anlatmaya
çalıştım tabiki XML bu kadar basite alınacak bir dil değil ben size nasıl
olduğunu, nasıl başlanılacağını, ne işe yaradığını, püf noktalarını göstermeye
çalıştım. Kendinizi geliştirmek sizin elinizde.
Sorularınız İçin:
yunus@turkwebmasters.net adlı e-maile
yada forumumuza yazarak bize ulaştırabilirsiniz.
Unutmayın
Herşey Paylaşmak Adına…
|