Open In App

PHP | DOMElement setIdAttributeNS() Function

Last Updated : 26 Feb, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

The DOMElement::setIdAttributeNS() function is an inbuilt function in PHP which is used to declare the attribute specified by given local name and namespace URI to be of type ID.

Syntax:

void DOMElement::setIdAttributeNS( string $namespaceURI, 
string $localName, bool $isId )

Parameters: This function accept three parameters as mentioned above and described below:

  • $namespaceURI: It specifies the namespace URI.
  • $localName: It specifies the local name.
  • $isId: It specifies whether if you want name to be of type ID.

Return Value: This function returns nothing.

Exceptions: This function throws DOM_NO_MODIFICATION_ALLOWED_ERR, if the node is readonly or DOM_NOT_FOUND, if name is not an attribute of this element.

Below examples illustrate the DOMElement::setIdAttributeNS() function in PHP:

Example 1:




<?php
  
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Enable validate on parse
$dom->validateOnParse = true;
    
// Create an element
$element = $dom->createElementNS("my_namespace", "x:p"
                         'Hello, this is my paragraph.');
    
// Add the node to the dom
$newnode = $dom->appendChild($element);
    
// Set the attribute
$newnode->setAttributeNS("my_namespace", "id", "my_value");
  
// Set that attribute as id
$element->setIDAttributeNS("my_namespace", 'id', true);
    
echo $dom->saveXML();
?>


Output: You can press Ctrl+U to see the DOM.

Example 2:




<?php
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Enable validate on parse
$dom->validateOnParse = true;
    
// Create an element
$element = $dom->createElementNS("my_namespace", "x:p"
                                       'GeeksforGeeks');
    
// Add the node to the dom
$newnode = $dom->appendChild($element);
    
// Set the attribute
$newnode->setAttributeNS("my_namespace", "id",
                                       "geeksforgeeks");
  
// Set that attribute as id
$element->setIDAttributeNS("my_namespace", 'id', true);
  
// Get the text of element with id='geeksforgeeks'
// just to see if it works
$value = $dom->getElementById('geeksforgeeks')->textContent;
echo $value;
?>


Output:

GeeksforGeeks

Reference: https://www.php.net/manual/en/domelement.setidattributens.php



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads