İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Zafer Teker
tekzaf@yahoo.com

Namespace nedir ?

Bir xml dili ile başka bir xml dili aynı isimli elementler içerebilirler. Bu tür durumlarla çakışmayı önlemek için namespace (isim uzayı) kullanılabilir. isim uzayı tanımlarken genellikle namespace olarak URL veya URN verilir. Bu şekilde namescape'lerin uniqu (tek) olması sağlanır. Çünkü aynı URL'den iki tane olamaz. Örneğin www.x.com adresi sadece bir tane olabilir.

Aşağıdaki örnekte varsayılan olara bir namespace verilmekte.

DefaultNS.xmlİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 <persons xmlns="http://www.godoro.com/test">
  2 	<person no="122">
  3 		<name>Albert</name>
  4 		<surname>Einstein</surname>
  5 	</person>
  6 	<person no="122">
  7 		<name>Orhan</name>
  8 		<surname>Gencebay</surname>
  9 	</person>
 10 </persons>

xmlns="http://www.godoro.com/test" ifadesi varsayılan olarak bir namespace vermektedir. Bu şekilde yazıldığında başka xml'ler ile çalışıldığı zaman bu xml'deki elementlerin başkaları ile çakışması engellenmiş olur. Örneğin başka bir xml dilindeki bir dökümanda da person etiketi olsa bile artık çakışma olmayacaktır.

Bir xml belgesinin içinde başka bir namespace'e ait elementler kullanabilirsiniz.

DefaultMultiNS.xmlİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 <persons xmlns="http://www.godoro.com/test">
  2 	<person no="122">
  3 		<name>Albert</name>
  4 		<surname>Einstein</surname>
  5 		<address xmlns="http://www.godoro.com/profile">
  6 			<city>istanbul</city>
  7 			<country>Turkiye</country>
  8 		</address>
  9 	</person>
 10 	<person no="122">
 11 		<name>Orhan</name>
 12 		<surname>Gencebay</surname>
 13 		<address xmlns="http://www.godoro.com/profile">
 14 			<city>Ankara</city>
 15 			<country>Turkiye</country>
 16 		</address>
 17 	</person>
 18 </persons>

address etiketi ve içinde kullanılan elementlerin namespace'i http://www.godoro.com/profile olacaktır.

Prefix Kullanımı

Bir namespace için prefix (kısaltma) yaratılabilir. Elementler prefix:element adı şeklinde yaratılırlar.

Prefix.xmlİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 <ps:persons xmlns:ps="http://www.godoro.com/test">
  2 	<ps:person no="122">
  3 		<ps:name>Albert</ps:name>
  4 		<ps:surname>Einstein</ps:surname>
  5 	</ps:person>
  6 	<ps:person no="122">
  7 		<ps:name>Orhan</ps:name>
  8 		<ps:surname>Gencebay</ps:surname>
  9 	</ps:person>
 10 </ps:persons>

ps perfix'i http://www.godoro.com/test namespace'ne ait olan elementleri ayırmaya yarar. Bu xml içinde başka namespace'e ai elementler kullanılabilir. Bu şekilde bir elementin hangi namespace'e ait olduğu anlaşılabilir.

Bir XML içinde birden fazla prefix'i olan element kullanılabilir.

PrefixMulti.xmlİndir Göster Gizle Kopar Satır Gizle Satır Göster
  1 <ps:persons xmlns:ps="http://www.godoro.com/test">
  2 	<ps:person no="122">
  3 		<ps:name>Albert</ps:name>
  4 		<ps:surname>Einstein</ps:surname>
  5 		<pr:address xmlns:pr="http://www.godoro.com/profile">
  6 			<pr:city>istanbul</pr:city>
  7 			<pr:country>Turkiye</pr:country>
  8 		</pr:address>
  9 	</ps:person>
 10 	<ps:person no="122">
 11 		<ps:name>Orhan</ps:name>
 12 		<ps:surname>Gencebay</ps:surname>
 13 		<pr:address xmlns:pr="http://www.godoro.com/profile">
 14 			<pr:city>Ankara</pr:city>
 15 			<pr:country>Turkiye</pr:country>
 16 		</pr:address>
 17 	</ps:person>
 18 </ps:persons>

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır