La función DOMElement::setAttributeNS() es una función incorporada en PHP que se usa para establecer un atributo con el espacio de nombres y el nombre dados en el valor dado. Si el atributo no existe, se creará.
Sintaxis:
void DOMElement::setAttributeNS( string $namespaceURI, string $qualifiedName, string $value )
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- $namespaceURI: Especifica la URI del espacio de nombres.
- $qualifiedName: Especifica el nombre del atributo.
- $value: Especifica el valor del atributo.
Valor devuelto: esta función no devuelve nada.
Excepciones: esta función arroja DOM_NO_MODIFICATION_ALLOWED_ERR, si el Node es de solo lectura o DOM_NAMESPACE_ERR, si $qualifiedName es un nombre calificado con formato incorrecto o si $qualifiedName tiene un prefijo y namespaceURI es NULL.
Los siguientes ejemplos ilustran la función DOMElement::setAttributeNS() en PHP:
Ejemplo 1:
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Create an element $node = $dom->createElementNS("my_namespace", "x:p", 'Hello, this is my paragraph.'); // Add the node to the dom $newnode = $dom->appendChild($node); // Set the attribute $newnode->setAttributeNS("my_namespace", "id", "my_value"); echo $dom->saveXML(); ?>
Salida: puede presionar Ctrl + U para ver el DOM.
Ejemplo 2:
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Create an element $node = $dom->createElementNS("my_namespace", "x:p", 'Hello, this is my paragraph.'); // Add the node to the dom $newnode = $dom->appendChild($node); echo "Before the addition of attributes: <br>"; // Get the attribute count $attributeCount = $node->attributes->count(); echo 'No of attributes => ' . $attributeCount; // Set the attribute with a namespace $newnode->setAttributeNS("my_namespace", "style", "color:blue"); echo "<br>After the addition of attributes: <br>"; // Get the attribute count $attributeCount = $node->attributes->count(); echo 'No of attributes => ' . $attributeCount; ?>
Producción:
Before the addition of attributes: No of attributes => 0 After the addition of attributes: No of attributes => 1
Referencia: https://www.php.net/manual/en/domelement.setattributens.php