Пространства имен в разметке помечены синтаксисом namespace:element
(или namespace:attribute
в этом отношении). Методы DOM createElementNS
и setAttributeNS
не нуждаются в этом синтаксисе для создания элементов в данном пространстве имен, а потому что синтаксис разметкипозволяет, они все равно распознают и игнорируют его.
Так что при строковом оформлении документа вы можете иметь
<html xmlns:form="http://www.w3.org/1999/xhtml">
<form:form></form>
</html>
вместо некоторых трудных для чтения
<html xmlns:NS0="http://www.w3.org/1999/xhtml">
<NS0:form></form>
</html>
Однако методы
createElement
и setAttribute
не распознают этот синтаксис и действительно создадут элемент <xmlns:form:form></form>
.