/** * Returns a SAX {@code ContentHandler} that transforms callback calls to DOM {@code Node}s. * @param node the node to publish events to * @return the content handler */ public static ContentHandler createContentHandler(Node node) { return new DomContentHandler(node); }
@Override public void processingInstruction(String target, String data) { Node parent = getParent(); ProcessingInstruction pi = this.document.createProcessingInstruction(target, data); parent.appendChild(pi); }
@Override public void startElement(String uri, String localName, String qName, Attributes attributes) { Node parent = getParent(); Element element = this.document.createElementNS(uri, qName); for (int i = 0; i < attributes.getLength(); i++) { String attrUri = attributes.getURI(i); String attrQname = attributes.getQName(i); String value = attributes.getValue(i); if (!attrQname.startsWith("xmlns")) { element.setAttributeNS(attrUri, attrQname, value); } } element = (Element) parent.appendChild(element); this.elements.add(element); }
/** * Returns a SAX {@code ContentHandler} that transforms callback calls to DOM {@code Node}s. * @param node the node to publish events to * @return the content handler */ public static ContentHandler createContentHandler(Node node) { return new DomContentHandler(node); }
@Override public void processingInstruction(String target, String data) { Node parent = getParent(); ProcessingInstruction pi = this.document.createProcessingInstruction(target, data); parent.appendChild(pi); }
@Test public void contentHandlerDocumentNamespacePrefixes() throws Exception { xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true); handler = new DomContentHandler(result); expected = documentBuilder.parse(new InputSource(new StringReader(XML_1))); xmlReader.setContentHandler(handler); xmlReader.parse(new InputSource(new StringReader(XML_1))); assertThat("Invalid result", result, isSimilarTo(expected)); }
@Override public void characters(char[] ch, int start, int length) { String data = new String(ch, start, length); Node parent = getParent(); Node lastChild = parent.getLastChild(); if (lastChild != null && lastChild.getNodeType() == Node.TEXT_NODE) { ((Text) lastChild).appendData(data); } else { Text text = this.document.createTextNode(data); parent.appendChild(text); } }
@Test public void contentHandlerDocumentNoNamespacePrefixes() throws Exception { handler = new DomContentHandler(result); expected = documentBuilder.parse(new InputSource(new StringReader(XML_1))); xmlReader.setContentHandler(handler); xmlReader.parse(new InputSource(new StringReader(XML_1))); assertThat("Invalid result", result, isSimilarTo(expected)); }
@Override public void startElement(String uri, String localName, String qName, Attributes attributes) { Node parent = getParent(); Element element = this.document.createElementNS(uri, qName); for (int i = 0; i < attributes.getLength(); i++) { String attrUri = attributes.getURI(i); String attrQname = attributes.getQName(i); String value = attributes.getValue(i); if (!attrQname.startsWith("xmlns")) { element.setAttributeNS(attrUri, attrQname, value); } } element = (Element) parent.appendChild(element); this.elements.add(element); }
@Test public void contentHandlerElement() throws Exception { Element rootElement = result.createElementNS("namespace", "root"); result.appendChild(rootElement); handler = new DomContentHandler(rootElement); expected = documentBuilder.parse(new InputSource(new StringReader(XML_2_EXPECTED))); xmlReader.setContentHandler(handler); xmlReader.parse(new InputSource(new StringReader(XML_2_SNIPPET))); assertThat("Invalid result", result, isSimilarTo(expected)); }
@Override public void characters(char[] ch, int start, int length) { String data = new String(ch, start, length); Node parent = getParent(); Node lastChild = parent.getLastChild(); if (lastChild != null && lastChild.getNodeType() == Node.TEXT_NODE) { ((Text) lastChild).appendData(data); } else { Text text = this.document.createTextNode(data); parent.appendChild(text); } }
/** * Returns a SAX <code>ContentHandler</code> that transforms callback calls to DOM <code>Node</code>s. * * @param node the node to publish events to * @return the content handler */ public static ContentHandler createContentHandler(Node node) { return new DomContentHandler(node); }
public void processingInstruction(String target, String data) throws SAXException { Node parent = getParent(); ProcessingInstruction pi = document.createProcessingInstruction(target, data); parent.appendChild(pi); }
/** * Returns a SAX {@code ContentHandler} that transforms callback calls to DOM {@code Node}s. * @param node the node to publish events to * @return the content handler */ public static ContentHandler createContentHandler(Node node) { return new DomContentHandler(node); }
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { Node parent = getParent(); Element element = document.createElementNS(uri, qName); for (int i = 0; i < attributes.getLength(); i++) { String attrUri = attributes.getURI(i); String attrQname = attributes.getQName(i); String value = attributes.getValue(i); if (!attrQname.startsWith("xmlns")) { element.setAttributeNS(attrUri, attrQname, value); } } element = (Element) parent.appendChild(element); elements.add(element); }
/** * Returns a SAX {@code ContentHandler} that transforms callback calls to DOM {@code Node}s. * @param node the node to publish events to * @return the content handler */ public static ContentHandler createContentHandler(Node node) { return new DomContentHandler(node); }
public void characters(char ch[], int start, int length) throws SAXException { String data = new String(ch, start, length); Node parent = getParent(); Node lastChild = parent.getLastChild(); if (lastChild != null && lastChild.getNodeType() == Node.TEXT_NODE) { ((Text) lastChild).appendData(data); } else { Text text = document.createTextNode(data); parent.appendChild(text); } }
@Override public void processingInstruction(String target, String data) { Node parent = getParent(); ProcessingInstruction pi = this.document.createProcessingInstruction(target, data); parent.appendChild(pi); }
@Override public void processingInstruction(String target, String data) { Node parent = getParent(); ProcessingInstruction pi = this.document.createProcessingInstruction(target, data); parent.appendChild(pi); }
@Override public void startElement(String uri, String localName, String qName, Attributes attributes) { Node parent = getParent(); Element element = this.document.createElementNS(uri, qName); for (int i = 0; i < attributes.getLength(); i++) { String attrUri = attributes.getURI(i); String attrQname = attributes.getQName(i); String value = attributes.getValue(i); if (!attrQname.startsWith("xmlns")) { element.setAttributeNS(attrUri, attrQname, value); } } element = (Element) parent.appendChild(element); this.elements.add(element); }