Başlangıç > MESLEKTEN, NEDEN?, NEDİR?, XML SERİSİ > XML NEDİR ? (NEDEN BU KADAR ÖNEMLİ?)

XML NEDİR ? (NEDEN BU KADAR ÖNEMLİ?)

xml.jpgBu 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.xml-example.JPG

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…

Reklamlar
  1. Haziran 11, 2009, 5:34 pm

    xml konusunda az kaynak var. yazılarınız için teşekkürler.

  2. xml
    Haziran 19, 2009, 12:17 pm

    html ve css baya öğrendimxml de öğrenmeyi düşünüyorum.

  3. Kasım 18, 2009, 11:25 am

    Yazılar için teşekkürler. Bilgi acısından yazılmış, teknik olarak pek bir uygulama göremedim.
    Teşekkürler.

  4. Zwinky
    Aralık 9, 2009, 9:55 pm

    ya nerden yüklicem? Zwinky hep eror veriyor sinir oluyorum

  5. Şubat 27, 2011, 12:51 pm

    arkadaşlar xml yi şifreledim ve şimdi açamıyorum bu konuda bilgisi olan varmı acaba
    teşekkür ederim

  6. Ağustos 19, 2011, 2:58 pm

    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?

  7. Ağustos 19, 2011, 3:04 pm

    Temel bilgi arayanlar için güzel bir yazı olmuş. Faydalı bilgiler.

  8. Kasım 30, 2011, 3:18 pm

    http://altansezerayan.blogspot.com/ Başlangıç seviyesi XML örnekler

  9. enginsatana
    Kasım 10, 2016, 10:33 pm

    http://www.dopigo.com/dopiblog basit ve kolay anlaşılır… Özellike e-ticaret tarafı için.

  1. Şubat 6, 2007, 3:07 pm
  2. Şubat 6, 2007, 3:56 pm
  3. Ekim 16, 2007, 7:17 am
  4. Kasım 3, 2009, 10:36 pm
  5. Haziran 14, 2011, 6:11 pm
  6. Nisan 16, 2014, 7:17 pm
  7. Nisan 16, 2014, 7:18 pm
  8. Nisan 16, 2014, 7:22 pm
  9. Nisan 16, 2014, 11:11 pm

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: