Son Güncellenme Tarihi: 25 Mart, 2025

XML Nedir?
XML (Genişletilebilir Biçimlendirme Dili), verilerin saklanması, iletilmesi ve yeniden yapılandırılması için kullanılan bir biçimlendirme dili ve dosya formatıdır. Bilgiyi kodlamak için yapılandırılmış bir yaklaşım sunarak hem insan hem de makine tarafından okunabilir hale getirir.
XML’in Ana Özellikleri
1. Açık Standartlar Tarafından Tanımlanır
- 1998 yılında World Wide Web Consortium (W3C) tarafından XML 1.0 Spesifikasyonu altında oluşturulmuştur.
- Verilerin yapılandırılmış ve kolay yorumlanabilir olmasını sağlamak için sıkı kurallara uyar.
2. Tasarım Hedefleri
- XML, farklı platformlarda basitlik, genellik ve kullanılabilirlik için tasarlanmıştır.
- Kolay okunabilir ve düzenlenebilir olmasını sağlamak için metin tabanlı bir format kullanır.
3. Unicode Desteği
- XML, birden çok dilde metin depolama ve işleme imkanı veren Unicode destekler.
4. Çok Yönlülük
- Başlangıçta belgeler için oluşturulmuş olan XML, şimdi web servisleri, API’lar ve yapılandırma dosyaları dahil olmak üzere çeşitli alanlarda veri temsili için yaygın olarak kullanılmaktadır.
5. Şema ve API’lar
- XML yapıları Belge Türü Tanımı (DTD), XML Şeması (XSD) veya Relax NG kullanılarak tanımlanabilir.
- DOM (Belge Nesne Modeli) ve SAX (Basit XML API’si) gibi çeşitli API’lar XML işleme sağlar.
6. XML’in Yaygın Kullanımları
- Farklı sistemler arasında veri alışverişi (örneğin, web servisleri, API’lar).
- Yazılım uygulamalarında yapılandırma dosyaları.
- Yapılandırılmış bilgi depolama (örneğin, RSS akışları, SVG grafikleri, DOCX gibi belge formatları).
- Web geliştirme (örneğin, XHTML, SOAP, AJAX tabanlı uygulamalar).
XML Genel Bakış
1. XML’in Ana Amacı: Serileştirme
XML’de serileştirme şunları ifade eder:
- Verilerin yapılandırılmış bir formatta saklanması.
- Farklı sistemler arasında veri iletilmesi.
- Verilerin kullanılabilir bir formatta yeniden yapılandırılması.
İki sistem bilgi alışverişi yapması gerektiğinde, XML, veri uyumluluğu için standart bir dosya formatı sağlar. Yapılandırılmış veri alışverişi için bir “ortak dil” görevi görür.
2. XML Bir Biçimlendirme Dili Olarak
XML bir biçimlendirme dilidir, bu da onun:
- Etiketlerle verileri etiketlediği anlamına gelir.
- Bilgiyi hiyerarşik olarak organize eder.
- Veriyi metaveri ile kategorize eder.
Örnek:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
Burada, <book>
, <title>
, ve <author>
veri öğelerini tanımlayan etiketlerdir.
3. XML Şeması (XSD) ve Doğrulama
XML Şeması (XSD), XML belgeleri için yapısal kuralları tanımlar.
XML belgeleri olabilir:
- İyi biçimlendirilmiş → Temel sözdizim kurallarını takip eder (doğru iç içe geçme, uygun kapatma etiketleri).
- Geçerli → Şema kurallarına uygun (zorunlu elemanlar, doğru veri türleri).
Bir XSD Kuralı Örneği:
<xs:element name="title" type="xs:string"/>
Bu, <title>
etiketinin mutlaka bir dizge değeri içermesi gerektiğini garanti eder.
4. XML Medya Türleri (RFC 7303)
IETF RFC 7303, veri iletimi için XML medya türlerini tanımlar:
- application/xml → Standart XML verisi.
- application/xml-external-parsed-entity → Ayrıştırılmış XML varlıkları.
- application/xml-dtd → XML DTD belgeleri.
XML tabanlı formatlarda, +xml son eki kullanılır (örneğin, SVG resimleri için image/svg+xml
).
5. Ağ Uygulamalarında XML (RFC 3470 / IETF BCP 70)
IETF BCP 70 (RFC 3470), ağ tabanlı uygulamalarda XML kullanımına yönelik en iyi uygulamaları düzenler, sistemler arasında sorunsuz veri uyumluluğunu güvence altına alır.
1. XML’in Uygulama Alanları
XML, Internet üzerinden veri alışverişi için tasarlanmış esnek bir biçimlendirme dilidir. Söz dizimi, birçok belge formatını ve iletişim protokolünü etkilemiş ve birçok endüstride temel bir teknoloji haline gelmiştir.
Yaygın XML Tabanlı Formatlar:
- Web Akışları: RSS, Atom
- Ofis Belgeleri: Office Open XML, OpenDocument
- Grafikler ve 3D Modeller: SVG, COLLADA
- Web Teknolojileri: XHTML
- Veri Alışveriş Protokolleri: SOAP, XMPP
- AJAX: Eşzamansız veri alışverişi için XML kullanır
XML Kullanan Endüstri Standartları:
- Sağlık: HL7 (Health Level 7)
- Seyahat Endüstrisi: OpenTravel Alliance
- Finans: FpML (Financial products Markup Language)
- Emlak ve Mortgage: MISMO
- Kamu Veri Alışverişi: Ulusal Bilgi Alışveriş Modeli
Bilimde XML:
Meteorolojide, XML IWXXM standartlarını takip ederek operasyonel hava durumu verileri temsili için kullanılır. Benzer şekilde, Darwin Bilgi Tipi Mimarisi (DITA) yayıncılıkta yaygın olarak kullanılan bir XML standardıdır.
2. XML’deki Anahtar Terimler
XML belgeleriyle etkin şekilde çalışabilmek için temel XML terimlerini anlamak önemlidir.
Karakter
Bir XML belgesi, Unicode karakterlerinden oluşur. XML 1.1, kesinlikle yasak olan Null karakteri (U+0000
) dışında neredeyse tüm Unicode karakterlerine izin verir.
İşleyici ve Uygulama
- XML işleyicisi (veya ayrıştırıcı), XML biçimlendirmesini okur ve çözümler.
- Uygulama, yapılandırılmış veriyi işleyiciden alır ve üzerinde işlem yapar.
Biçimlendirme ve İçerik
XML karakterleri biçimlendirme ve içerik olarak ayırır:
- Biçimlendirme: Öğeler, nitelikler ve varlıkları içerir (örn.,
<tag>
ve&
). - İçerik: Öğelerin içindeki gerçek veridir.
- CDATA Bölümleri: Biçimlendirme olarak ayrıştırılmaması gereken metni,
<![CDATA[ ... ]]>
içinde tutar.
Etiketler ve Öğeler
- Etiketler:
< >
içine alınmış biçimlendirme yapılarıdır.<section>
(Başlangıç etiketi)</section>
(Bitiş etiketi)<line-break />
(Boş öğe etiketi)
- Öğeler: Etiketlerle tanımlanan mantıksal bileşenlerdir.
- Örnek:
<greeting>Hello, world!</greeting>
- Örnek:
Nitelikler
Nitelikler, ad-değer çiftleri kullanılarak öğeler için metaveri sağlar. Örnek:
<img src="image.jpg" alt="Açıklama" />
src="image.jpg"
vealt="Açıklama"
<img>
öğesinin nitelikleridir.
3. XML’de Karakterler ve Kaçış
XML’de Geçerli Unicode Karakterler
XML belgeleri yalnızca belirli Unicode karakterlerine izin verir, bu da doğru ayrıştırmayı sağlar.
XML 1.0’da İzin Verilen Karakterler:
- Kontrol karakterleri:
U+0009
(Sekme)U+000A
(Satır Sonu)U+000D
(Satır Başı)
- Metin karakterleri:
U+0020–U+D7FF
U+E000–U+FFFD
U+10000–U+10FFFF
XML 1.1 Geliştirmeleri:
- Tüm U+0001–U+001F kontrol karakterlerine izin verir fakat bunların kaçırılması gerekir.
- U+0000 (Null karakteri) yasaklanmıştır.
4. XML’de Kodlama
Yaygın XML Kodlamaları:
XML, Unicode tabanlı kodlamaları destekler, bunlar arasında:
- UTF-8 (Önerilen varsayılan)
- UTF-16 (Tüm XML ayrıştırıcıları tarafından desteklenmelidir)
- ASCII, ISO-8859-X (Eski kodlamalar)
XML’de Kodlama Bildirimi:
XML başlığı, kodlamayı belirtebilir:
<?xml version="1.0" encoding="UTF-8"?>
- Eğer bir kodlama belirtilmezse, UTF-8 varsayılır.
- UTF-16, doğru algılama için bir BOM (Bayt Sırası İşareti) gerektirir.
5. Özel Karakterlerin XML’de Kaçırılması
XML sözdizimi belirli karakterleri ayırdığı için, bunların kaçırılması gerekir aksi takdirde çakışmalar meydana gelir.
Önceden Tanımlanmış XML Varlıkları:
Karakter | Kaçırılmış Hali | Örnek |
---|---|---|
< (Küçüktür) | < | I <3 XML → I <3 XML |
> (Büyüktür) | > | x > y → x > y |
& (Ampersand) | & | AT&T → AT&T |
' (Tek tırnak) | ' | "O'Reilly" → O’Reilly |
" (Çift tırnak) | " | She said "hello" → She said “hello” |
Sayısal Karakter Referansları:
Yazılamayan özel karakterler için sayısal referanslar kullanın:
- Onluk:
中 <!-- Çin karakteri "中" -->
- Onaltılık:
中 <!-- Çin karakteri "中" -->
- Örnek:Görünür olarak: I <3 Jörg
<message>I <3 Jörg</message>
İkili Verinin Ele Alınması:
XML ham ikili veriyi desteklemez. Bunun yerine, Base64 kodlaması kullanın.
6. XML’de Yorumlar
XML Yorum Sözdizimi:
<!-- Bu geçerli bir XML yorumudur -->
XML Yorumları İçin Kurallar:
- XML bildiriminden önce görünemez.
- Yorum içinde
--
(çift tire) bulunamaz. - Yorumlarda varlık referansları göz ardı edilir.
Örnek:
<!-- Bu, < ve & sembolleri içeren bir yorumdur -->
Sonuç
XML, web akışları, ofis belgeleri, bilimsel veri ve sanayi standartlarını güçlendiren yapılandırılmış veri alışverişi için temel bir teknolojidir. Önemli XML terimlerini, kodlama kurallarını ve kaçış mekanizmalarını anlamak, farklı sistemlerde düzgün çalışan XML belgeleri sağlar.
Karakter kodlama ve kaçış konularında en iyi uygulamaları izleyerek, geliştiriciler ayrıştırma hatalarından kaçınabilir ve XML tabanlı uygulamalarda uyumluluğu sağlayabilirler.