# The Book

## Chapter 1.

Yada yada yada.

function list(node) { var type = node.nodeType; if (type == Node.ELEMENT_NODE) { // open tag dump("\<" + node.tagName); // dump the attributes if any attributes = node.attributes; if (null != attributes) { var countAttrs = attributes.length; var index = 0; while(index < countAttrs) { att = attributes[index]; if (null != att) { dump(" " + att.name + "=" + att.value); } index++; } } // recursively dump the children if (node.hasChildNodes()) { // close tag dump(">"); // get the children var children = node.childNodes; var length = children.length; var count = 0; while(count < length) { child = children[count]; list(child); count++; } dump("</" + node.tagName + ">"); } else { // close tag dump("/>"); } } // if it's a piece of text just dump the text else if (type == Node.TEXT_NODE) { dump(node.data); } } list(document.documentElement); dump("\n");