XML (eXtensible Markup Language)
XML, Genel İşaretleme Dili (SGML)'den türetilmiş, hem insanlar hem de makineler tarafından okunabilirliği hedefleyen bir işaretleme dilidir. Veriyi depolamak ve taşımak için kullanılır. HTML gibi, o da bir işaretleme dilidir, ancak HTML veriyi görüntülemeye odaklanırken, XML veriyi taşımaya odaklanır.
Temel Özellikleri:
- Genişletilebilirlik (Extensibility): XML'in "eXtensible" olmasının sebebi, kullanıcıların kendi etiketlerini tanımlayabilmesidir. Önceden tanımlanmış bir etiket seti yoktur.
- Veri Yapısı: XML, verileri hiyerarşik bir şekilde düzenlemek için etiketler kullanır. Bu etiketler, veriyi açıklayan meta veriler görevi görür.
- Platform Bağımsızlık: XML, herhangi bir donanım veya yazılım platformuna bağlı değildir. Bu, farklı sistemler arasında veri alışverişini kolaylaştırır.
- İnsan Tarafından Okunabilirlik: XML dosyaları, insanlar tarafından kolayca okunabilir ve anlaşılabilir bir formata sahiptir. Bu, veri yapısını anlamayı ve hataları ayıklamayı kolaylaştırır.
- Doğrulama: XML belgelerinin geçerli olup olmadığını kontrol etmek için DTD (Document Type Definition) veya XML Şema (XSD) gibi yapılar kullanılabilir. Bu, veri bütünlüğünü sağlar.
Kullanım Alanları:
- Veri Değişimi: Farklı sistemler ve uygulamalar arasında veri alışverişi için yaygın olarak kullanılır.
- Web Servisleri: Web servislerinde veri formatı olarak kullanılır (örneğin, SOAP ve REST).
- Yapılandırma Dosyaları: Birçok uygulama, yapılandırma bilgilerini XML dosyalarında saklar.
- Veritabanları: Bazı veritabanları, verileri XML formatında saklama ve sorgulama yeteneğine sahiptir.
XML Sözdizimi:
XML belgeleri, bir kök eleman (root element) içermelidir. Etiketler, büyük/küçük harfe duyarlıdır ve doğru bir şekilde kapatılmalıdır. Nitelikler (attributes) etiketler içinde kullanılır ve elemanlara ek bilgi sağlar.
Örnek:
<?xml version="1.0" encoding="UTF-8"?>
<kitaplar>
<kitap>
<baslik>Yüzüklerin Efendisi</baslik>
<yazar>J.R.R. Tolkien</yazar>
<fiyat>25.99</fiyat>
</kitap>
<kitap>
<baslik>Harry Potter ve Felsefe Taşı</baslik>
<yazar>J.K. Rowling</yazar>
<fiyat>19.99</fiyat>
</kitap>
</kitaplar>
Bu örnekte, <kitaplar>
kök elemandır. Her <kitap>
elemanı, bir kitabın bilgilerini içerir. <baslik>
, <yazar>
ve <fiyat>
etiketleri, kitabın başlığını, yazarını ve fiyatını belirtir.