Makale Başlıkları
Kısaca
XML (eXtensible Markup Language / Genişletilebilir İşaretleme Dili), hem insanların hem de makinelerin okuyabildiği, etiket tabanlı bir veri taşıma ve depolama formatıdır. 1998’de W3C tarafından standartlaştırılan XML, farklı sistemler arasında veriyi biçimden bağımsız, kayıpsız ve düzenli bir şekilde aktarmak için kullanılır.
- XML veriyi tanımlar; HTML ise veriyi gösterir — ikisi farklı amaçlara hizmet eder.
- Site haritaları (sitemap.xml), RSS beslemeleri, SOAP web servisleri, fatura ve e-belge sistemleri ile uygulama ayar dosyalarının temelinde XML vardır.
- Modern web API’lerinde yerini büyük ölçüde JSON’a bırakmış olsa da kurumsal, finansal ve resmi belge alanında hâlâ vazgeçilmezdir.
XML dosyaları, farklı yazılımların ortak bir dilde anlaşabilmesi için tasarlanmış düz metin dosyalarıdır. İçeriğinde veriyi anlamlandıran özel etiketler bulunur; bu etiketler nesneleri ve nitelikleri tanımlar. Bir XML belgesi biçim olarak HTML belgesine benzese de, sabit etiketler yerine verinin anlamını taşıyan kendi etiketlerinizi tanımlamanıza izin verir. Bu sayede XML, internet üzerindeki çeşitli uygulamalar arasında veri depolamanın ve aktarmanın en yaygın yöntemlerinden biri haline gelmiştir. En pratik yanı da herhangi bir metin düzenleyiciyle açılıp okunabilmesidir.
XML, herhangi bir metin editörüyle oluşturulabilir; ancak bu basitliğin altında katı kurallar yatar. Bir XML belgesinin geçerli sayılması için “iyi biçimlendirilmiş” (well-formed) olması gerekir: her açılan etiket kapatılmalı, etiketler iç içe doğru sırayla yerleştirilmeli ve tek bir kök (root) eleman bulunmalıdır. Bu disiplin, formatın esnek olmasına rağmen verinin her sistemde aynı şekilde yorumlanmasını garanti eder. Bu yazıda XML’in ne olduğunu, nasıl çalıştığını, nerelerde kullanıldığını ve JSON gibi alternatiflerle nasıl karşılaştırıldığını baştan sona ele alıyoruz.

XML Nedir?
XML, açılımı eXtensible Markup Language (Genişletilebilir İşaretleme Dili) olan ve hem insanlar hem de bilgisayar sistemleri tarafından kolayca okunabilen belgeler oluşturmak için kullanılan bir işaretleme dilidir. W3C (World Wide Web Consortium) tarafından 1998 yılında standart olarak yayınlanmıştır. Temel görevi veriyi depolamanın yanı sıra, farklı sistemler arasında veri alışverişinde tarafsız bir ara format işlevi görmektir. Teknik kökeni açısından, daha eski ve karmaşık olan SGML‘in (Standard Generalized Markup Language) sadeleştirilmiş bir alt kümesidir.
XML’in en çok karıştırılan noktası, bir programlama dili sanılmasıdır. Oysa XML bir programlama dili değildir; mantık veya hesaplama yapmaz. O yalnızca veriyi taşıyan, etiketleyen ve yapılandıran bir biçimlendirme dilidir. Bir başka deyişle XML bir “veri kabıdır”: içeriğinde ne taşıdığını siz belirlersiniz, işi yapacak yazılım ise o veriyi okur. Örnek bir XML parçası şu şekildedir:
- <kitap> — kök eleman
- <baslik>XML Rehberi</baslik>
- <yazar>Alastyr</yazar>
- <yil>2026</yil>
- </kitap>
Görüldüğü gibi etiket isimleri (kitap, baslik, yazar) tamamen size aittir ve verinin anlamını doğrudan taşır. İşte “genişletilebilir” kelimesi de buradan gelir: kendi etiketlerinizi serbestçe üretebilirsiniz.
XML Ne Amaçla Kullanılır?
XML, internet üzerinden veri alışverişi yapan platformlar ve sistemler arasındaki iletişimi standart hale getirmek için geliştirilmiştir. Yayın tarihinin Microsoft’un .NET teknolojisiyle yakın dönemlere denk gelmesi nedeniyle uzun süre Microsoft tabanlı bir teknoloji sanılmıştır; oysa XML, tek bir şirkete bağlı olmayan, açık bir W3C standardıdır ve bugün her platformda kullanılır.
XML’den önce, bir yazılımda veya veritabanında tutulan bilginin başka bir ortama taşınması ciddi bir sorundu. Her sistemin kendi özel formatı olduğundan, bir veritabanından diğerine veri taşırken içeriği veritabanı dönüşümleriyle elle uyarlamak gerekirdi. Bu süreç hem yavaş hem hata üretmeye açıktı; uyumsuz veriler çoğu zaman kaybolurdu. XML, bu kaosa ortak bir dil getirerek tarafların aynı veriyi aynı şekilde anlamasını sağladı. Pratikte XML şu amaçlarla kullanılır:
- Sistemler arası veri taşıma: İki farklı yazılımın birbirinden bağımsız olmasına rağmen aynı veriyi paylaşabilmesi.
- Yapılandırılmış depolama: Ayar dosyaları, e-belge ve fatura kayıtları gibi verilerin düzenli ve okunabilir şekilde saklanması.
- İçerik ve sunumun ayrılması: Veriyi görünümden bağımsız tutarak aynı veriyi farklı ekranlarda farklı şekilde sunabilmek.
- Yeni işaretleme dillerinin temeli: XHTML, RSS, SVG, WSDL gibi pek çok dilin altyapısını oluşturmak.
XML Nasıl Çalışır? Temel Yapı Taşları
Bir XML belgesini anlamak için birkaç temel kavramı bilmek yeterlidir. Bu yapılar, XML’i hem disiplinli hem de evrensel kılar.
| Kavram | Açıklama |
|---|---|
| Prolog | Belgenin başında yer alan ve XML sürümünü, karakter kodlamasını (genellikle UTF-8) belirten satır. |
| Eleman (Element) | Açılan ve kapanan etiket çifti ile bunların arasındaki içerik. XML’in temel yapı taşıdır. |
| Kök Eleman (Root) | Tüm diğer elemanları içeren, belge başına yalnızca bir tane bulunabilen ana eleman. |
| Öznitelik (Attribute) | Bir etiketin içine yazılan, eleman hakkında ek bilgi taşıyan ad-değer çifti (örn. id=”5″). |
| Ad Alanı (Namespace) | Aynı isimli etiketlerin çakışmasını önleyen, etiketleri benzersiz kılan önek mekanizması. |
| DTD / XML Schema (XSD) | Bir XML belgesinin hangi kurallara uyması gerektiğini tanımlayan doğrulama şeması. |
Bir XML belgesinin “geçerli” (valid) olması için yalnızca iyi biçimlendirilmiş olması yetmez; aynı zamanda kendisine eşlik eden bir XSD (XML Schema Definition) veya DTD ile tanımlanan kurallara da uyması gerekir. Şema, “bu belgede hangi etiketler olmalı, hangi sırada gelmeli, değerler hangi tipte olmalı” sorularını yanıtlar. İki sistem arasında veri aktarırken işte bu şema, tarafların aynı “sözleşmeye” göre konuşmasını garanti eder.

XML Avantajları Nelerdir?
XML’in yıllardır kullanımda kalmasının ardında somut avantajlar yatar. İşte en önemlileri:
XML, Veriyi Sunumdan Ayırır
HTML dosyasında hem veri hem görünüm iç içedir; bir veri değiştiğinde HTML’i de elle düzenlemeniz gerekir. XML’de veri ayrı bir dosyada saklanır, sunum işlemini ise HTML veya CSS gibi araçlar üstlenir. Böylece veri değiştiğinde görünüme dokunmanıza gerek kalmaz. Bu ayrım, büyük projelerde bakım maliyetini ciddi ölçüde düşürür.
XML, Veri Alışverişini Basitleştirir
Bilgisayar sistemleri ve veritabanları çoğu zaman birbiriyle uyumsuz formatlar kullanır. Veriyi XML olarak değiş tokuş etmek, bu uyumsuzluğu ortadan kaldırır; çünkü XML düz metin tabanlıdır ve neredeyse her uygulama tarafından okunabilir. İki sistemin birbirinin iç yapısını bilmesine gerek kalmaz.
XML, Platform Değişikliğini Kolaylaştırır
Yeni bir donanım veya yazılım platformuna geçiş genelde büyük veri dönüşümleri gerektirir ve bu sırada uyumsuz veriler kaybolabilir. XML verisi düz metin olduğundan, yeni sistemlere, uygulamalara veya tarayıcılara veri kaybı olmadan taşınabilir. Bu da uzun ömürlü (geleceğe dönük) bir veri saklama yaklaşımı sunar.
XML, Veri Erişilebilirliğini Artırır
XML verisine yalnızca web sayfalarından değil; mobil cihazlardan, ekran okuyuculardan, haber besleme servislerinden ve farklı “okuma makinelerinden” de erişilebilir. Bu, aynı veriyi farklı yetenek ve ihtiyaçlara sahip kullanıcılar için erişilebilir kılar.
XML, Yeni İnternet Dillerinin Temelidir
XML’in en büyük miraslarından biri, üzerine kurulan türetilmiş dillerdir. Bunlardan bazıları:
- XHTML — HTML’in XML kurallarına uyan, daha sıkı sürümü.
- RSS / Atom — haber ve blog beslemeleri (feed) için standart.
- SVG — ölçeklenebilir vektörel grafik formatı.
- WSDL — web servislerini tanımlayan dil.
- SOAP — kurumsal web servisi mesajlaşma protokolü.
- WAP / WML, SMIL, RDF ve OWL — mobil, multimedya ve anlamsal web standartları.
XML Teknolojisinin Özellikleri Nelerdir?
XML teknolojisi, farklı türdeki verileri orijinal formatlarında tek bir yapıda tutar ve bu verilere ortamdan bağımsız, hızlı erişim sağlar. PDF belgeleri, ses, görsel, tablo çıktıları gibi çeşitli içerikleri hiyerarşik bir yapıda düzenleyebilir. XML’in öne çıkan özelliklerini şöyle sıralayabiliriz:
- Hem teknoloji hem dildir: Yalnızca bir dosya formatı değil, etrafında XSLT, XPath, XQuery gibi araçlardan oluşan bir ekosistem barındırır.
- Kendini tanımlar: Etiket isimleri verinin ne olduğunu açıkladığı için belge, harici bir açıklamaya ihtiyaç duymadan anlaşılabilir.
- Hiyerarşik (ağaç) yapıdadır: Veriler iç içe dallar halinde organize edilir, bu da karmaşık ilişkileri net bir şekilde ifade etmeyi sağlar.
- Platform ve dil bağımsızdır: Java, PHP, Python, C# fark etmeksizin her ortamda işlenebilir.
- İçerik ve sunumu ayırır: HTML’in aksine XML yalnızca veriyle ilgilenir; nasıl görüneceğine karışmaz.
- Unicode desteği: UTF-8 sayesinde Türkçe dahil tüm dillerdeki karakterleri sorunsuz taşır.
XML Teknolojisi Nerelerde Kullanılır?
Çoğu internet kullanıcısı web sitelerini yalnızca sosyal medya, oyun ve online alışveriş olarak görür; oysa bu sayfaların arka planında sistemler arasında sürekli veri akar. İşte bu akışın önemli bir kısmı hâlâ XML üzerinden gerçekleşir. XML’in en yaygın kullanım alanları şunlardır:
- XML site haritaları (sitemap.xml): Arama motorlarının sitenizdeki sayfaları keşfetmesini sağlayan dosyalar. Google’ın kurallarına göre tek bir sitemap dosyası en fazla 50.000 URL ve 50 MB (sıkıştırılmamış) büyüklüğünde olabilir; daha büyük siteler bir sitemap index dosyasıyla birden çok sitemap’i birleştirir.
- RSS / haber beslemeleri: Blog ve haber sitelerinin içerik güncellemelerini yayınlaması.
- Web servisleri: SOAP ve WSDL ile kurumsal sistemler arası standart mesajlaşma.
- E-fatura ve e-belge: Türkiye’deki e-fatura ve e-arşiv sisteminin temelini oluşturan UBL-TR standardı XML tabanlıdır.
- Ayar (konfigürasyon) dosyaları: Pek çok uygulama ve sunucu yazılımı ayarlarını XML dosyalarında tutar (örn. web.config, pom.xml).
- Ofis belgeleri: Microsoft Office’in .docx, .xlsx uzantılı dosyaları aslında XML tabanlı OOXML formatındadır.
- Veritabanı aktarımı, mali veri toplama, bilimsel belge saklama ve yazılım paketlerinde bağımlılık tanımlama gibi pek çok teknik işlem.

XML ve JSON Karşılaştırması: Hangisini Ne Zaman Kullanmalı?
Son yıllarda modern web uygulamaları ve REST API’lerinde JSON (JavaScript Object Notation), XML’in yerini büyük ölçüde aldı. JSON daha kısa, daha hızlı ayrıştırılan ve JavaScript ile doğal uyumlu bir formattır. Ancak bu, XML’in önemini yitirdiği anlamına gelmez; ikisi farklı ihtiyaçlar için parlar. Aşağıdaki tablo iki formatın temel farklarını özetler:
| Ölçüt | XML | JSON |
|---|---|---|
| Yapı | Etiket tabanlı, ağaç yapısı | Anahtar-değer çiftleri |
| Okunabilirlik | Detaylı ama daha uzun (verbose) | Daha sade ve kısa |
| Boyut / hız | Daha büyük, ayrıştırması yavaş | Daha küçük, ayrıştırması hızlı |
| Öznitelik / ad alanı | Destekler | Desteklemez |
| Şema doğrulama | Güçlü (XSD, DTD) | JSON Schema ile sınırlı |
| Yorum satırı | Destekler | Resmi olarak desteklemez |
| Tipik kullanım | SOAP, e-belge, ayar, kurumsal sistemler | REST API, mobil, web uygulamaları |
Pratik kural şudur: Yeni bir web API’si veya mobil uygulama geliştiriyorsanız JSON genellikle daha mantıklı seçimdir. Ancak ad alanı, öznitelik, sıkı şema doğrulama ya da XSLT dönüşümleri gibi özelliklere ihtiyacınız varsa — özellikle sağlık, finans, kamu ve e-fatura gibi belge ağırlıklı alanlarda — XML hâlâ en sağlam tercihtir.
XML Dosyası Nasıl Açılır ve Oluşturulur?
XML dosyaları düz metin olduğu için açması oldukça kolaydır. Pratikte şu yöntemleri kullanabilirsiniz:
- Metin editörleri: Not Defteri, Notepad++, VS Code veya Sublime Text gibi araçlarla XML dosyasını açıp düzenleyebilirsiniz. Kod editörleri sözdizimini renklendirerek okumayı kolaylaştırır.
- Web tarayıcıları: Chrome, Firefox veya Edge’e bir XML dosyasını sürükleyip bıraktığınızda, tarayıcı belgeyi hiyerarşik ağaç yapısında gösterir.
- Ofis programları: Microsoft Excel, XML verisini tabloya dönüştürüp içe aktarabilir.
- Programlama dilleri: Python (ElementTree), PHP (SimpleXML), Java (JAXB) gibi kütüphanelerle XML’i programatik olarak okuyup yazabilirsiniz.
Bir XML dosyasını çift tıkladığınızda, dosya ilişkilendirmeleriniz doğru yapılandırılmışsa varsayılan uygulama açılır. Eğer ilgili bir uygulama tanımlı değilse, Windows size dosyayı hangi programla açmak istediğinizi sorar; seçtiğiniz program bundan sonra varsayılan olur. Yeni bir XML oluşturmak için ise boş bir metin dosyası açıp prolog satırıyla başlamak, ardından tek bir kök eleman içinde verilerinizi etiketlemek ve dosyayı .xml uzantısıyla kaydetmek yeterlidir.
Sıkça Sorulan Sorular
XML bir programlama dili midir?
Hayır. XML bir programlama dili değil, bir işaretleme (markup) dilidir. Mantık kurmaz, hesaplama yapmaz; yalnızca veriyi etiketleyerek tanımlar, yapılandırır ve taşır. Veriyi işleme işini onu okuyan yazılım üstlenir.
XML ile HTML arasındaki fark nedir?
HTML veriyi tarayıcıda nasıl görüneceğine odaklanır ve sabit, önceden tanımlı etiketler kullanır. XML ise verinin ne olduğunu tanımlar, kendi etiketlerinizi oluşturmanıza izin verir ve görünümle ilgilenmez. Kısaca HTML gösterir, XML tanımlar.
XML hâlâ kullanılıyor mu, yoksa demode mi oldu?
XML hâlâ yaygın kullanımdadır. Modern web API’lerinde JSON öne çıkmış olsa da; e-fatura (UBL-TR), SOAP web servisleri, RSS beslemeleri, XML site haritaları, Office belgeleri ve sayısız ayar dosyası hâlâ XML tabanlıdır. Özellikle kurumsal ve resmi sistemlerde vazgeçilmezdir.
XML mi JSON mu kullanmalıyım?
Yeni web API’leri ve mobil uygulamalar için genellikle JSON daha hızlı ve hafiftir. Ancak ad alanı, öznitelik, sıkı şema doğrulama veya XSLT dönüşümü gibi özelliklere ihtiyacınız varsa — veya sağlık, finans ve e-belge gibi alanlarda çalışıyorsanız — XML daha uygundur.
XML site haritası (sitemap.xml) nedir ve SEO için neden önemlidir?
XML site haritası, sitenizdeki önemli sayfaların listesini arama motorlarına sunan bir dosyadır. Google’ın botlarının sayfaları daha hızlı keşfetmesine yardımcı olur. Tek bir dosya en fazla 50.000 URL ve 50 MB olabilir; daha büyük siteler birden fazla sitemap’i bir sitemap index dosyasında toplar. Sadece kanonik ve indekslenebilir URL’leri içermesi önerilir.
“İyi biçimlendirilmiş” (well-formed) XML ne demektir?
Bir XML belgesinin temel sözdizim kurallarına uymasıdır: her açılan etiketin kapatılması, etiketlerin doğru sırada iç içe geçmesi, tek bir kök elemanın bulunması ve büyük/küçük harf duyarlılığına dikkat edilmesi. Bu kurallara uymayan belge hata verir ve işlenemez.
XML dosyasını nasıl açabilirim?
XML dosyaları düz metin olduğundan Not Defteri, Notepad++ veya VS Code gibi metin editörleriyle açılabilir. Ayrıca dosyayı bir web tarayıcısına sürükleyerek hiyerarşik yapıda görüntüleyebilir, Excel ile tabloya dönüştürebilir veya programlama dillerinin XML kütüphaneleriyle işleyebilirsiniz.
XML Schema (XSD) ve DTD nedir?
Her ikisi de bir XML belgesinin uyması gereken kuralları (hangi etiketler, hangi sırada, hangi veri tipinde) tanımlayan doğrulama mekanizmalarıdır. DTD daha eski ve basit, XSD ise daha güçlü ve veri tipi destekli modern bir yaklaşımdır. İki sistem arasında veri aktarırken tarafların aynı kuralları paylaşmasını sağlarlar.
XML karakter kodlaması neden önemlidir?
XML belgesinin başındaki prolog satırında belirtilen kodlama (genellikle UTF-8), Türkçe karakterler dahil tüm metnin doğru okunmasını sağlar. Yanlış kodlama, “ç”, “ş”, “ö” gibi karakterlerin bozuk görünmesine yol açar; bu yüzden UTF-8 çoğu durumda tercih edilen standarttır.
Projelerinizi güçlü bir altyapıda yayınlayın
XML site haritalarınız, e-belge sistemleriniz ve web uygulamalarınız için hızlı, güvenli ve yüksek performanslı bir zemine ihtiyacınız var. İzmir’deki kendi veri merkezimizde, LiteSpeed + LSCache ve ücretsiz SSL ile sunulan Alastyr hosting paketleri tam da bunun için tasarlandı. 2002’den beri %100 Türk sermayesiyle, 7/24 Türkçe destek ve 14 gün koşulsuz iade güvencesiyle yanınızdayız.





