DOM - Node Object Method - normalize


Advertisements

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

Syntax

Following is the syntax for the usage of the normalize method.

nodeobject.normalize();

This method has no parameters and no return value.

Example

node.xml contents are as below −

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

Following example demonstrates 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>

Execution

Save this file as nodemethod_normalise.htm on the server path (this file and node.xml should be on the same path in your server). We will get the output as shown 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 
dom_node_object.htm

Useful Video Courses


Video

Decision Trees, Random Forests, AdaBoost & XGBoost in R

33 Lectures 3.5 hours

Abhishek And Pukhraj

Video

SEO Secrets of Google: Expired Domains & 301 Redirects

15 Lectures 1 hours

Zach Miller

Video

Mental Freedom: From PAIN To POWER

15 Lectures 4 hours

Prof. Paul Cline, Ed.D

Video

Mental Freedom: Freedom From Pain

13 Lectures 4 hours

Prof. Paul Cline, Ed.D

Video

JavaScript DOM Game - Deal making game using JavaScript only

17 Lectures 2 hours

Laurence Svekis

Advertisements