یکی دیگر از مباحثی که در زبان برنامه نویسی XML مورد بررسی قرار خواهیم داد Namespaces ها  هستند که در ادامه این مطلب توضیحاتی در این زمینه آماده شده است.

از Namespaces در XML ، برای جلوگیری از تداخل و شباهت اسمی تگ ها استفاده می شود . 

همانطور که در بخش های قبلی با ساختار کد نویسی XML آشنا شدید ، مشاهده کردید که تگ های XML هیچ کدام از قبل تعریف شده نیستند و کاربر بنا بر سلیقه خود ، تگ های مورد نیازش را تعیین می کند .
بنابراین هر کاربر اسم های دلخواه و متفاوتی را برای تگ های خود در نظر می گیرد . حال زمانی که بخواهید فرضا دو سند XML را با هم ترکیب نمایید ، ممکن است تگ هایی با اسم مشابه در آنها وجود داشته باشد . در این حالت تداخل و مشابهت اسمی به وجود آمده و برنامه در اجرای فایل XML دچار مشکل می شود .
برای مثال دو سند XML زیر را در نظر بگیرید . سند اول حاوی تگی به نام < table > همانند یک عنصر جدول در HTML و سند دوم شامل تگ < table > به عنوان میز و بخشی از اثاثیه خانه می باشد .
در صورتی که این دو سند را با هم ترکیب نماییم ، یک مشابهت اسمی بین تگ ها به وجود می آید و دارای ۲ تگ < table > خواهیم بود . در این حالت برنامه نمی تواند فرق آنها را تشخیص داده و دچار مشکل می شود .
راه حل این مسئله ، استفاده از Namespaces ها است ، در ادامه به بررسی آن خواهیم پرداخت .

سند اول

<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
<tr/>
<table/>

سند دوم

<table>
<name>African Coffee Table</name>
<width>70</width>
<length>120</length>
<table/>