XML Nedir?
XML'in asıl kolaylığı insanların, iki bilgisayarın arasındaki İletişimi daha kolay anlayabilmesini sağlamaktır
Diyelim ki evde otururken canımız birşeyler içmek istedi. Markete gidip kola almak çok zor bir iş değil. Markete yürüyüp hızlı ve ucuz bir şekilde ihtiyacımızı giderebiliriz. Üstelik fazla yüksek bir teknolojiye ihtiyacımız yok. HTML ile web sayfası hazırlamak da birçok yönden buna benziyor. Eğer düz bir metin düzenleyiciye ve küçük bir HTML bilgisine sahipsek, hızlı ve ucuzca sayfamızı hazırlayabiliriz. Hatta FrontPage, DreamWeaver gibi programlarla HTML bilgisine de ihtiyaç minimum düzeye indi.
Şimdi ihtiyacımızın daha büyük olduğunu düşünelim. Bir hatta birkaç süpermarkete uğrayıp, evin haftalık alışverişini yapalım. Bu durumda yürümek pek de akıl karı bir iş değil. Ayrıca taşıyacağımız yükü de göz önüne alırsak, bir araç vazgeçilmez hale geliyor.
Daha büyük işler için bir araç kullanmanın daha kolay ve daha hızlı olduğu çok açık. Ama arabanız varsa ona benzin doldurmayı, tekerleklerine doğru hava basıncını yüklemeyi ve bunun gibi birçok işi bilmemiz gerekir. XML ailesiyle HTML’de yapamadığımız birçok şeyi yapabiliriz. Fakat tam anlamıyla bunu başarabilmemiz için beraber çalışan birçok teknolojinin kullanımını bilmemiz gerekir. Sonuçta bir öğrenme engeliyle karşı karşıyayız.
Bu noktada endişeye kapılmak doğal. Fakat unutmamak gerekir ki arabayı kullanmak için yürüyen aksamın direksiyona nasıl bağlandığı, hareketin tekerleklere nasıl iletildiği, karbüratörün ne işe yaradığı gibi konularda uzman olmaya gerek yok.
Kolayca görülüyor ki eğer webdeki işimiz küçük ve dar kapsamlıysa, HTML kullanmak daha kolay ve daha ucuzdur. Fazla ayrıntı bilmeye ve kafamızı karmaşık teknolojilere yormaya gerek yok. Fakat eğer biraz deneyimli bir kullanıcıysak ve yapacağımız işte HTML yetersiz kalıyorsa, XML kullanmak kaçınılmaz hale geliyor. Üstelik örnekte de görüldüğü gibi, bunun için küçük bir miktar daha bilgi bilmek gerekliyken işin fazla ayrıntısına girmek gerekmiyor.
Şimdi işin teknik ayrıntılarına girebiliriz. “Neden XML?” sorusuna akla gelen ilk cevap “insanlar arasındaki iletişimi kolaylaştırmak” olabilir. Fakat dikkatlice düşündüğümüzde insanlar telefon, yazışma gibi iletişim araçları varken neden köşeli parantezler arasındaki etiketleri kullanmak istesin ki? Bu noktada cevabımız son halini alıyor: “Asıl amaç bilgisayarlar arasındaki iletişimin iyileştirilmesini sağlanmak.”
XML bilgisayarların daha iyi haberleşmesine iki yoldan katkıda bulunur
- İçeriği gösterimden ayırır. (HTML – XHTML)
- Uygulamalar arasında bilginin doğrudan geçişini sağlar.
Şimdi de XML’in diğer yararlarını madde madde inceleyelim.
- Yalınlık
XML’de kodlanan bilgilerin okunması ve anlaşılması kolaydır çünkü doğal dile yakın anlamlı etiketler insanlar tarafından daha kolay anlaşılır. Ayrıca bu etiketler bilgisayarlar tarafından da kolayca işlenebilirler
- Açıklık
XML W3C standartıdır ve yazılım liderleri tarafından da onaylanmıştır.
- Genişleyebilirlik
Sabit bir etiketler kümesi bulunmaz. Yeni etiketler istenildiğinde yaratılabilir.
- Kendi kendini tanımlama
Alışılagelmiş veri tabanlarında ; veri kayıtları , veri tabanı sorumlusu tarafından kurulan şemalara ihtiyaç duyar. XML belgeleri bu tür tanımlamalara ihtiyaç duymadan saklanabilir çünkü XML etiket ve özelliklerden oluşan meta veriler içerir.
- Makine tarafından anlaşılabilen bağlam bilgisi içerir
Etiketler, özellikler (attributes) ve eleman(element) yapıları; içerik anlamını yorumlamada, etkin arama motorlarında yeni olasılıklar oluşturmada, akıllı veri işlemede (data mining) vb. bağlam bilgisi sağlar. Bağlam bilgisinin değerlendirilmesinin neredeyse imkansız olduğu HTML veya düz metine göre bu büyük bir avantajdır.
Örneğin, Chip isimli isimli birini aramak için ‘chip’ kelimesiyle arama yaptığınızda karşınıza chocolate chips, computer chips, ya da Chip gelebilir. Eğer isim ve adres kayıtları için tanımlanmış DTD’ler olsaydı, ‘chip’ kelimesiyle yapılan aramalar çok daha kesin ve doğru sonuşlar verebilirdi.
- İçeriği gösterimden ayırır
XML etiketleri, gösterimi değil anlamı tanımlar. HTML’in parolası :”Nasıl göründüğünü biliyorum!” iken XML’inki : “Ne anlama geldiğini biliyorum, öyleyse bana nasıl görünmesi gerektiğini söyleyin!”. Bir XML belgesinin görünüşü ve anlattıkları XSL “style sheet”leri tarafından oluşturulur. Bu, bir belgenin görünüşünün, belgenin bağlamına dokunmadan değiştirilebilmesini sağlar. Aynı içerikten ortaya çıkan birçok görünüm veya sunum kolayca oluşturulabilir.
Farklı XSL dönüştürücüler ile aynı XML belgesinden farklı görünüşte sunumlar elde edilmesi bunun en büyük örneğidir.
- Çokdilli belgeleri ve “Unicode”u destekler
Uygulamaların uluslararası hale getirilmesinde çok önemli bir özellik.
- Verilerin kümelenmesi ve kar??la?t?r?lmas?n? kolayla?t?r?r
XML belgelerindeki ağaç yapısı, belgelerin eleman eleman etkin bir biçimde kümelenmesine ve karşılaştırılmasına izin verir.
- Çoklu veri türleriyle kullanılabilir
XML belgeleri, çoklu ortam verilerinden (resim, ses, video) aktif bileşenlere (Java Appletleri, ActiveX) kadar birçok olası veri türünü içerebilir.
- Varolan veri türleriyle kullanılabilir
Varolan kütük dizgeleri veya ilişkisel veri tabanlarının XML’le ilişkilendirilmesi çok kolaydır.
- Da??t?lm?? veriler için tek bir sunucudan görünü? sa?lar
XML’in erişim sağladığı birçok verinin öğeleri değişik veri tabanları içerisinde bulunabilir -örneğin Internet gibi-. XML ile bu verilere tek bir sunucu üzerinden bakılıyormuş gibi erişilebilir.
- Sanayi tarafından hızlıca benimsenmiştir
IBM, Sun, Microsoft, Netscape, SAP gibi birçok kurum XML’i destekliyor. Microsoft ve SAP şimdiden ileride çıkaracakları programların sürümlerine XML desteği koyuyorlar. Microsoft ve Netscape’in web tarayıcıları XML’i destekliyor.
Kaynak