cziegeler 02/02/18 07:03:34 Modified: src/scratchpad/src/org/apache/cocoon/sunshine/xml XMLUtil.java Log: Removed obsolete methods Revision Changes Path 1.3 +4 -87 xml-cocoon2/src/scratchpad/src/org/apache/cocoon/sunshine/xml/XMLUtil.java Index: XMLUtil.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/sunshine/xml/XMLUtil.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- XMLUtil.java 18 Feb 2002 14:47:56 -0000 1.2 +++ XMLUtil.java 18 Feb 2002 15:03:34 -0000 1.3 @@ -99,7 +99,7 @@ * @deprecated Do not use this class! We will provide a better solution for most methods soon. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: XMLUtil.java,v 1.2 2002/02/18 14:47:56 cziegeler Exp $ + * @version CVS $Id: XMLUtil.java,v 1.3 2002/02/18 15:03:34 cziegeler Exp $ */ public final class XMLUtil { @@ -432,93 +432,10 @@ private static final String XML_ROOT_DEFINITION = XML_DEFINITION + "<root>"; /** - * Get a document fragment from an input stream. - * The Reader must not provide valid xml. This xml is parsed by the + * Get a document fragment from a <code>Reader</code>. + * The reader must provide valid XML, but it is allowed that the XML + * has more than one root node. This xml is parsed by the * specified parser instance and a DOM DocumentFragment is created. - */ - public static DocumentFragment getDocumentFragment(Reader stream, - Parser parser) - throws ProcessingException { - DocumentFragment frag = null; - - Writer writer; - Reader reader; - boolean removeRoot = true; - - try { - // create a writer, - // write the root element, then the input from the - // reader - writer = new StringWriter(); - - writer.write(XML_ROOT_DEFINITION); - char[] cbuf = new char[16384]; - int len; - do { - len = stream.read(cbuf, 0, 16384); - if (len != -1) { - writer.write(cbuf, 0, len); - } - } while (len != -1); - writer.write("</root>"); - - // now test if xml input start with <?xml - String xml = writer.toString(); - String searchString = XML_ROOT_DEFINITION+"<?xml "; - if (xml.startsWith(searchString) == true) { - // now remove the surrounding root element - xml = xml.substring(XML_ROOT_DEFINITION.length(), xml.length()-7); - removeRoot = false; - } - - reader = new StringReader(xml); - - InputSource input = new InputSource(reader); - - DOMBuilder builder = new DOMBuilder(); - builder.startDocument(); - builder.startElement("", "sunShine", "sunShine", new AttributesImpl()); - - IncludeFilter filter = new IncludeFilter(builder, builder); - parser.setContentHandler(filter); - parser.setLexicalHandler(filter); - parser.parse(input); - - builder.endElement("", "sunShine", "sunShine"); - builder.endDocument(); - - // Create Document Fragment, remove <root> - final Document doc = builder.getDocument(); - frag = doc.createDocumentFragment(); - final Node root = doc.getDocumentElement().getFirstChild(); - root.normalize(); - if (removeRoot == false) { - root.getParentNode().removeChild(root); - frag.appendChild(root); - } else { - Node child; - while (root.hasChildNodes() == true) { - child = root.getFirstChild(); - root.removeChild(child); - frag.appendChild(child); - } - } - - } catch (SAXException sax) { - throw new ProcessingException("SAXException: " + sax, sax); - } catch (IOException ioe) { - throw new ProcessingException("IOException: " + ioe, ioe); - } - - return frag; - } - - /** - * Get a document fragment from an input stream. - * The Reader must not provide valid xml. This xml is parsed by the - * configured JAXP SAX Parser and a DOM DocumentFragment is created. - * If you have the <code>Parser</code> instance available use - * getDocumentFragment(Reader, Parser) instead. */ public static DocumentFragment getDocumentFragment(Parser parser, Reader stream)
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]