## org.springframework.util.xml
Class StaxUtils

    java.lang.Object
      org.springframework.util.xml.StaxUtils

    public abstract class StaxUtils

extends Object

Convenience methods for working with the StAX API.

In particular, methods for using StAX (`javax.xml.stream`) in combination with the TrAX API (`javax.xml.transform`), and converting StAX readers/writers into SAX readers/handlers and vice-versa.

Since:
  3.0
Author:
  Arjen Poutsma, Juergen Hoeller

Constructor Summary
`StaxUtils()`

Method Summary
`static ContentHandler` `createContentHandler(XMLEventWriter eventWriter)` Create a SAX `ContentHandler` that writes events to the given StAX `XMLEventWriter`.
`static ContentHandler` `createContentHandler(XMLStreamWriter streamWriter)` Create a SAX `ContentHandler` that writes to the given StAX `XMLStreamWriter`.
`static Result` `createCustomStaxResult(XMLEventWriter eventWriter)` Create a custom, non-JAXP 1.4 StAX `Result` for the given `XMLEventWriter`.
`static Result` `createCustomStaxResult(XMLStreamWriter streamWriter)` Create a custom, non-JAXP 1.4 StAX `Result` for the given `XMLStreamWriter`.
`static Source` `createCustomStaxSource(XMLEventReader eventReader)` Create a custom, non-JAXP 1.4 StAX `Source` for the given `XMLEventReader`.
`static Source` `createCustomStaxSource(XMLStreamReader streamReader)` Create a custom, non-JAXP 1.4 StAX `Source` for the given `XMLStreamReader`.
`static XMLStreamReader` `createEventStreamReader(XMLEventReader eventReader)` Return a `XMLStreamReader` that reads from a `XMLEventReader`.
`static XMLStreamWriter` `createEventStreamWriter(XMLEventWriter eventWriter, XMLEventFactory eventFactory)` Return a `XMLStreamWriter` that writes to a `XMLEventWriter`.
`static Result` `createStaxResult(XMLEventWriter eventWriter)` Create a StAX `Result` for the given `XMLEventWriter`.
`static Result` `createStaxResult(XMLStreamWriter streamWriter)` Create a StAX `Result` for the given `XMLStreamWriter`.
`static Source` `createStaxSource(XMLEventReader eventReader)` Create a StAX `Source` for the given `XMLEventReader`.
`static Source` `createStaxSource(XMLStreamReader streamReader)` Create a StAX `Source` for the given `XMLStreamReader`.
`static XMLReader` `createXMLReader(XMLEventReader eventReader)` Create a SAX `XMLReader` that reads from the given StAX `XMLEventReader`.
`static XMLReader` `createXMLReader(XMLStreamReader streamReader)` Create a SAX `XMLReader` that reads from the given StAX `XMLStreamReader`.
`static XMLEventReader` `getXMLEventReader(Source source)` Return the `XMLEventReader` for the given StAX Source.
`static XMLEventWriter` `getXMLEventWriter(Result result)` Return the `XMLEventWriter` for the given StAX Result.
`static XMLStreamReader` `getXMLStreamReader(Source source)` Return the `XMLStreamReader` for the given StAX Source.
`static XMLStreamWriter` `getXMLStreamWriter(Result result)` Return the `XMLStreamWriter` for the given StAX Result.
`static boolean` `isStaxResult(Result result)` Indicate whether the given `Result` is a StAX Result.
`static boolean` `isStaxSource(Source source)` Indicate whether the given `Source` is a StAX Source.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StaxUtils

    public StaxUtils()

Method Detail

### createCustomStaxSource

    public static Source createCustomStaxSource(XMLStreamReader streamReader)

  Create a custom, non-JAXP 1.4 StAX `Source` for the given `XMLStreamReader`.

  Parameters:
    `streamReader` - the StAX stream reader
  Returns:
    a source wrapping the `streamReader`

### createStaxSource

    public static Source createStaxSource(XMLStreamReader streamReader)

  Create a StAX `Source` for the given `XMLStreamReader`.

  If JAXP 1.4 is available, this method returns a `StAXSource`; otherwise it returns a custom StAX Source.

  Parameters:
    `streamReader` - the StAX stream reader
  Returns:
    a source wrapping the `streamReader`
  See Also:
    `createCustomStaxSource(XMLStreamReader)`

### createCustomStaxSource

    public static Source createCustomStaxSource(XMLEventReader eventReader)

  Create a custom, non-JAXP 1.4 StAX `Source` for the given `XMLEventReader`.

  Parameters:
    `eventReader` - the StAX event reader
  Returns:
    a source wrapping the `eventReader`

### createStaxSource

    public static Source createStaxSource(XMLEventReader eventReader)
                                   throws XMLStreamException

  Create a StAX `Source` for the given `XMLEventReader`.

  If JAXP 1.4 is available, this method returns a `StAXSource`; otherwise it returns a custom StAX Source.

  Parameters:
    `eventReader` - the StAX event reader
  Returns:
    a source wrapping the `eventReader`
  Throws:
    `XMLStreamException` - in case of StAX errors
  See Also:
    `createCustomStaxSource(XMLEventReader)`

### isStaxSource

    public static boolean isStaxSource(Source source)

  Indicate whether the given `Source` is a StAX Source.

  Returns:
    `true` if `source` is a custom StAX source or JAXP 1.4 `StAXSource`; `false` otherwise.

### createCustomStaxResult

    public static Result createCustomStaxResult(XMLStreamWriter streamWriter)

  Create a custom, non-JAXP 1.4 StAX `Result` for the given `XMLStreamWriter`.

  Parameters:
    `streamWriter` - the StAX stream writer
  Returns:
    a source wrapping the `streamWriter`

### createStaxResult

    public static Result createStaxResult(XMLStreamWriter streamWriter)

  Create a StAX `Result` for the given `XMLStreamWriter`.

  If JAXP 1.4 is available, this method returns a `StAXResult`; otherwise it returns a custom StAX Result.

  Parameters:
    `streamWriter` - the StAX stream writer
  Returns:
    a result wrapping the `streamWriter`
  See Also:
    `createCustomStaxResult(XMLStreamWriter)`

### createCustomStaxResult

    public static Result createCustomStaxResult(XMLEventWriter eventWriter)

  Create a custom, non-JAXP 1.4 StAX `Result` for the given `XMLEventWriter`.

  Parameters:
    `eventWriter` - the StAX event writer
  Returns:
    a source wrapping the `eventWriter`

### createStaxResult

    public static Result createStaxResult(XMLEventWriter eventWriter)
                                   throws XMLStreamException

  Create a StAX `Result` for the given `XMLEventWriter`.

  If JAXP 1.4 is available, this method returns a `StAXResult`; otherwise it returns a custom StAX Result.

  Parameters:
    `eventWriter` - the StAX event writer
  Returns:
    a result wrapping `streamReader`
  Throws:
    `XMLStreamException` - in case of StAX errors
  See Also:
    `createCustomStaxResult(XMLEventWriter)`

### isStaxResult

    public static boolean isStaxResult(Result result)

  Indicate whether the given `Result` is a StAX Result.

  Returns:
    `true` if `result` is a custom Stax Result or JAXP 1.4 `StAXResult`; `false` otherwise.

### getXMLStreamReader

    public static XMLStreamReader getXMLStreamReader(Source source)

  Return the `XMLStreamReader` for the given StAX Source.

  Parameters:
    `source` - a custom StAX Source or JAXP 1.4 `StAXSource`
  Returns:
    the `XMLStreamReader`
  Throws:
    `IllegalArgumentException` - if `source` is neither a custom StAX Source nor JAXP 1.4 `StAXSource`

### getXMLEventReader

    public static XMLEventReader getXMLEventReader(Source source)

  Return the `XMLEventReader` for the given StAX Source.

  Parameters:
    `source` - a custom StAX Source or JAXP 1.4 `StAXSource`
  Returns:
    the `XMLEventReader`
  Throws:
    `IllegalArgumentException` - if `source` is neither a custom StAX Source nor a JAXP 1.4 `StAXSource`

### getXMLStreamWriter

    public static XMLStreamWriter getXMLStreamWriter(Result result)

  Return the `XMLStreamWriter` for the given StAX Result.

  Parameters:
    `result` - a custom StAX Result or JAXP 1.4 `StAXResult`
  Returns:
    the `XMLStreamReader`
  Throws:
    `IllegalArgumentException` - if `source` is neither a custom StAX Result nor a JAXP 1.4 `StAXResult`

### getXMLEventWriter

    public static XMLEventWriter getXMLEventWriter(Result result)

  Return the `XMLEventWriter` for the given StAX Result.

  Parameters:
    `result` - a custom StAX Result or JAXP 1.4 `StAXResult`
  Returns:
    the `XMLStreamReader`
  Throws:
    `IllegalArgumentException` - if `source` is neither a custom StAX Result nor a JAXP 1.4 `StAXResult`

### createContentHandler

    public static ContentHandler createContentHandler(XMLStreamWriter streamWriter)

  Create a SAX `ContentHandler` that writes to the given StAX `XMLStreamWriter`.

  Parameters:
    `streamWriter` - the StAX stream writer
  Returns:
    a content handler writing to the `streamWriter`

### createContentHandler

    public static ContentHandler createContentHandler(XMLEventWriter eventWriter)

  Create a SAX `ContentHandler` that writes events to the given StAX `XMLEventWriter`.

  Parameters:
    `eventWriter` - the StAX event writer
  Returns:
    a content handler writing to the `eventWriter`

### createXMLReader

    public static XMLReader createXMLReader(XMLStreamReader streamReader)

  Create a SAX `XMLReader` that reads from the given StAX `XMLStreamReader`.

  Parameters:
    `streamReader` - the StAX stream reader
  Returns:
    a XMLReader reading from the `streamWriter`

### createXMLReader

    public static XMLReader createXMLReader(XMLEventReader eventReader)

  Create a SAX `XMLReader` that reads from the given StAX `XMLEventReader`.

  Parameters:
    `eventReader` - the StAX event reader
  Returns:
    a XMLReader reading from the `eventWriter`

### createEventStreamReader

    public static XMLStreamReader createEventStreamReader(XMLEventReader eventReader)
                                                   throws XMLStreamException

  Return a `XMLStreamReader` that reads from a `XMLEventReader`. Useful, because the StAX `XMLInputFactory` allows one to create a event reader from a stream reader, but not vice-versa.

  Returns:
    a stream reader that reads from an event reader
  Throws:
    `XMLStreamException`

### createEventStreamWriter

    public static XMLStreamWriter createEventStreamWriter(XMLEventWriter eventWriter,
                                                          XMLEventFactory eventFactory)

  Return a `XMLStreamWriter` that writes to a `XMLEventWriter`.

  Returns:
    a stream writer that writes to an event writer
  Since:
    3.0.5