http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

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

XMLTranscoder Class Reference

XMLTranscoder is for transcoding non-local code page encodings, i.e. More...

Inheritance diagram for XMLTranscoder:

Inheritance graph
[legend]
Collaboration diagram for XMLTranscoder:

Collaboration graph
[legend]
List of all members.

Public Types

enum  UnRepOpts { UnRep_Throw, UnRep_RepChar }
 This enum is used by the transcodeTo() method to indicate how to react to unrepresentable characters. More...


Public Methods

Destructor.
virtual ~XMLTranscoder ()
 Destructor for XMLTranscoder. More...

The virtual transcoding interface
virtual unsigned int transcodeFrom (const XMLByte *const srcData, const unsigned int srcCount, XMLCh *const toFill, const unsigned int maxChars, unsigned int &bytesEaten, unsigned char *const charSizes)=0
 Converts from the encoding of the service to the internal XMLCh* encoding. More...

virtual unsigned int transcodeTo (const XMLCh *const srcData, const unsigned int srcCount, XMLByte *const toFill, const unsigned int maxBytes, unsigned int &charsEaten, const UnRepOpts options)=0
 Converts from the internal XMLCh* encoding to the encoding of the service. More...

virtual bool canTranscodeTo (const unsigned int toCheck) const=0
 Query whether the transcoder can handle a given character. More...

Getter methods
unsigned int getBlockSize () const
 Get the internal block size. More...

const XMLCh * getEncodingName () const
 Get the encoding name. More...

Getter methods
MemoryManagergetMemoryManager () const
 Get the plugged-in memory manager. More...


Protected Methods

 XMLTranscoder (const XMLCh *const encodingName, const unsigned int blockSize, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
void checkBlockSize (const unsigned int toCheck)

Detailed Description

XMLTranscoder is for transcoding non-local code page encodings, i.e.

named encodings. These are used internally by the scanner to internalize raw XML into the internal Unicode format, and by writer classes to convert that internal Unicode format (which comes out of the parser) back out to a format that the receiving client code wants to use.


Member Enumeration Documentation

enum XMLTranscoder::UnRepOpts
 

This enum is used by the transcodeTo() method to indicate how to react to unrepresentable characters.

The transcodeFrom() method always works the same. It will consider any invalid data to be an error and throw.

Enumeration values:
UnRep_Throw  Throw an exception.
UnRep_RepChar  Use the replacement char.


Constructor & Destructor Documentation

virtual XMLTranscoder::~XMLTranscoder   [virtual]
 

Destructor for XMLTranscoder.

XMLTranscoder::XMLTranscoder const XMLCh *const    encodingName,
const unsigned int    blockSize,
MemoryManager *const    manager = XMLPlatformUtils::fgMemoryManager
[protected]
 


Member Function Documentation

virtual bool XMLTranscoder::canTranscodeTo const unsigned int    toCheck const [pure virtual]
 

Query whether the transcoder can handle a given character.

Parameters:
toCheck  the character code point to check

void XMLTranscoder::checkBlockSize const unsigned int    toCheck [protected]
 

unsigned int XMLTranscoder::getBlockSize   const
 

Get the internal block size.

Returns:
The block size indicated in the constructor.

const XMLCh * XMLTranscoder::getEncodingName   const
 

Get the encoding name.

Returns:
the name of the encoding that this XMLTranscoder object is for

MemoryManager * XMLTranscoder::getMemoryManager   const
 

Get the plugged-in memory manager.

This method returns the plugged-in memory manager user for dynamic memory allocation/deallocation.

Returns:
the plugged-in memory manager

virtual unsigned int XMLTranscoder::transcodeFrom const XMLByte *const    srcData,
const unsigned int    srcCount,
XMLCh *const    toFill,
const unsigned int    maxChars,
unsigned int &    bytesEaten,
unsigned char *const    charSizes
[pure virtual]
 

Converts from the encoding of the service to the internal XMLCh* encoding.

Parameters:
srcData  the source buffer to be transcoded
srcCount  number of characters in the source buffer
toFill  the destination buffer
maxChars  the max number of characters in the destination buffer
bytesEaten  after transcoding, this will hold the number of bytes that were processed from the source buffer
charSizes  an array which must be at least as big as maxChars into which will be inserted values that indicate how many bytes from the input went into each XMLCh that was created into toFill. Since many encodings use variable numbers of byte per character, this provides a means to find out what bytes in the input went into making a particular output UTF-16 character.
Returns:
Returns the number of chars put into the target buffer

virtual unsigned int XMLTranscoder::transcodeTo const XMLCh *const    srcData,
const unsigned int    srcCount,
XMLByte *const    toFill,
const unsigned int    maxBytes,
unsigned int &    charsEaten,
const UnRepOpts    options
[pure virtual]
 

Converts from the internal XMLCh* encoding to the encoding of the service.

Parameters:
srcData  the source buffer to be transcoded
srcCount  number of characters in the source buffer
toFill  the destination buffer
maxBytes  the max number of bytes in the destination buffer
charsEaten  after transcoding, this will hold the number of chars that were processed from the source buffer
options  options to pass to the transcoder that explain how to respond to an unrepresentable character
Returns:
Returns the number of chars put into the target buffer


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


Copyright © 2004 The Apache Software Foundation. All Rights Reserved.