1 16 package org.outerj.daisy.repository.testsupport; 17 18 import org.w3c.dom.Document ; 19 import org.w3c.dom.Node ; 20 import org.xml.sax.ContentHandler ; 21 import org.xml.sax.SAXException ; 22 import org.xml.sax.Locator ; 23 import org.xml.sax.Attributes ; 24 25 import javax.xml.transform.dom.DOMResult ; 26 import javax.xml.transform.sax.SAXTransformerFactory ; 27 import javax.xml.transform.sax.TransformerHandler ; 28 29 32 public class DOMBuilder implements ContentHandler { 33 private TransformerHandler handler; 34 private DOMResult result; 35 36 public DOMBuilder() throws Exception { 37 SAXTransformerFactory factory = (SAXTransformerFactory )SAXTransformerFactory.newInstance(); 38 handler = factory.newTransformerHandler(); 39 result = new DOMResult (); 40 handler.setResult(result); 41 } 42 43 public Document getDocument() { 44 return (Document )result.getNode(); 45 } 46 47 public Node getNode() { 48 return result.getNode(); 49 } 50 51 public void endDocument() throws SAXException { 52 handler.endDocument(); 53 } 54 55 public void startDocument () throws SAXException { 56 handler.startDocument(); 57 } 58 59 public void characters (char ch[], int start, int length) throws SAXException { 60 handler.characters(ch, start, length); 61 } 62 63 public void ignorableWhitespace (char ch[], int start, int length) throws SAXException { 64 handler.ignorableWhitespace(ch, start, length); 65 } 66 67 public void endPrefixMapping (String prefix) throws SAXException { 68 handler.endPrefixMapping(prefix); 69 } 70 71 public void skippedEntity (String name) throws SAXException { 72 handler.skippedEntity(name); 73 } 74 75 public void setDocumentLocator (Locator locator) { 76 handler.setDocumentLocator(locator); 77 } 78 79 public void processingInstruction (String target, String data) throws SAXException { 80 handler.processingInstruction(target, data); 81 } 82 83 public void startPrefixMapping (String prefix, String uri) throws SAXException { 84 handler.startPrefixMapping(prefix, uri); 85 } 86 87 public void endElement (String namespaceURI, String localName, String qName) throws SAXException { 88 handler.endElement(namespaceURI, localName, qName); 89 } 90 91 public void startElement (String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { 92 handler.startElement(namespaceURI, localName, qName, atts); 93 } 94 95 } 96 | Popular Tags |