XML BELGELERİYLE ÇALIŞMAK | BEN GEÇERKEN... [A Blog by İBRAHİM DEMİR ]
> MESLEKTEN, XML SERİSİ	> XML BELGELERİYLE ÇALIŞMAK	XML BELGELERİYLE ÇALIŞMAK
Yazılarımda hep vurguluyorum : XML’de patron sizsiniz. Bilmeniz veya ezberlemeniz gereken çok fazla özelleşmiş sözcük (KEYWORD) yok. Fakat yazdığınız belgelerin uygulamalar tarafından sorunsuzca değerlendirilebilmesi için bazı yazım kurallarını bilmeniz gerekir. Şimdi bunları bir sıralayalım ve ardından da bir örnek ile uygulama yapalım.
Eğer boş bir etiketiniz varysa yani içinde veri bulunmaycaksa “/” işaretini kullanarak kapatabilirsiniz.
Etiket olarak XML, xml , Xml , xML gibi XML’i ifaden sözcükleri kullanamayız. Bu kelimelerin kullanımı yasaktır çünkü bu XML kelimesi farklı bir amaç için ayrılmıştır. Zaten gerek de yok kullanmaya 🙂
Son maddeye özellikle dikkat etmenizi istiyorum . İleride hazırlayacağınız XML belgesini bir ayrıştırıcı tarafından ayırıştırmaya kalkınca bununla ilgili sorunlarla karşılaşabiliyorsunuz. Ara projemde kullanıcının bir arayüz ile girdiği verileri işlemlerin sonunda bir XML belgesi olarak kaydediyordum fakat burada hep bu karakter dönüşümlerini unuttuğum için başım çok ağrımıştı. Ben ettim siz etmeyin diyorum 🙂 Bu gibi karakerlerin XML begesinden hariç olarak değerlendirilmesi için CDATA alanları oluşturabilirsiniz.(CDATA alanları ayrıştırıcılar tarafından değerlendirilmez)
Öncelikle xml version... diye başlayan etiketimize bakalım . Sanırım bu size neden etiket adı olarak XML,xml,XML gibi kelimeleri kullanamayacağımızı açıklmıştır. O etiketin bir de özelliği var ve encoding=”UTF-8″ olarak belirtilmiş. Buna her zaman ihtiyacınız olmayabilir. Özellikle uygulmayı siz geliştiryor ve XML belgesini siz kullanıyorsanız encoding konusu sizin için çok sorun olmayacaktır fakat hazırladığınız XML belgesi başkları tarafından kullanılacaksa hangi karakter kodlamasının kullanıldığını belirtmekte fayda var. Mesela ben kendi bloguma MYNET haberleri eklemek istemiştim ve bir RSS öğesi ekledim fakat bir de baktım Türkçe karakterler bozuk çıkıyor. Sonradan anladımki WordPress’in RSS okuyucusu gelen belgeyi UTF-8 ile kodlanmış sanıp ona göre okuyordu.
Bu örneğimizde kök (root) elemanımız “Arabalar” ve görüldüğü gibi başka da kök eleman yok. Kök elemanın altında da yazararabalari , okuyucuarabalari ve yarisarabalari olmak üzere 3 alt eleman bulunuyor. Bunlara yabancı kaynaklarda “child element” dendiğini de görebilirsiniz.
Yazararabalari elemanının altında 3 farklı eleman daha bulunuyor. Burada bir konuya dikkat çekmek istiyorum. Ben örneğimde XML belgesindeki büyük-küçük harf duyarlılığını vurgulamak için etiket adlarını büyüklü-küçüklü yazdım fakat sizler bundan kaçının. Size tavsiyem belgenizi tamamen küçük harflerden oluşturun. Bu şekilde hem uygulamanız içerisinde XML’den okuduğunuz değeri büyük-küçük harf işlemleriyle perişan etmemiş olursunuz hem de uygulama performansınızı da düşürmemiş olursunuz.
Okuyucuarabaları adındaki etiketimiz için herhangi bir alt dal bulunmadığı için “/” kullanarak hemen açtığımız yerde kapattık buna da dikkat etmelisiniz. Ayrıca kök etiketimize bir açıklama ekledim. Sizler de açıklamanızı yukarıdaki etiketlerin arasına alarak istediğiniz yere ekleyebilirsiniz. Dikkat etmeniz gereken son nokta da yasak karakterleri ne şekilde kullanadığımızla ilgili.
Tüm bu kurallara uyarak WELL-FORMED bir XML belgesi oluşturmuş olduk yani yazım kurllarına uyan doğru bir XML belgemiz var artık. Mesela bu belgeyi kullandığınız web tarayıcı ile sorunsuzca açabilirsiniz.
Sanırım aklınıza “hangi araçları kullanarak yapıcam bu işi” gibi bir soru geldi. Başımızın tacı NOTEPAD ile bunları yapıp .xml uzantısı ile kaydetmeniz yeterli. Fakat her zaman XML belgesiyle çalışmak bu kadar kolay olmaycaktır. Hele de işin içine DTD, SCHEMA gibi kavramlar girince veya belgenin boyutu büyüyünce Notepad yeterli olmayabilir.
Ücretsiz olarak aklıma ilk gelen ürün More Motion XML Editor aracı. Bu ürün Altova XMLSPY kadar olmasa da iş görebilecek nitelikte. Özellikle giriş seviyesindeki kullanıcılar için ideal. Kurulum gerektirmiyor ve yazıyı formatlayıp daha okunabilir bir hale getirebiliyor. Hem de yerli bir firma tarafından üretilmiş bir ürün. XML belgeleriye çalışmak için kullanabileceğiniz diğer araçlar ise şu şekilde:
XML WRITER OXYGEN XML EDITOR
MICROSOFT XML NOTEPAD Eğer sizlerin de bunlar dışında kullandığı araçlar varsa yazının altına yorum olarak ekleyip bizlerle paylaşabilirsiniz. Bu yazımızda WELL-FORMED yani yazım kurallarına uyan bir XML belgesini ne şekilde oluşturacağımız gördük. Size tavsiyem eğer XML ile yeni tanışıyorsanız belgelerinizi önce NOTEPAD ile hazırlayın , daha sonra da yukarıda adı geçen araçları kullanarak kurallara uygun yazıp yazmadığınızı kontrol edin. Bu sayede hem pratikliğiniz artacak hem de kuralları daha iyi kavramış olacaksınız.
Sabırlar okuduğunuz için teşekkürler. Bir başka XML yazısında görüşenceye dek hoşçakalın…
NOT: Örneklerde geçen kişiler ve sahip oldukları araçlar tamamen hayal ürünüdür. Hiçbir şekilde gerçeği yansıtmamaktadır 🙂
Kategoriler:MESLEKTEN, XML SERİSİ
Mustafa Halil	Kasım 15, 2007, 11:55 pm	Cevapla	Alternatif, ücretsiz iki XML düzenleyici ;
GUI (GRAPHICAL USER INTERFACE) vs COMMAND-LINE
SERVICE PACK-1 FOR MICROSOFT NOTEPAD