XML Nedir? Tanımı, Nasıl Çalışır ve Kullanım Alanları

XML (eXtensible Markup Language), kullanıcı tarafından tanımlanabilir etiketler aracılığıyla verileri yapılandırıp depolayan bir işaretleme dilidir. Veri taşıma, depolama ve uygulamalar arası iletişim için kullanılır. Yazı stili ve yapısıyla HTML'ye benzer, ancak veri tanımlamaya odaklanır.

5 dk okuma
XML

XML (eXtensible Markup Language), verileri açıklayıcı etiketlerle işaretleyerek yapılandıran, metin tabanlı bir dosya biçimi ve veri taşıma standardıdır. İnsan tarafından okunabilir olması ve farklı sistemler arasında veri alışverişini sağlaması nedeniyle web teknolojisinin temel taşlarından biridir. HTML'den farkı, HTML görünüm için tasarlanmışken XML verilerin anlamını (semantiğini) tanımlamaya odaklanır.

XML Nasıl Çalışır?

XML, bilgiyi ayrıntılı etiketler içinde paketleyen bir sistem olarak çalışır. Her veri parçası, o verinin ne olduğunu açıklayan açılış ve kapanış etiketleri arasına yerleştirilir.

Örneğin, bir kitap bilgisini XML'de şöyle gösterilebilir:

<kitap>
  <baslik>Türk Yazarlar</baslik>
  <yazar>Orhan Pamuk</yazar>
  <yil>2023</yil>
  <sayfa>350</sayfa>
</kitap>

Bu yapı sayesinde XML dosyasını okuyan bir bilgisayar, her veri parçasının ne anlama geldiğini hemen anlar. Etiketler tamamen özelleştirilebilir — istediğiniz adı verebilirsiniz.

XML'in Avantajları

  • Platform Bağımsız: Windows, Mac, Linux gibi herhangi bir işletim sisteminde çalışır.
  • İnsan Tarafından Okunabilir: Kodunu okuyup anlamak kolaydır; karmaşık şifreler kullanmaz.
  • Sistem Uyumluluğu: Farklı yazılım ve diller arasında veri alışverişini sağlar.
  • Özelleştirilebilir Etiketler: Kendi kurallarınıza göre etiketler oluşturabilirsiniz.
  • Hiyerarşik Yapı: Karmaşık veri ilişkilerini düzenli bir şekilde gösterir.
  • Doğrulama Mümkün: DTD (Document Type Definition) veya Schema ile veri bütünlüğü kontrol edilebilir.

XML'in Dezavantajları

  • Dosya Boyutu: Tekrarlayan etiketler nedeniyle JSON'a göre daha ağır olabilir.
  • Öğrenme Eğrisi: Yeni başlayanlar için sözdizimi karmaşık görünebilir.
  • Parsing Yavaşlığı: Çok büyük dosyaların işlenmesi zaman alabilir.
  • Boşluk Duyarlılığı: Hatalı biçimlendirme dosyayı geçersiz kılar.

XML Nerede Kullanılır?

Web Servisleri ve API'ler: SOAP protokolü XML kullanarak sunucular arası haberleşmeyi sağlar.

Veri Taşıma: Veritabanlarından web uygulamalarına veri aktarımında yaygındır.

Belge Formatları: Microsoft Office (docx, xlsx), LibreOffice, PDF dosyaları XML tabanında çalışır.

RSS ve Podcast: Haber akışları ve podcast beslemeleri XML formatında dağıtılır.

Sitemap: Google'a sitenizin yapısını açıklamak için sitemap.xml kullanılır.

Yapılandırma Dosyaları: Yazılım ayarları sıklıkla XML dosyalarıyla depolanır.

Finans ve Sağlık Sektörü: Banka hareketleri, tıbbi kayıtlar güvenli şekilde XML'de taşınır.

XML Türleri ve Varyasyonları

XML Türü Açıklama Kullanım Alanı
RSS Really Simple Syndication — haber ve içerik beslemesi Blog, haber siteleri, podcast
SOAP Simple Object Access Protocol — web servisleri için Kurumsal uygulamalar, API
SVG Scalable Vector Graphics — vektör grafikleri Web tasarım, animasyonlar
XHTML HTML'nin XML tabanlı versiyonu Web sayfaları (eski standart)
MathML Matematiksel denklemler için Bilimsel yayınlar, e-öğrenme

XML Dosyası Nasıl Oluşturulur?

XML dosyası oluşturmak basittir — herhangi bir metin editörü (Notepad, VS Code vb.) kullanabilirsiniz. Dosyayı .xml uzantısıyla kaydedin. Her XML dosyası şu şekilde başlamalıdır:

<?xml version="1.0" encoding="UTF-8"?>

Bu satır, dosyanın XML olduğunu ve UTF-8 karakterleriyle yazıldığını belirtir.

Örnek bir müşteri listesi:

<?xml version="1.0" encoding="UTF-8"?>
<musteriler>
  <musteri>
    <id>1</id>
    <ad>Ahmet Yılmaz</ad>
    <email>ahmet@email.com</email>
    <telefon>0551234567</telefon>
  </musteri>
  <musteri>
    <id>2</id>
    <ad>Fatma Kaya</ad>
    <email>fatma@email.com</email>
    <telefon>0552345678</telefon>
  </musteri>
</musteriler>

XML ve JSON Arasındaki Fark

JSON (JavaScript Object Notation) modern uygulamalarda XML'in yerini almaya başlamıştır. Nedenini karşılaştırmalı olarak görelim:

Özellik XML JSON
Dosya Boyutu Daha ağır Daha hafif
Okunabilirlik İyi Çok iyi
Parsing Hızı Yavaş Hızlı
Nativ JavaScript Desteği Zayıf Mükemmel
Standart Yaşlılığı 1998 (eski) 2006 (modern)
Web API'lerinde Kullanım Azalıyor Artan
"XML, veri taşımanın evrensel dili olarak tasarlanmıştır ve bugün milyonlarca sistemde güvenli bir şekilde veri alışverişini sağlamaktadır."

XML Doğrulama (Validation)

Bir XML dosyasının doğru biçimlendirilmiş olduğundan emin olmak önemlidir. İki yöntemi vardır:

  • DTD (Document Type Definition): XML dosyasının içinde veya dışarıda tanımlanan kurallar seti.
  • Schema (XSD): DTD'den daha güçlü, veri türleri ve kısıtlamalar tanımlayabilir.

Yanlış biçimlendirme örneği (geçersiz):

<musteri>
  <ad>Ahmet
  </ad>

Doğru biçimlendirme (geçerli):

<musteri>
  <ad>Ahmet</ad>
</musteri>

Tarihçesi

XML, 1998 yılında W3C (World Wide Web Consortium) tarafından SGML'in (Standard Generalized Markup Language) sadeleştirilmiş hali olarak geliştirilmiştir. SGML çok karmaşıktı; XML bu karmaşıklığı ortadan kaldırarak web için uygun hale getirdi.

2000'li yılların başında web servisleri ve SOAP protokolü ile hızla yayıldı. 2010'lardan itibaren JSON'ın yükselişi nedeniyle yeni projeklerde daha az tercih ediliyor, ancak kurumsal sistemlerde ve belirli endüstrilerde (finans, sağlık) halen yaygın olarak kullanılmaktadır.

XML dosyasını nasıl açabilirim?+
XML dosyaları metin editörü (Notepad, VS Code, Sublime Text), web tarayıcısı (Chrome, Firefox) veya özel XML editörleri (Oxygen XML) ile açılabilir. Web tarayıcıda açıldığında hiyerarşik yapı gösterilir.

X harfindeki diğer terimler