Ответ 1
Из W3Schools:
Атрибут xmlns указывает пространство имен xml для документа.
Это в основном помогает избежать конфликтов пространства имен между различными XML-документами, если, например, разработчик микширует XML-документы из разных xml-приложений.
Пример этого (также с веб-сайта W3):
XML-данные для определения таблицы html:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
XML-данные для определения информации о кофейном столике
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Здесь есть два элемента таблицы, которые могут вызвать конфликт. Чтобы исправить это, вы можете добавить пространство имен, чтобы указать, какая часть информации определяет таблицу html и которая содержит информацию о журнальном столике:
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>