Definition
The stream package contains all definitions to handle XML stream I/O.
Input and output of XML documents is handled in terms of XML streams in the iXML library. Even though the streams used in the iXML library have a lot in common with the C++ standard streams, an independent implementation - not derived from the C++ standard streams - has been chosen for mainly two reasons:
The stream package defines 3 major concepts: an XML stream factory (iXMLStreamFactory), an XML input stream (iXMLIStream) and an XML output stream (iXMLOStream).
Use
The stream factory is used to create XML input and output streams. Since different input sources and output destinations have to be considered, iXMLIStream and iXMLOStream interfaces will be implemented by different classes, each one capable of serving a particular source or destination. Each of these classes is registered or can be registered with the XML stream factory (prototype pattern) and can be queried about its capabilities. This allows the stream factory to create streams for all supported sources or destinations on request in an client application independent way. One of the advantages of this approach is the XML parsers capability to automatically resolve external entity references, as long as there is a stream type registered with the factory, that can handle the protocol defined by the URL.
Structure
The package Stream contains the following interfaces:
Interface if_ixml_istream Interface if_ixml_ostream Interface if_ixml_stream Interface if_ixml_stream_factory