# مباحث متفرقه برنامه نویسی > XML و کاربرد آن >  XML namespaces

## manager

با سلام 

می خواستم از اساتید محترم بخوام در مورد فضاهای نامی مقداری توضیح بدن !!!!! عصبانی نشید  :چشمک:  !! نمی خوام در مورد مطالب ابتدائی صحبت کنیم، من مطالب پایه رو بلدم فقط کمی گیج شدم ...

*- فضاهای نامی در کجا کاربرد دارند ؟* 
فرض کنید من من 2،3 تا مستند XML دارم. بخش هائی از هر کدوم از این مستندات دارای فضای نائی یکسانی هستند. مثلا فرض کنید http://www.mycompany.com/mynamespace. بسیار خوب سوال من اینکه _چه طوری می تونم از این فضاهای نامی به خوبی استفاده کنم ؟_ آیا می تونم فقط بخش هائی رو که دارای فضاهای نائی یکسانی هستند رو بازیابی و سپس ترکیب کنم ؟ 

اگر یه توضیح مختصر و مفید در مورد موارد استفاده فضاهای نامی بدین کفایت می کنه !!! نمی خوام مطالب پیش پا افتاده یا کد ازتون بخوام، چند تا کتاب خوندم ولی ارضام نکرد ...

----------


## manager

از تمامی دوستان به خاطر راهنمائیاشون ممنونم ...

----------


## Pouria.NET

مهمترین و پرکاربردترین استفاده از Namespace جلوگیری از Name Collision است. بصورت ساده یعنی ما یک یا چند XML Schema داریم و در این XSD ها یکسری Type ها تعریف شده که ما نیاز داریم از این Type ها در Xml Document ها استفاده کنیم.بنابراین نیاز داریم به کمک XML Namespaces  کاری کنیم که Type هایی که تعریف شده اند، Unique شوند.
چیزی شبیه به کاری که در Class Hierarchy اتفاق می افتد. فرض کنید که دو Schema با نامهای A و B داریم که Name space آنها www.pam.com و یک Schemaی دیگر با نام C داریم که Namespace آن www.P2P.com است. حالا برای استفاده از Type هایی که در این سه Schema تعریف شده اند، یا به عبارت دیگر برای تعریف یک Sub Class در مفاهیم Object Oriented می توان دو Schemaی A وB را Import کرد و C را Redefine . به این ترتیب Type های مختلف با هم اشتباه نمی شوند و از طرف دیگر می توان از مزایای Object Oriented هم استفاده کرد.

----------

