Sunday, January 17, 2016

XSD (XML Schema Definition) 1

XML veri için belirli bir format sunmasına rağmen bu formatın nasıl olacağını belirleyemediği için, bu tek başına yeterli değildir. Bunun yanında XML formatının oluşturulma kurallarını içeren ayrı bir ön bilgiye ihtiyaç duyulmaktadır. Bu amaçla W3C tarafından XSD kullanılması önerilmektedir. Örnek bir XSD aşağıda verilmiştir.

<xs:schema id="Kisi"     targetNamespace="http://tempuri.org/Kisi.xsd"     elementFormDefault="qualified"     xmlns="http://tempuri.org/Kisi.xsd"     xmlns:mstns="http://tempuri.org/Kisi.xsd"     xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:element name="Kisi">  
<xs:complexType>
<xs:sequence>      
<xs:element name="Adi" type="xs:string" />      
<xs:element name="Soyadi" type="xs:string" />      
<xs:element name="Adresi" type="xs:string" />      
<xs:element name="TcKimlikNo" type="xs:double" />      
 <xs:element name="MedeniDurumu" minOccurs="0">        
 <xs:simpleType>          
 <xs:restriction base="xs:string">            
<xs:enumeration value="Bekar" />          
  <xs:enumeration value="Evli" />          
</xs:restriction>        
</xs:simpleType>      
</xs:element>  
  </xs:sequence>  
</xs:complexType>
</xs:element>
</xs:schema>

Bu XSD bilgisi ile tanımlanan veri yapısı Şekil 1'de verilmiştir. Örnekteki XSD ad, soyad, adres ve medeni durum bilgilerinin “string” tipinde olacağını belirtmektedir. T.C. kimlik numarası “double” tipinde olmalıdır. Ayrıca medeni durum bilgisi “Bekar” veya “Evli” değerlerinden birini almalıdır.

Şekil 1. XSD ile tanımlanan veri formatı

Örnek XSD’ye uygun veri aşağıdaki gibi tanımlanmalıdır. Eğer bir XML dokümanı XSD’ye uymuyorsa geçerli olmaz.

<?xml version="1.0" encoding="utf-8" ?>
<Kisi xmlns="http://tempuri.org/Kisi.xsd">
<Ad>Veli Yigit</Ad>
<Soyad>Yolcu</Soyad>
<Adres>Örnek adres</Adres>
<TcKimlikNo>11111111111</TcKimlikNo>
 <MedeniDurum>Bekar</MedeniDurum>  
 </Kisi>


No comments:

Post a Comment