XML Programlama
XML (Extensible Markup Language), veri depolama ve taşınmasını kolaylaştıran, hem insan hem de makine tarafından okunabilir bir işaretleme dilidir. Aşağıda XML’in temel kavramlarını ve ek bilgileri bulabilirsiniz:
Prolog ve Temel Kurallar
- Prolog (
<?xml …?>):- version: XML sürümü (çoğunlukla
"1.0"). - encoding: Karakter kodlaması (örn.
"UTF-8","ISO-8859-1").
- version: XML sürümü (çoğunlukla
- Tek bir root (kök) eleman zorunludur; tüm diğer etiketler bu kökün içinde tanımlanır.
- Etiket adları rakamla veya
xmlile başlayamaz; büyük/küçük harf duyarlıdır.
Etiketler ve İçerik
- Açılış/kapama:
<tag> … </tag> - Boş eleman:
<tag/> - İçerik: Metin, başka etiketler veya her ikisi birden olabilir.
- Sır: XML’de iç içe etiketler, doğru açılış/kapama sırasıyla tanımlanmalıdır.
Öğelerin (Elements) Adlandırma Stilleri
| Stil | Örnek |
|---|---|
| Lower case | firstname |
| Upper case | FIRSTNAME |
| Underscore | first_name |
| PascalCase | FirstName |
| camelCase | firstName |
Öznitelikler (Attributes)
- Etiket içinde ad="değer" biçiminde tanımlanır.
- Aynı öğe içinde birden fazla öznitelik kullanılabilir.
- Öznitelik değerleri her zaman tırnak ("…" veya '…') içinde olmalıdır.
Özel Karakterler ve Escaping
Bazı karakterler doğrudan yazılamaz, yerlerine entity referansları kullanılır:
| Entity | Karakter | Açıklama |
|---|---|---|
< |
< |
küçüktür |
> |
> |
büyüktür |
& |
& |
ampersand |
" |
" |
çift tırnak |
' |
' |
tek tırnak |
Yorumlar ve CDATA
- Yorum Satırı
<!-- Bu bir yorum satırıdır --> - CDATA bölgesi: Özel karakterlerin kaçış gerektirmeden yer aldığı ham metin.
Beyaz Alan (Whitespace) ve Biçimlendirme
- XML boşlukları korur;
<a> </a>içinde iki boşluk gerçek içerik olur. - Dosyayı küçültmek için tüm satır sonu ve gereksiz boşlukları kaldırabilirsiniz (“minify”).
Namespace (Ad Alanı)
- İsim çakışmalarını engellemek için kullanılır. Kök öğede tanımlanır:
xmlns:prefix="URI": prefix:ile başlayan öğeler bu URI kapsamında tanımlanır.- URI gerçek bir web adresi olmak zorunda değil; tanımlama amacıdır.
Şema ve DTD (Doctype)
- XML belgelerinin yapısını tanımlayan mekanizmalardır:
- DTD (Document Type Definition):
- XSD (XML Schema Definition):
İpuçları ve En İyi Uygulamalar
- Tek bir root öğe kullanın.
- Gereksiz derin iç içe geçişlerden kaçının; okunabilirliği bozar.
- Boyutsal verileri (tarih, saat) parçalara ayırmak yerine kısa string formatı tercih edin.
- Belgeleri minify ederek küçültün, aktarımı hızlandırın.
- Karmaşık veri yapıları için
JSONveyaYAMLdeğerlendirilebilir.