## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.7

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# XalanOutputStream Class Reference

`#include <XalanOutputStream.hpp>`

Inheritance diagram for XalanOutputStream

Collaboration diagram for XalanOutputStream:

List of all members.

## Public Types

- typedef std::vector<XalanDOMChar> BufferType
- typedef std::vector<char> TranscodeVectorType
- typedef BufferType::size_type size_type
- enum {
  eDefaultBufferSize = 512,
  eDefaultTranscoderBlockSize = 1024
  }

## Public Methods

- XalanOutputStream ( BufferType::size_type theBufferSize = eDefaultBufferSize, TranscodeVectorType::size_type theTranscoderBlockSize = eDefaultTranscoderBlockSize, bool fThrowTranscodeException = true)
    Constructor. More...
- virtual ~XalanOutputStream ()
- virtual void newline ()
    Write the appropriate newline character(s) to the stream.
- virtual const XalanDOMChar* getNewlineString () const
    Get the string which is appropriate for inserting a line feed in the stream.
- void flushBuffer ()
    Flush the stream's transcoding buffer, but do not request the implementation class to flush its buffer. More...
- void flush ()
    Flush the stream's buffer.
- void write (char theChar)
    Write a character to the output stream. More...
- void write (XalanDOMChar theChar)
    Write a wide character to the output stream. More...
- void write (const char* theBuffer)
    Write a null-terminated string to the output file. More...
- void write (const XalanDOMChar* theBuffer)
    Write a null-terminated wide string to the output file. More...
- void write ( const char* theBuffer, size_type theBufferLength)
    Write a specified number of characters to the output stream. More...
- void write ( const XalanDOMChar* theBuffer, size_type theBufferLength)
    Write a specified number of characters to the output stream. More...
- const XalanDOMString& getOutputEncoding () const
    Get the output encoding for the stream. More...
- void setOutputEncoding (const XalanDOMString& theEncoding)
    Set the output encoding for the stream. More...
- bool canTranscodeTo (unsigned int theChar) const
    Determine if a given value can be represented in the output encoding. More...
- const XalanOutputTranscoder* getTranscoder () const
- bool getThrowTranscodeException () const
    Set the flag that indicates whether a transcoding error should throw an exception. More...
- void setThrowTranscodeException (bool flag)
    Set the flag that indicates whether a transcoding error should throw an exception. More...
- void setBufferSize (BufferType::size_type theBufferSize)
    Set the size of the output buffer. More...

## Static Public Methods

- const XalanDOMChar* defaultNewlineString ()

## Protected Methods

- void transcode ( const XalanDOMChar* theBuffer, size_type theBufferLength, TranscodeVectorType& theDestination)
    Transcode a wide string. More...
- virtual void writeData ( const char* theBuffer, size_type theBufferLength) = 0
    Write the data in the buffer. More...
- virtual void doFlush () = 0
    Flush the stream.

## Static Protected Attributes

- const XalanDOMChar s_nlString []
- const XalanDOMChar s_nlCRString []
- const XalanDOMString::size_type s_nlStringLength
- const XalanDOMString::size_type s_nlCRStringLength

## Member Typedef Documentation

typedef std::vector<XalanDOMChar> XalanOutputStream::BufferType

typedef std::vector<char> XalanOutputStream::TranscodeVectorType

typedef BufferType::size_type XalanOutputStream::size_type

## Member Enumeration Documentation

anonymous enum

Enumeration values:

  eDefaultBufferSize |
  eDefaultTranscoderBlockSize |

## Constructor & Destructor Documentation

XalanOutputStream::XalanOutputStream ( | BufferType::size_type theBufferSize = eDefaultBufferSize,
| TranscodeVectorType::size_type theTranscoderBlockSize = eDefaultTranscoderBlockSize,
| bool fThrowTranscodeException = true )`[explicit]`

Constructor.

Parameters:

  theBufferSize | the size of the transcoding buffer
  theTranscoderBlockSize | the size of the block used by the transcoder
  fThrowTranscodeException | If true, an error transcoding will result in an exception being thrown.

virtual XalanOutputStream::~XalanOutputStream ( | )`[virtual]`

## Member Function Documentation

bool XalanOutputStream::canTranscodeTo ( | unsigned int theChar ) const

Determine if a given value can be represented in the output encoding.

Returns:
  true if the value can be represented, and false if not.

const XalanDOMChar * XalanOutputStream::defaultNewlineString ( | )`[static]`

void XalanOutputStream::doFlush ( | )`[protected, pure virtual]`

Flush the stream.

Reimplemented in XalanFStreamOutputStream, XalanFileOutputStream, XalanNullOutputStream, XalanStdOutputStream, and XalanTransformerOutputStream.

void XalanOutputStream::flush ( | )`[]`

Flush the stream's buffer.

void XalanOutputStream::flushBuffer ( | )

Flush the stream's transcoding buffer, but do not request the implementation class to flush its buffer.

.

const XalanDOMChar * XalanOutputStream::getNewlineString ( | ) const`[virtual]`

Get the string which is appropriate for inserting a line feed in the stream.

const XalanDOMString & XalanOutputStream::getOutputEncoding ( | ) const`[]`

Get the output encoding for the stream.

Returns:
  The encoding name

bool XalanOutputStream::getThrowTranscodeException ( | ) const`[]`

Set the flag that indicates whether a transcoding error should throw an exception.

The default is to throw an exception. If this flag is false, and and an error occurs transcoding, then data will likely be lost.

Returns:
  the value of the flag.

const XalanOutputTranscoder * XalanOutputStream::getTranscoder ( | ) const`[]`

void XalanOutputStream::newline ( | )`[virtual]`

Write the appropriate newline character(s) to the stream.

void XalanOutputStream::setBufferSize ( | BufferType::size_type theBufferSize )

Set the size of the output buffer.

Parameters:

  theBufferSize | The buffer size.

void XalanOutputStream::setOutputEncoding ( | const XalanDOMString & theEncoding )

Set the output encoding for the stream.

Parameters:

  theEncoding | The encoding name

void XalanOutputStream::setThrowTranscodeException ( | bool flag )`[]`

Set the flag that indicates whether a transcoding error should throw an exception.

The default is to throw an exception. If this flag is false, and and an error occurs transcoding, then data will likely be lost.

Parameters:

  the | new value of the flag.

void XalanOutputStream::transcode ( | const XalanDOMChar * theBuffer,
| size_type theBufferLength,
| TranscodeVectorType & theDestination )`[protected]`

Transcode a wide string.

Parameters:

  theBuffer | The string to transcode.
  theBufferLength | The length of the string.
  theDestination | The destination vector.

void XalanOutputStream::write ( | const XalanDOMChar * theBuffer,
| size_type theBufferLength )

Write a specified number of characters to the output stream.

The string will be transcoded, if an output encoding is specified.

Parameters:

  theBuffer | character buffer to write
  theBufferLength | number of characters to write

void XalanOutputStream::write ( | const char * theBuffer,
| size_type theBufferLength )`[]`

Write a specified number of characters to the output stream.

The string will not be transcoded. The caller is responsible for making sure the buffer is flushed before calling this member function.

Parameters:

  theBuffer | character buffer to write
  theBufferLength | number of characters to write

void XalanOutputStream::write ( | const XalanDOMChar * theBuffer )`[]`

Write a null-terminated wide string to the output file.

The string will be transcoded, if an output encoding is specified.

Parameters:

  theBuffer | character buffer to write

void XalanOutputStream::write ( | const char * theBuffer )`[]`

Write a null-terminated string to the output file.

The character will not be transcoded. The caller is responsible for making sure the buffer is flushed before calling this member function.

Parameters:

  theBuffer | character buffer to write

void XalanOutputStream::write ( | XalanDOMChar theChar )`[]`

Write a wide character to the output stream.

The character will be transcoded, if an output encoding is specified.

Parameters:

  theChar | the character to write

void XalanOutputStream::write ( | char theChar )`[]`

Write a character to the output stream.

The character will not be transcoded.

Parameters:

  theChar | the character to write

void XalanOutputStream::writeData ( | const char * theBuffer,
| size_type theBufferLength )`[protected, pure virtual]`

Write the data in the buffer.

Parameters:

  theBuffer | The data to write
  theBufferLength | The length of theBuffer.

Reimplemented in XalanFStreamOutputStream, XalanFileOutputStream, XalanNullOutputStream, XalanStdOutputStream, and XalanTransformerOutputStream.

## Member Data Documentation

const XalanDOMChar XalanOutputStream::s_nlCRString[]`[static, protected]`

const XalanDOMString::size_type XalanOutputStream::s_nlCRStringLength`[static, protected]`

const XalanDOMChar XalanOutputStream::s_nlString[]`[static, protected]`

const XalanDOMString::size_type XalanOutputStream::s_nlStringLength`[static, protected]`

The documentation for this class was generated from the following file:

- XalanOutputStream.hpp

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.7 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.