Create new attribute node with an associated namespace

# DOMDocument::createAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::createAttributeNS — Create new attribute node with an associated namespace

### Description

public DOMDocument::createAttributeNS(?string `$namespace`, string `$qualifiedName`): DOMAttr|false

This function creates a new instance of class DOMAttr. This node will not show up in the document unless it is inserted with (e.g.) DOMNode::appendChild().

### Parameters

`namespace`

  The URI of the namespace.

`qualifiedName`

  The tag name and prefix of the attribute, as `prefix:tagname`.

### Return Values

The new DOMAttr or `false` if an error occurred.

### Errors/Exceptions

May throw a DOMException with the following error codes:

`DOM_INVALID_CHARACTER_ERR`

  Raised if `qualifiedName` contains an invalid character.

`DOM_NAMESPACE_ERR`

  Raised if `qualifiedName` is a malformed qualified name, or if `qualifiedName` has a prefix and `namespace` is `null`.

### Changelog

Version | Description
--- | ---
8.3.0 | Calling this method without specifying a prefix will now choose a prefix instead of assuming the default namespace. Previously this would create an attribute without a prefix and incorrectly apply the namespace to the owner element because default namespaces don't apply on attributes.
8.3.0 | Calling this method using a prefix that was already declared on the owner element with a different namespace URI will now change the new prefix to avoid creating namespace conflicts. This aligns the behaviour with the DOM specification. Previously this threw a DOMException with code `DOM_NAMESPACE_ERR`.

### See Also

- DOMNode::appendChild() - Adds new child at the end of the children
- DOMDocument::createAttribute() - Create new attribute
- DOMDocument::createCDATASection() - Create new cdata node
- DOMDocument::createComment() - Create new comment node
- DOMDocument::createDocumentFragment() - Create new document fragment
- DOMDocument::createElement() - Create new element node
- DOMDocument::createElementNS() - Create new element node with an associated namespace
- DOMDocument::createEntityReference() - Create new entity reference node
- DOMDocument::createProcessingInstruction() - Creates new PI node
- DOMDocument::createTextNode() - Create new text node

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open