| <!DOCTYPE html> |
| <html> |
| <head> |
| <script> |
| function performTest() |
| { |
| removeWhitespaceAndCommentNodes(document.body); |
| var result = new Array(); |
| var current = document.body; |
| var indent = ""; |
| while (current != null) { |
| result.push(indent+"Current "+stringForNode(current)); |
| current = nextNode(current,entering,exiting); |
| } |
| return result.join("\n"); |
| |
| function entering(node) |
| { |
| result.push(indent+"Entering "+stringForNode(node)); |
| indent += " "; |
| } |
| |
| function exiting(node) |
| { |
| indent = indent.substring(0,indent.length-4); |
| result.push(indent+"Exiting "+stringForNode(node)); |
| } |
| |
| function stringForNode(node) |
| { |
| if ((node.nodeType == Node.ELEMENT_NODE) && (node.hasAttribute("id"))) |
| return node.getAttribute("id"); |
| else if (node.nodeType == Node.TEXT_NODE) |
| return node.nodeValue; |
| else |
| return node.nodeName; |
| } |
| } |
| </script> |
| </head> |
| <body> |
| |
| <div id="n1"> |
| <p id="n2"> |
| <span id="n3">n4</span> |
| <span id="n5">n6</span> |
| </p> |
| <p id="n7"> |
| <span id="n8"></span> |
| <span id="n9"></span> |
| </p> |
| <p id="n10"> |
| <span id="n11"></span> |
| </p> |
| <p id="n12"> |
| </p> |
| </div> |
| |
| <div id="n13"> |
| <p id="n14"> |
| </p> |
| <p id="n15"> |
| <span id="n16"></span> |
| </p> |
| <p id="n17"> |
| <span id="n18"></span> |
| <span id="n19"></span> |
| </p> |
| <p id="n20"> |
| <span id="n21">n22</span> |
| <span id="n23">n24</span> |
| </p> |
| </div> |
| |
| </body> |
| </html> |