numerous initial enhancements
changed deprecated Attr.getNodeValue() to Attr.getValue()
different approach for pretty printer