Returns a copy of this DocumentPrinter that omits XML declarations
Returns a copy of this DocumentPrinter that omits XML declarations
Converts the Document to a String.
Converts the Document to a String. May use a lot of memory for large XML documents.
To have more control over the character encoding of the output, when converting the String to bytes
(and of the encoding mentioned in the XML declaration, if any), consider using one of the other overloaded
print methods taking a Document.
Serializes the Document to an output stream, using the given encoding.
Serializes the Document to an output stream, using the given encoding.
This method should close the output stream afterwards.
May use a lot of memory for large XML documents, although not as much as the print method that returns a byte array.
Converts the Elem to a String, omitting the XML declaration.
Converts the Elem to a String, omitting the XML declaration. May use a lot of memory for large XML documents.
To have more control over the character encoding of the output, when converting the String to bytes
(and of the encoding mentioned in the XML declaration, if any), consider using one of the other overloaded
print methods taking an Elem.
Serializes the Elem to an output stream, omitting the XML declaration.
Serializes the Elem to an output stream, omitting the XML declaration.
This method should close the output stream afterwards.
Converts the Elem to a byte array, omitting the XML declaration
Converts the Elem to a byte array, omitting the XML declaration
Converts the Document to a byte array, using the given encoding.
Converts the Document to a byte array, using the given encoding. May use a lot of memory for large XML documents.
Returns an adapted copy having the passed DocumentConverter.
Returns an adapted copy having the passed DocumentConverter. This method makes it possible to use an adapted document converter, which may be needed depending on the JAXP implementation used.
Depending on the StAX implementation used, it may be needed to use a specific document converter for a given output encoding. See for example http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6452107.
In that case, consider passing the following document converter, for encoding enc:
new YaidomToStaxEventsConversions { override def encoding: String = enc }
For a nice StAX tutorial, see http://docs.oracle.com/cd/E13222_01/wls/docs90/xml/stax.html.
StAX-based
Documentprinter.Note: this XML printer does not pretty-print!
If more flexibility is needed in configuring the
DocumentPrinterthan offered by this class, consider writing a wrapperDocumentPrinterwhich wraps aDocumentPrinterUsingStax, but adapts theprintmethod. This would make it possible to adapt the conversion from a yaidomDocumentto StAX events, for example.A
DocumentPrinterUsingStaxinstance can be re-used multiple times, from the same thread. If theXMLEventFactoryandXMLOutputFactoryare thread-safe, it can even be re-used from multiple threads. Typically these objects cannot be trusted to be thread-safe, however. In a web application, one (safe) way to deal with that is to use oneXMLEventFactoryandXMLOutputFactoryinstance per request.