XML, eXtensible Markup Language'in kısaltmasıdır. Türkçeye "Genişletilebilir İşaretleme Dili" olarak çevrilir. Verileri insan tarafından okunabilir ve kendini tanımlayan bir biçimde depolamak ve taşımak için tasarlanmış bir işaretleme dilidir. HTML'den farklı olarak XML'in önceden tanımlanmış etiketleri yoktur; verilerinizin yapısını ve anlamını tanımlamak için kendi etiketlerinizi oluşturursunuz. XML, W3C standardıdır ve sayısız dosya formatının ve kurumsal sistemin temelini oluşturur.
XML belgenizi formatlamak veya doğrulamak mı istiyorsunuz?
XML Formatlayıcı'yı Aç →XML, World Wide Web Consortium'un (W3C) XML Çalışma Grubu tarafından SGML'nin (Standard Generalized Markup Language) basitleştirilmiş bir alt kümesi olarak geliştirilmiştir. 10 Şubat 1998'de W3C Tavsiye Standardı haline geldi. 2000'li yılların başında XML, web veri alışverişi ve web servisleri (SOAP) için baskın formattı. JSON, REST API'lerinin çoğunluğunu devralmış olsa da XML; belge formatları (DOCX, SVG, RSS), kurumsal ara katman yazılımları ve Java'nın Maven gibi yapılandırma ağırlıklı ekosistemlerinde hayati önemini korumaktadır.
Bir XML belgesi, sürümü ve karakter kodlamasını belirten isteğe bağlı bir bildirimle başlar. Belgenin geri kalanı bir element ağacından oluşur. Her elementin bir açılış etiketi, isteğe bağlı içerik veya alt elementler ve bir kapanış etiketi vardır. Elementler, açılış etiketi içinde öznitelikler (attribute) taşıyabilir.
<?xml version="1.0" encoding="UTF-8"?>
<kutuphane>
<kitap id="1" mevcut="true">
<baslik>Temiz Kod</baslik>
<yazar>Robert C. Martin</yazar>
<yil>2008</yil>
</kitap>
<kitap id="2" mevcut="false">
<baslik>Pragmatik Programcı</baslik>
<yazar>Andrew Hunt</yazar>
<yil>1999</yil>
</kitap>
</kutuphane>
<?xml version="1.0" encoding="UTF-8"?> — İsteğe bağlı ama tavsiye edilir; XML sürümünü ve kodlamayı belirtir<etiket> ve kapanış etiketi </etiket> vardır. Boş elementler self-closing olabilir: <br /><kitap id="1"><!-- Bu bir yorumdur --><![CDATA[ <ham> içerik ]]>xmlns:ns="http://example.com"Bir XML belgesi, tüm sözdizimi kurallarına uyduğunda iyi biçimli (well-formed) sayılır: tam olarak bir kök elementi, düzgün kapatılmış ve iç içe geçmiş etiketler, tırnak içindeki öznitelikler ve kaçış karakterleriyle yazılmış özel karakterler. İyi biçimli bir belge herhangi bir XML ayrıştırıcısı tarafından işlenebilir.
Bir belge ayrıca bir şemaya uyduğunda geçerli (valid) sayılır; DTD (Document Type Definition) veya XSD (XML Schema Definition). Şemalar, hangi element ve özniteliklere izin verileceğini, veri türlerini ve sıralamayı tanımlar.
Beş karakter XML'de özel anlam taşır ve metin içeriğinde veya öznitelik değerlerinde kullanıldığında kaçış karakteriyle yazılmalıdır:
& — & (ampersand)< — < (küçüktür)> — > (büyüktür)" — " (çift tırnak, özniteliklerde)' — ' (tek tırnak, özniteliklerde)pom.xml), Android layout'ları, Spring Framework bean'leri, Ant derleme betiklerisitemap.xml, içerik sendikasyonu için RSS beslemeleriJSON, REST API'lerinin büyük çoğunluğunda XML'in yerini almıştır; ancak XML belirli alanlarda avantajlarını korumaktadır:
Web API'leri ve uygulama verileri için JSON'ı tercih edin. Belge merkezli formatlar, şemalar, SOAP servisleri veya XML zorunlu kılan kurumsal sistemlerle entegrasyon gerektiğinde XML'i seçin.
<Kitap> ve <kitap> farklı elementlerdir&, <, >, ", ') kaçış karakteriyle yazılmalıdırXML (eXtensible Markup Language), verileri insan tarafından okunabilir ve kendini tanımlayan bir biçimde depolamak ve taşımak için tasarlanmış bir işaretleme dilidir. HTML'den farklı olarak, XML etiketleri önceden tanımlanmış değildir; verilerinizin yapısını tanımlamak için kendi etiketlerinizi oluşturursunuz.
XML'in açılımı eXtensible Markup Language'dir. Türkçeye "Genişletilebilir İşaretleme Dili" olarak çevrilir. W3C tarafından geliştirilmiş olup 1998 yılında W3C Tavsiye Standardı haline gelmiştir.
XML; yapılandırma dosyalarında (Maven pom.xml, Android layout), belge formatlarında (DOCX, ODT, SVG), SOAP web servislerinde veri alışverişinde, RSS/Atom beslemelerinde ve kurumsal sistemlerde kullanılır.
HTML, verileri tarayıcıda görüntülemek için tasarlanmıştır ve önceden tanımlanmış etiketlere sahiptir. XML ise kullanıcı tanımlı etiketlerle verileri depolamak ve taşımak için tasarlanmıştır. XML iyi biçimlilik konusunda katıdır — tüm etiketler kapatılmalı ve düzgün iç içe geçirilmelidir. HTML daha esnektir.
JSON daha kısa, okunması daha kolay ve JavaScript'te yerel olarak desteklenir; bu nedenle REST API'leri için baskın tercih haline gelmiştir. XML ise öznitelikleri, ad alanlarını, yorumları ve şemaları (XSD/DTD) destekler; belge merkezli formatlar, SOAP servisleri ve kurumsal entegrasyonlar için tercih edilir.
İyi biçimli bir XML belgesi tüm XML sözdizimi kurallarına uyar: tam olarak bir kök elementi vardır, tüm etiketler düzgün kapatılmış ve iç içe geçmiştir, öznitelikler tırnak içindedir ve özel karakterler kaçış karakteriyle yazılmıştır. Herhangi bir XML ayrıştırıcısı iyi biçimli bir belgeyi işleyebilir.