XML NEDİR ? (NEDEN BU KADAR ÖNEMLİ?)
Bu yazı ile NEDİR? kategorsinin de ilk yazısını yazmış olacağım. Ayrıca bu yazıyı XML SERİSİ kategorisine de dahil ediyorum. XML SERİSİ kategorisinde XML ile ilgili olarak geçen kavramlar hakkındaki görüşlerimi ve bilgilerimi bulacaksınız.
“XML NEDİR ? ” sorusu her ne kadar başlık da olsa bu yazı XML’i açıklamak için değildir. Ama yine de kısaca tanımlamak gerekirse : XML önceden tanımlanmış ve statik bir formu olmayan yeni diller tanımlamamızı sağlayan genişletilebilir bir işaretleme dilidir. Dahası için bakınız…
Ben XML ile Java Teknolojileri Derneği’ nde Serkan Demir tarafından verilen Kod Üreticiler-VELOCITY seminerinde tanışmıştım. O sıralar her yerde XML konuşuluyordu. Hatta Web sitelerinde turunu turuncu XML simgeleri belirmeye çoktan başlamıştı bile. Peki bu neye yarıyordu yada HTML gibi oturup öğrenilesi birşey miydi?
XML kullanıyor olmak için ezberlemeniz veya bilmeniz gereken keyword hemen hemen yok gibi. Kurallar da az. Olan kurallar da iyi oluşturulumuş (WELL-FORMED) bir XML belgesi hazırlayabilmek için gerekli. Tamamen metin (text) tabanlı bir dosya biçimi ; yani çalışabilmek için notepad yeterli. Elbette XML belgenizin boyutu büyükse ve içine DTD, SCHEMA gibi kavramlar girecekse görsel bir editörden faydalanmak akıllıca olacaktır. Bunun için de bir yazı yazacağım.
Bu yazıyı yazmaya başladığımda size kullandığınız programlardan örnek vermek için Program Files içinde *.xml diye bir arama yaptım ve arama hala bitmedi. Demekki kullanılan XML belgesi çok fazla ve bu da bize XML’ in ne kadar önemli olduğunu bir kez daha gösteriyor.
Mesela MSN Messenger ‘daki konuşma kayıtlarınız, Zone Alarm programındaki güvenlik tanımlanırınız, Bitcomet programindaki dil ayarları , Spybot- Search and Destroy programindaki zararlı yazılımların tanımları , Firefox‘daki güncellemeler ve daha niceleri XML belgelerinde tutuluyor. Peki neden plain text değil de XML tercih edilmiş?
En önemli nedeni kolay okunabilir olması. XML belgelerinden herhangi birini açıp okuduğunuzda konu hakkında bilginiz olmasa bile neyin neye yaradığını anlayacaksınız. Mesela düz bir metin dosyası olsaydı ve ilk satırda 0 yazsaydı. Siz onu nasıl algılardınız? Eminim bu yazıyı okuyan herkes farklı algılayacaktır. Ama <ShowSplashScreen>0</ShowSplashScreen> bu şekilde olsaydı artık farklı birşey düşünme gibi bir durumunuz olmayacaktı. Zaten Web 2.0 ile herşeyi etiketler yada kategorilere ayırır olduk . İşte bu mantık ile XML birebir örtüşüyor.
Diğer bir etken de hız. Gerçekten hızlı bir yapısı var çünkü neyin nerede olduğunu biliyorsunuz. Hatta doğru ayrıştırıcıyı seçtiğinizde ratgele erişimle dosyanın istediğiniz bir yerine gidebilirsiniz. Peki metin dosyasında ne yapardınız. En fazla aradığınız şeyin kaçıncı satırda olduğunu bulurdunuz ve uygulamadan bu satıra gidebilmek için taklalar atardınız. Hatta kullanacağınız XML belgesi yeri geldiğince bir veritabanından daha hızlı çalışır. Bu deneyim ile sabittir. O yüzden sanırım artık çoğu veritabanı veri tipi olarak XML’i destekliyor.
Yukardakilerin yanına bir de daha kontrollü olmasını ekleyebiliriz. Yani ben ne dedim şimdi ? XML dosyalarınızın ; önceden hazırlayacağınız bir şablona uyup uymadığını kontol edebilirsiniz. Bunun için DTD ve SCHEMA gibi kavramlar var . Bu kavramlara da başka bir yazımda değineceğim. Ama düz metin dosyanız için böyle bir şansınız yok.
Artık hemen hemen her uygulamada IMPORT/EXPORT dediğinizde size bir XML dosyası gerekiyor. Mesela ben bu siteden yani WORPRESS.COM’ dan sıkıldım ve farklı bir yerde blogumu devam ettirmek istiyorum.Peki onca yazı burada mı kalacak? Elbetteki HAYIR ! . Yönetici panelinden tüm blogumu EXPORT edeceğim ve gidip mesela BLOGGER’daki bloguma IMPORT edeceğim. Hepsi bu kadar. Görüldüğü gibi XML belgesi bir çeşit ortak dil gibi kullanılabilir. Zaten ortaya çıkış nedenlerinden bir tanesi de EDI (Elektronic Document Interchange) ihtiyacıdır.
Yazıyı fazla uzatmadan size XML kavramını hayatınıza sokmayı tavsiye ediyorum . Bir yerlerden başlayın ve öğrenin. Öğrendikçe sevecek ve sevdikçe de kullanacaksınız. Umarım bu yazı dizisi de bu yolda size yardımcı olur. Beni okumaya devam edin…
xml konusunda az kaynak var. yazılarınız için teşekkürler.
html ve css baya öğrendimxml de öğrenmeyi düşünüyorum.
Yazılar için teşekkürler. Bilgi acısından yazılmış, teknik olarak pek bir uygulama göremedim.
Teşekkürler.
ya nerden yüklicem? Zwinky hep eror veriyor sinir oluyorum
arkadaşlar xml yi şifreledim ve şimdi açamıyorum bu konuda bilgisi olan varmı acaba
teşekkür ederim
Arkadaşlar php encode den anlayan var mı? Sorunum şu elimde bir php sayfa var encode edilmiş, kodları anlayamıyorum Bunu normale dönüştürmenin bir yolu yok mu?
Temel bilgi arayanlar için güzel bir yazı olmuş. Faydalı bilgiler.
http://altansezerayan.blogspot.com/ Başlangıç seviyesi XML örnekler
http://www.dopigo.com/dopiblog basit ve kolay anlaşılır… Özellike e-ticaret tarafı için.