XML Şeması Eğitimi
XML Şeması nedir?
Bir XML Şeması, bir XML belgesinin yapısını tanımlar.
XML Şema dili, XML Şema Tanımı (XSD) olarak da adlandırılır.
XSD Örneği
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Bir XML Şemasının amacı, bir XML belgesinin yasal yapı taşlarını tanımlamaktır:
- bir belgede görünebilecek öğeler ve nitelikler
- alt öğelerin sayısı (ve sırası)
- öğeler ve nitelikler için veri türleri
- elemanlar ve nitelikler için varsayılan ve sabit değerler
Neden XML Şemasını Öğrenmelisiniz?
XML dünyasında, yüzlerce standartlaştırılmış XML formatı günlük kullanımdadır.
Bu XML standartlarının çoğu, XML Şemaları tarafından tanımlanır.
XML Şeması, DTD'ye XML tabanlı (ve daha güçlü) bir alternatiftir.
XML Şemaları Destek Veri Türleri
XML Şemalarının en güçlü yanlarından biri veri türleri için destek olmasıdır.
- İzin verilen belge içeriğini tanımlamak daha kolaydır
- Verilerin doğruluğunu doğrulamak daha kolaydır
- Veri yönlerini tanımlamak daha kolaydır (veri kısıtlamaları)
- Veri modellerini (veri biçimleri) tanımlamak daha kolaydır
- Verileri farklı veri türleri arasında dönüştürmek daha kolaydır
XML Şemaları, XML Sözdizimini kullanır
XML Şemaları ile ilgili bir başka büyük güç de, XML ile yazılmış olmalarıdır.
- Yeni bir dil öğrenmek zorunda değilsin
- Şema dosyalarınızı düzenlemek için XML düzenleyicinizi kullanabilirsiniz.
- Şema dosyalarınızı ayrıştırmak için XML ayrıştırıcınızı kullanabilirsiniz.
- Şemanızı XML DOM ile değiştirebilirsiniz.
- Şemanızı XSLT ile dönüştürebilirsiniz
XML Şemaları, XML'de yazıldıkları için genişletilebilir.
Genişletilebilir bir Şema tanımıyla şunları yapabilirsiniz:
- Şemanızı diğer Şemalarda yeniden kullanın
- Standart türlerden türetilen kendi veri türlerinizi oluşturun
- Aynı belgede birden çok şemaya başvuru
XML Şemaları Güvenli Veri İletişimi
Bir göndericiden bir alıcıya veri gönderirken, her iki tarafın da içerikle ilgili aynı "beklentilere" sahip olması esastır.
XML Şemaları ile gönderici, verileri alıcının anlayacağı şekilde tanımlayabilir.
"03-11-2004" gibi bir tarih bazı ülkelerde 3 Kasım, bazı ülkelerde ise 11 Mart olarak yorumlanacaktır.
Ancak, bunun gibi bir veri türüne sahip bir XML öğesi:
<date type="date">2004-03-11</date>
"tarih" XML veri türü "YYYY-AA-GG" biçimini gerektirdiğinden, içeriğin karşılıklı olarak anlaşılmasını sağlar.
İyi Biçimlendirilmiş Yeterli Değil
İyi biçimlendirilmiş bir XML belgesi, aşağıdakiler gibi XML sözdizimi kurallarına uyan bir belgedir:
- XML bildirimi ile başlamalıdır
- tek bir benzersiz kök öğeye sahip olmalıdır
- başlangıç etiketleri eşleşen bitiş etiketlerine sahip olmalıdır
- öğeler büyük/küçük harfe duyarlıdır
- tüm elemanlar kapatılmalıdır
- tüm öğeler düzgün bir şekilde yuvalanmış olmalıdır
- tüm nitelik değerleri alıntılanmalıdır
- varlıklar özel karakterler için kullanılmalıdır
Belgeler iyi biçimlendirilmiş olsalar bile yine de hatalar içerebilirler ve bu hataların ciddi sonuçları olabilir.
Şu durumu düşünün: 5 lazer yazıcı yerine 5 brüt lazer yazıcı sipariş ettiniz. XML Şemaları ile bu hataların çoğu doğrulama yazılımınız tarafından yakalanabilir.