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
xml
ile 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
JSON
veyaYAML
değerlendirilebilir.