# DOMDocument::createAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::createAttributeNS — Crée un nouvel attribut avec un espace de noms associé

### Description

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

Cette fonction crée une nouvelle instance de la classe DOMAttr. Ce nœud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode::appendChild().

### Liste de paramètres

`namespace`

  L'URI de l'espace de noms.

`qualifiedName`

  Le nom de la balise et le préfixe de l'attribut, sous cette forme : `préfixe:nomBalise`.

### Valeurs de retour

Le nouveau DOMAttr ou `false` si une erreur survient.

### Erreurs / Exceptions

`DOM_INVALID_CHARACTER_ERR`

  Lancé si `qualifiedName` contient un caractère invalide.

`DOM_NAMESPACE_ERR`

  Lancé si `qualifiedName` est un nom qualifié malformé ou si `qualifiedName` a un suffixe et que `namespace` est `null`.

### Historique

Version | Description
--- | ---
8.3.0 | Appeler cette méthode sans spécifier un préfixe choisira désormais un préfixe au lieu de supposer l'espace de noms par défaut. Auparavant, cela créait un attribut sans préfixe et appliquait incorrectement l'espace de noms à l'élément propriétaire car les espaces de noms par défaut ne s'appliquent pas aux attributs.
8.3.0 | Appeler cette méthode en utilisant un préfixe déjà déclaré sur l'élément propriétaire avec un URI d'espace de noms différent changera désormais le nouveau préfixe pour éviter de créer des conflits d'espace de noms. Cela aligne le comportement sur la spécification du DOM. Auparavant, cela déclenchait une DOMException avec le code `DOM_NAMESPACE_ERR`.

### Voir aussi

- DOMNode::appendChild() - Ajoute un nouveau fils à la fin des fils
- DOMDocument::createAttribute() - Crée un nouvel attribut
- DOMDocument::createCDATASection() - Crée un nouveau nœud cdata
- DOMDocument::createComment() - Crée un nouveau nœud de commentaire
- DOMDocument::createDocumentFragment() - Crée un nouveau fragment de document
- DOMDocument::createElement() - Crée un nouveau nœud
- DOMDocument::createElementNS() - Crée un nouveau nœud avec un espace de noms associé
- DOMDocument::createEntityReference() - Crée un nouveau nœud de référence d'entité
- DOMDocument::createProcessingInstruction() - Crée un nouveau nœud PI
- DOMDocument::createTextNode() - Crée un nouveau nœud de texte