XML Nedir? XML Dosyası Nedir, Ne İşe Yarar?
XML (eXtensible Markup Language — Genişletilebilir İşaretleme Dili), verileri hem insanların hem de bilgisayarların okuyabileceği şekilde saklamak ve sistemler arasında taşımak için kullanılan bir metin formatıdır. Bir XML dosyası açıldığında, verilerin "etiketler" (tag) içinde hiyerarşik olarak düzenlendiği görülür.
XML dosyası neye benzer?
<fatura>
<no>GIB2026000000102</no>
<tarih>2026-07-01</tarih>
<satici>
<unvan>Örnek Yazılım A.Ş.</unvan>
<vkn>1234567890</vkn>
</satici>
<toplam paraBirimi="TRY">12000.00</toplam>
</fatura>Yukarıdaki örnekte her bilgi, anlamını açıklayan bir etiketin içindedir: fatura numarası <no> etiketinde, satıcı bilgileri <satici> altında gruplanmış durumdadır. Bu "kendini açıklayan" yapı sayesinde farklı yazılımlar aynı dosyayı sorunsuz yorumlayabilir.
XML nerelerde kullanılır?
- E-fatura ve e-arşiv: Türkiye'de GİB'in e-fatura sistemi, faturaları UBL-TR adı verilen bir XML standardında saklar.
- Yapılandırma dosyaları: Birçok programın ayarları XML dosyalarında tutulur.
- Veri alışverişi: Bankacılık, sağlık, lojistik gibi sektörlerde sistemler arası veri aktarımının önemli bölümü XML ile yapılır.
- Ofis belgeleri: .docx ve .xlsx dosyaları aslında sıkıştırılmış XML paketleridir.
- RSS ve site haritaları: Web'deki içerik akışları (RSS) ve sitemap.xml dosyaları XML formatındadır.
XML'in temel kuralları
- Her açılan etiket kapatılmalıdır: <tarih>...</tarih>
- Etiketler iç içe doğru sırayla kapanmalıdır.
- Dosyanın tek bir kök (root) elemanı olmalıdır.
- Öznitelik değerleri tırnak içinde yazılmalıdır: paraBirimi="TRY"
- Büyük/küçük harf duyarlıdır: <No> ile <no> farklı etiketlerdir.
Bu kurallara uyan dosyalar "well-formed" (kurallı) kabul edilir. Ayrıca bir şemaya (XSD) göre doğrulama yapılarak dosyanın belirli bir standarda — örneğin GİB'in UBL-TR şemasına — uygunluğu da denetlenebilir.
XML ile JSON arasındaki fark nedir?
JSON, özellikle web uygulamalarında yaygınlaşan daha sade bir veri formatıdır. XML ise şema doğrulama (XSD), ad uzayları (namespace) ve imzalama gibi kurumsal ihtiyaçlara yönelik güçlü özellikler sunar. Bu nedenle resmi belgeler ve e-fatura gibi standartlaşmış alanlarda XML tercih edilirken, modern API'lerde çoğunlukla JSON kullanılır. İkisi arasında dönüşüm yapmak da mümkündür.
XML dosyasını nasıl açarım?
XML düz metin olduğu için not defteriyle bile açılabilir; ancak girintisiz ham metin okumak zordur. Ücretsiz XML Görüntüleyici aracımızla dosyanızı renkli ve katlanabilir ağaç görünümünde inceleyebilirsiniz. Dosya bir e-fatura ise E-Fatura Görüntüleyici ile doğrudan fatura görünümünde açabilirsiniz.
XML ile JSON arasındaki fark nedir?
XML ve JSON, veriyi sistemler arasında taşımak için kullanılan iki yaygın formattır. Temel fark okunabilirlik ve katılıktadır: XML etiket tabanlıdır ve daha ayrıntılı, JSON ise daha kısa ve programcı dostudur.
XML'in üstünlüğü doğrulanabilirliktir. Bir XML dosyasının hangi alanları içermek zorunda olduğu, XSD adı verilen şema dosyalarıyla tanımlanır ve dosya bu şemaya karşı otomatik olarak sınanabilir. JSON'da böyle bir doğrulama katmanı standart olarak bulunmaz.
Bu yüzden e-fatura, e-defter ve resmi belge alışverişi gibi hata payı olmaması gereken alanlarda XML tercih edilir. Web servislerinde ve mobil uygulamalarda ise hız ve sadelik öne çıktığı için JSON yaygındır.
- XML: etiketli, şemayla doğrulanabilir, resmi belge standartlarında yaygın
- JSON: kısa, hafif, web ve mobil uygulamalarda yaygın
- XML dosyaları genellikle daha büyüktür çünkü her veri açılış ve kapanış etiketiyle sarılır
- İkisi arasında dönüşüm mümkündür; XML'den JSON'a çevirmek için tarayıcı içi araçlar kullanılabilir
XML dosyasının temel kuralları
XML'in katı kuralları vardır ve bu kurallara uymayan dosya geçersiz sayılır. Kuralların amacı, dosyayı okuyan her sistemin aynı sonucu üretmesini garanti etmektir.
- Her açılan etiket kapatılmalıdır
- Etiketler iç içe doğru sırayla kapanmalıdır
- Belgede tek bir kök etiket bulunur
- Etiket adları büyük-küçük harfe duyarlıdır
- Özel karakterler kaçış dizileriyle yazılır
Bir XML dosyası açılmıyorsa, sebep genellikle bu kurallardan birinin ihlalidir. Kapatılmamış tek bir etiket, dosyanın tamamının okunamamasına yol açar.
XML nerelerde kullanılır?
XML'i günlük hayatta en çok e-fatura bağlamında duyarsınız, ancak kullanım alanı çok daha geniştir.
- e-Fatura, e-Arşiv, e-İrsaliye ve e-Defter gibi elektronik belgeler
- Uygulama yapılandırma dosyaları
- Ofis belgeleri: Word ve Excel dosyaları aslında sıkıştırılmış XML paketleridir
- Web servisleri ve sistemler arası veri alışverişi
- Site haritaları ve içerik beslemeleri
Türkiye'de e-dönüşüm süreçlerinin tamamı XML üzerine kurulduğu için, muhasebe ile ilgilenen herkesin bu formatla er ya da geç karşılaşması kaçınılmazdır.
XML dosyası nasıl oluşturulur?
XML dosyası oluşturmanın iki yolu vardır: elle yazmak veya bir programa ürettirmek. Elle yazmak yalnızca küçük yapılandırma dosyaları için mantıklıdır; e-fatura gibi şemaya tabi belgelerde hata payı çok yüksektir.
Pratikte e-fatura XML'leri muhasebe yazılımları, entegratör sistemleri veya dönüştürme araçları tarafından üretilir. Üretilen dosya, gönderilmeden önce şemaya karşı doğrulanır; böylece eksik veya hatalı alanlar kaynağında yakalanır.
Elinizde yalnızca PDF fatura varsa, XML'i sıfırdan yazmaya çalışmak yerine dönüştürme kullanmak hem hızlı hem güvenlidir. PDFXMLPro, PDF'teki veriyi ayrıştırıp UBL-TR şemasına uygun XML üretir ve çıktıyı şema doğrulamasından geçirir.
XML öğrenmek gerekli mi?
Muhasebe tarafında çalışan biri için XML'in tüm teknik detaylarını bilmek gerekmez. Bilinmesi gereken şey şudur: fatura verisinin gerçeği XML'in içindedir, PDF görüntüsü yalnızca sunumdur.
Bu ayrımı bilmek, bir uyuşmazlıkta doğru yere bakmanızı sağlar. Ekrandaki rakam ile beyannameye giren rakam farklıysa, cevap XML'in içindedir.
Özetle XML, veriyi anlamıyla birlikte taşıyan bir formattır. Etiketler sayesinde her rakamın ne olduğu bellidir; bu da verinin insan müdahalesi olmadan işlenmesini mümkün kılar. Türkiye'deki tüm e-dönüşüm belgelerinin bu format üzerine kurulmasının sebebi budur.