/** * This will output a list of JDOM nodes as a document, firing off the SAX events that have been * registered. * * <p><strong>Warning</strong>: This method may output ill-formed XML documents if the list * contains top-level objects that are not legal at the document level (e.g. Text or CDATA nodes, * multiple Element nodes, etc.). Thus, it should only be used to output document portions towards * ContentHandlers capable of accepting such ill-formed documents (such as XSLT processors). * * @param nodes <code>List</code> of JDOM nodes to output. * @throws JDOMException if any error occurred. * @see #output(org.jdom.Document) */ public void output(List nodes) throws JDOMException { if ((nodes == null) || (nodes.size() == 0)) { return; } // contentHandler.setDocumentLocator() documentLocator(null); // contentHandler.startDocument() startDocument(); // Process node list. elementContent(nodes, new NamespaceStack()); // contentHandler.endDocument() endDocument(); }
/** * This will output a single JDOM element as a document, firing off the SAX events that have been * registered. * * @param node the <code>Element</code> node to output. * @throws JDOMException if any error occurred. */ public void output(Element node) throws JDOMException { if (node == null) { return; } // contentHandler.setDocumentLocator() documentLocator(null); // contentHandler.startDocument() startDocument(); // Output node. elementContent(node, new NamespaceStack()); // contentHandler.endDocument() endDocument(); }
/** * This will output the <code>JDOM Document</code>, firing off the SAX events that have been * registered. * * @param document <code>JDOM Document</code> to output. * @throws JDOMException if any error occurred. */ public void output(Document document) throws JDOMException { if (document == null) { return; } // contentHandler.setDocumentLocator() documentLocator(document); // contentHandler.startDocument() startDocument(); // Fire DTD events if (this.reportDtdEvents) { dtdEvents(document); } // Handle root element, as well as any root level // processing instructions and comments Iterator i = document.getContent().iterator(); while (i.hasNext()) { Object obj = i.next(); // update locator locator.setNode(obj); if (obj instanceof Element) { // process root element and its content element(document.getRootElement(), new NamespaceStack()); } else if (obj instanceof ProcessingInstruction) { // contentHandler.processingInstruction() processingInstruction((ProcessingInstruction) obj); } else if (obj instanceof Comment) { // lexicalHandler.comment() comment(((Comment) obj).getText()); } } // contentHandler.endDocument() endDocument(); }