Package commonj.sdo.helper

# Interface XMLHelper

public interface XMLHelper
A helper to convert XML documents into DataObects and DataObjects into XML documnets.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final XMLHelper`
`INSTANCE`
The default XMLHelper.

## Method Summary

Modifier and Type
Method
Description
`XMLDocument`
`createDocument(DataObject dataObject, String rootElementURI, String rootElementName)`
Creates an XMLDocument with the specified XML rootElement for the DataObject.
`XMLDocument`
`load(InputStream inputStream)`
Creates and returns an XMLDocument from the inputStream.
`XMLDocument`
`load(InputStream inputStream, String locationURI, Object options)`
Creates and returns an XMLDocument from the inputStream.
`XMLDocument`
`load(Reader inputReader, String locationURI, Object options)`
Creates and returns an XMLDocument from the inputReader.
`XMLDocument`
`load(String inputString)`
Creates and returns an XMLDocument from the input String.
`XMLDocument`
`load(Source inputSource, String locationURI, Object options)`
Creates and returns an XMLDocument from the inputSource.
`String`
`save(DataObject dataObject, String rootElementURI, String rootElementName)`
Returns the DataObject saved as an XML document with the specified root element.
`void`
`save(DataObject dataObject, String rootElementURI, String rootElementName, OutputStream outputStream)`
Saves the DataObject as an XML document with the specified root element.
`void`
`save(XMLDocument xmlDocument, OutputStream outputStream, Object options)`
Serializes an XMLDocument as an XML document into the outputStream.
`void`
`save(XMLDocument xmlDocument, Writer outputWriter, Object options)`
Serializes an XMLDocument as an XML document into the outputWriter.
`void`
`save(XMLDocument xmlDocument, Result outputResult, Object options)`
Serializes an XMLDocument as an XML document into the outputResult in a serialization technology independent format (as specified in javax.xml.transform).

## Field Details

### INSTANCE

static final XMLHelper INSTANCE
The default XMLHelper.

## Method Details

### load

XMLDocument load(String inputString)
Creates and returns an XMLDocument from the input String. By default does not perform XSD validation. Same as load(new StringReader(inputString), null, null);

Parameters:
  `inputString` - specifies the String to read from
Returns:
  the new XMLDocument loaded
Throws:
  `RuntimeException` - for errors in XML parsing or implementation-specific validation.

### load

XMLDocument load(InputStream inputStream) throws IOException
Creates and returns an XMLDocument from the inputStream. The InputStream will be closed after reading. By default does not perform XSD validation. Same as load(inputStream, null, null);

Parameters:
  `inputStream` - specifies the InputStream to read from
Returns:
  the new XMLDocument loaded
Throws:
  `IOException` - for stream exceptions.
  `RuntimeException` - for errors in XML parsing or implementation-specific validation.

### load

XMLDocument load(InputStream inputStream, String locationURI, Object options) throws IOException
Creates and returns an XMLDocument from the inputStream. The InputStream will be closed after reading. By default does not perform XSD validation.

Parameters:
  `inputStream` - specifies the InputStream to read from
  `locationURI` - specifies the URI of the document for relative schema locations
  `options` - implementation-specific options.
Returns:
  the new XMLDocument loaded
Throws:
  `IOException` - for stream exceptions.
  `RuntimeException` - for errors in XML parsing or implementation-specific validation.

### load

XMLDocument load(Reader inputReader, String locationURI, Object options) throws IOException
Creates and returns an XMLDocument from the inputReader. The InputStream will be closed after reading. By default does not perform XSD validation.

Parameters:
  `inputReader` - specifies the Reader to read from
  `locationURI` - specifies the URI of the document for relative schema locations
  `options` - implementation-specific options.
Returns:
  the new XMLDocument loaded
Throws:
  `IOException` - for stream exceptions.
  `RuntimeException` - for errors in XML parsing or implementation-specific validation.

### load

XMLDocument load(Source inputSource, String locationURI, Object options) throws IOException
Creates and returns an XMLDocument from the inputSource. The InputSource will be closed after reading. By default does not perform XSD validation.

Parameters:
  `inputSource` - specifies the Source to read from
  `locationURI` - specifies the URI of the document for relative schema locations
  `options` - implementation-specific options.
Returns:
  the new XMLDocument loaded
Throws:
  `IOException` - for stream exceptions.
  `RuntimeException` - for errors in XML parsing or implementation-specific validation.

### save

String save(DataObject dataObject, String rootElementURI, String rootElementName)
Returns the DataObject saved as an XML document with the specified root element. Same as StringWriter stringWriter = new StringWriter(); save(createDocument(dataObject, rootElementURI, rootElementName), stringWriter, null); stringWriter.toString();

Parameters:
  `dataObject` - specifies DataObject to be saved
  `rootElementURI` - the Target Namespace URI of the root XML element
  `rootElementName` - the Name of the root XML element
Returns:
  the saved XML document as a string
Throws:
  `IllegalArgumentException` - if the dataObject tree is not closed or has no container.

### save

void save(DataObject dataObject, String rootElementURI, String rootElementName, OutputStream outputStream) throws IOException
Saves the DataObject as an XML document with the specified root element. Same as save(createDocument(dataObject, rootElementURI, rootElementName), outputStream, null);

Parameters:
  `dataObject` - specifies DataObject to be saved
  `rootElementURI` - the Target Namespace URI of the root XML element
  `rootElementName` - the Name of the root XML element
  `outputStream` - specifies the OutputStream to write to.
Throws:
  `IOException` - for stream exceptions.
  `IllegalArgumentException` - if the dataObject tree is not closed or has no container.

### save

void save(XMLDocument xmlDocument, OutputStream outputStream, Object options) throws IOException
Serializes an XMLDocument as an XML document into the outputStream. If the DataObject's Type was defined by an XSD, the serialization will follow the XSD. Otherwise the serialization will follow the format as if an XSD were generated as defined by the SDO specification. The OutputStream will be flushed after writing. Does not perform validation to ensure compliance with an XSD.

Parameters:
  `xmlDocument` - specifies XMLDocument to be saved
  `outputStream` - specifies the OutputStream to write to.
  `options` - implementation-specific options.
Throws:
  `IOException` - for stream exceptions.
  `IllegalArgumentException` - if the dataObject tree is not closed or has no container.

### save

void save(XMLDocument xmlDocument, Writer outputWriter, Object options) throws IOException
Serializes an XMLDocument as an XML document into the outputWriter. If the DataObject's Type was defined by an XSD, the serialization will follow the XSD. Otherwise the serialization will follow the format as if an XSD were generated as defined by the SDO specification. The OutputStream will be flushed after writing. Does not perform validation to ensure compliance with an XSD.

Parameters:
  `xmlDocument` - specifies XMLDocument to be saved
  `outputWriter` - specifies the Writer to write to.
  `options` - implementation-specific options.
Throws:
  `IOException` - for stream exceptions.
  `IllegalArgumentException` - if the dataObject tree is not closed or has no container.

### save

void save(XMLDocument xmlDocument, Result outputResult, Object options) throws IOException
Serializes an XMLDocument as an XML document into the outputResult in a serialization technology independent format (as specified in javax.xml.transform). The OutputResult will be flushed after writing. Does not perform validation to ensure compliance with an XSD.

Parameters:
  `xmlDocument` - specifies XMLDocument to be saved
  `outputResult` - specifies Result to be saved
  `options` - implementation-specific options.
Throws:
  `IOException` - for stream exceptions.
  `IllegalArgumentException` - if the dataObject tree is not closed or has no container.

### createDocument

XMLDocument createDocument(DataObject dataObject, String rootElementURI, String rootElementName)
Creates an XMLDocument with the specified XML rootElement for the DataObject.

Parameters:
  `dataObject` - specifies DataObject to be saved
  `rootElementURI` - the Target Namespace URI of the root XML element
  `rootElementName` - the Name of the root XML element
Returns:
  XMLDocument a new XMLDocument set with the specified parameters.