# XML

XML (standart)| Extensible Markup Language |
|  |
| Kısaltma | XML |
| Durum | Yayınlandı, W3C tavisyeleri |
| Başlama yılı | 1996) (1996) |
| İlk yayınlanma | 10 Şubat 1998) (1998-02-10) |
| Son sürüm | 1.1 (2nd ed.) 29 Eylül 2006) (2006-09-29) |
| Organizasyon | World Wide Web Consortium (W3C) |
| Editör(ler) | Tim Bray, Jean Paoli, Michael Sperberg-McQueen, Eve Maler, François Yergeau, John W. Cowan |
| Temel standartlar | SGML |
| İlgili standartlar | W3C XML Schema |
| Etki Alanı | Serileştirme |
| Websitesi | w3.org/xml |

| XML (dosya biçimi) |
| --- |
|  |
|  |
| Dosya uzantısı | .xml |
| MIME tipi | `application/xml`, `text/xml` |
| Sihirli sayı | `<?xml` |
| Geliştirici | World Wide Web Consortium |
| Çıkış tarihi | 1998  |
| Format türü | Markup language |
| Teknik standart | * 1.0, 5th ed. (26 Kasım 2008) (2008-11-26))
* 1.1, 2nd ed. (16 Ağustos 2006) (2006-08-16))
 |
| Açık biçim | Evet |
| Özgür biçim | Evet |
| Web sitesi |   |

**XML** (**Extensible Markup Language** ya da Türkçesiyle **Genişletilebilir İşaretleme Dili**), hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmaya yarayan bir işaretleme dilidir. W3C tarafından tanımlanmış bir standarttır. Bu özelliği ile veri saklamanın yanında farklı sistemler arasında veri alışverişi yapmaya yarayan bir ara format görevi de görür. SGML'in basitleştirilmiş bir alt kümesidir.

## Gelişimi

XML'in tasarımcısı, HTML'i de tasarlamış olan Tim Berners Lee'dir. Dilin düzenlenmesi de W3C'nin sorumluluğundadır. Karmaşık kod yazımı şeklinde görünen dizin, aslında bir grafiktir.

## Kullanımı

Günümüzde birçok yazılım, diğer yazılımlarla veri alışverişini XML formatı üzerinden yapmaktadır. Ayrıca XML'i esas format olarak kullanan uygulamalara rastlamak mümkündür. Rastgele veri erişimine uygun olmadığından veritabanı amaçlı kullanılmamaktadır.

Microsoft'un geliştirdiği .NET teknolojisinde kullanılan DataSet nesneleri XML formatındadır. Ayrıca XML, ofis uygulamalarının altyapısı haline getirilmiştir.

İçeriğin, doküman yapısının ve şeklin birbirinden ayrı ele alınması XML'i İçerik yönetim sistemlerinin ideal formatı haline getirmiştir.

## XML dosyalarını işleme

### SAX

Olay tabanlı, sözcüksel işleme. Dosyada içerisindeki her düğüm bir geri-besleme (*callback*) fonksiyonu aracılığı ile istemci koda yansıtılır. Bu yapısı nedeniyle oldukça hızlı ve etkilidir, ancak XML dosyasından rastgele düğüm ulaşımı oldukça zordur; Hedef düğüme ulaşmak için, her defasında dosyayı en başından işlemek zorundasınız.

### DOM

Bu teknik tamamen arayüz yönelimlidir. Her düğüm ve parçalarına arayüz aracılığıyla ulaşılır. Rastgele ulaşımda etkili olmasına rağmen, büyük boyutlu dosyalar söz konusu olduğunda oldukça hantaldır ve hafıza tüketiminde fazla talepkârdır.

## Örnek

XML dokumanları ağaç veri yapısında olurlar. Bağımsız imler yapıyı oluştururken, içerik ya imin özelliği olarak ya da iki im arasında gösterilir (bkz. örnek). Yapıyla ilgili ayrıntılar DTD (Document Type Definition) ya da XML Schema adı verilen harici dokümanlar ile tanımlanır. Aşağıdaki örnek bir XML dokümanında verinin nasıl belirtildiğini göstermektedir.

```
<kullanicilar>
 <kullanici id="1">
   <ad>A</ad>
   <soyad>B</soyad>
 </kullanici>
 <kullanici id="2">
   <ad>C</ad>
   <soyad>D</soyad>
 </kullanici>
 <kullanici id="5">
   <ad>E</ad>
   <soyad>F</soyad>
 </kullanici>
 <kullanici id="8">
   <ad>G</ad>
   <soyad>H</soyad>
 </kullanici>
</kullanicilar>

```

## İlgili başlıklar

* XSL ve XSLT
* XLink
* XPath
* XQuery
* XPointer
* DTD
* XSD

## Kaynakça

## Dış bağlantılar

* Resmî site