XML DOM | normalize Method

XML DOM - normalize Method



Hello folks! welcome back to a new edition of our tutorial on XML DOM. In this tutorial, we are going to be studying about the XML DOM normalize Method.

The XML DOM normalize method adds all text nodes including attribute nodes which defines a normal form where the structure of the nodes which contains CDATA, entity references, elements, comments, sections, and processing Instructions separates the text nodes i.e. neither adjacent Text nodes nor empty Text nodes.

Syntax

The following below is the syntax to use the normalize Method -

nodeObject.normalize();

Parameter Details

This method has no parameters

Return Value

This XML DOM method returns no value.

Example

Following below are the node.xml contents -

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Kennedy</FirstName>
      <LastName>Nkpara</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>kennedynkpara@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Stephanie</FirstName>
      <LastName>Francis</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>stephaniefrancis@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Justice</FirstName>
      <LastName>Dauglas</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>justicedauglas@xyz.com</Email>
   </Employee>
</Company>


The following example illustrates the usage of the normalize method -

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");
         x = xmlDoc.createElement('Employee');
         x.appendChild( document.createTextNode("EmployeeA ") );
         x.appendChild( document.createTextNode("EmployeeB ") );

         document.write("<b>Before normalize</b><br>");
         document.write("<b>Child node length: </b>"+x.childNodes.length+"<br>");
         document.write("<b>First child node: </b>"+x.childNodes[0].textContent+"<br>");
         document.write("<b>Second child node: </b>"+x.childNodes[1].textContent+"<br>");

         x.normalize();
         document.write("<b>After normalize</b><br>");
         document.write("<b>Child node length: </b>"+x.childNodes.length+"<br>");
         document.write("<b>First child node: </b>"+x.childNodes[0].textContent+"<br>");
      </script>
   </body>
</html>

Output

Save file as nodemethod_normalize.html on the server's path (this file and node.xml should be on the same path in your server). This gives us the following output below -

Before normalize
Child node length: 2
First child node: EmployeeA
Second child node: EmployeeB
After normalize
Child node length: 1
First child node: EmployeeA EmployeeB 


Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we will be studying about XML DOM replaceChild Method.

Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.