Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.4

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

FormatterToXML Class Reference

FormatterToXML formats SAX-style events into XML. More...

#include <FormatterToXML.hpp>

Inheritance diagram for FormatterToXML:

FormatterListener DocumentHandler FormatterToHTML Collaboration diagram for FormatterToXML:

List of all members.

Public Types

Public Methods

Protected Types

Protected Methods

Protected Attributes

Static Protected Methods


Detailed Description

FormatterToXML formats SAX-style events into XML.


Member Typedef Documentation

typedef void (FormatterToXML::* FormatterToXML::AccumArrayFunctionType)( const XalanDOMChar[], XalanDOMString::size_type, XalanDOMString::size_type) [protected]

typedef void (FormatterToXML::* FormatterToXML::AccumCharFunctionType)(XalanDOMChar) [protected]

typedef void (FormatterToXML::* FormatterToXML::AccumDOMStringFunctionType)(const XalanDOMString&) [protected]

typedef void (FormatterToXML::* FormatterToXML::AccumStringFunctionType)(const XalanDOMChar*) [protected]

typedef std::vector<bool> FormatterToXML::BoolStackType

typedef std::vector<char> FormatterToXML::ByteBufferType

typedef std::vector<XalanDOMChar> FormatterToXML::DOMCharBufferType

typedef void (FormatterToXML::* FormatterToXML::FlushFunctionType)() [protected]


Member Enumeration Documentation

enum FormatterToXML::eDummy

Enumeration values:
eDefaultIndentAmount  

enum FormatterToXML::eDummyTwo [protected]

Enumeration values:
SPECIALSSIZE  

Constructor & Destructor Documentation

FormatterToXML::FormatterToXML ( Writer & writer,
const XalanDOMString & version = XalanDOMString(),
bool doIndent = false,
int indent = eDefaultIndentAmount,
const XalanDOMString & encoding = XalanDOMString(),
const XalanDOMString & mediaType = XalanDOMString(),
const XalanDOMString & doctypeSystem = XalanDOMString(),
const XalanDOMString & doctypePublic = XalanDOMString(),
bool xmlDecl = true,
const XalanDOMString & standalone = XalanDOMString(),
eFormat format = OUTPUT_METHOD_XML,
bool fBufferData = true)

Constructor for customized encoding and doctype.

Parameters:
writer   character output stream to use
version   version of the output method
doIndent   true if output is to be indented
indent   number of spaces to indent at each nesting level
encoding   character encoding in use by writer
mediaType   media type (MIME content type) of the data
doctypeSystem   system identifier to be used in the document type declaration
doctypePublic   public identifier to be used in the document type declaration
xmlDecl   true if the XSLT processor should output an XML declaration
standalone   true if the XSLT processor should output a standalone document declaration

Parameters:
format   should be used only by derived classes.
fBufferData   If true, data will be buffered in the formatter

virtual FormatterToXML::~FormatterToXML () [virtual]


Member Function Documentation

void FormatterToXML::accumCommentData ( const XalanDOMChar * data) [protected, virtual]

Write the data for a comment.

Parameters:
data   The comment's data.

Reimplemented in FormatterToHTML.

void FormatterToXML::accumContent ( const XalanDOMString & str) [protected]

Append a string to the buffer.

Parameters:
str   the string to append

void FormatterToXML::accumContent ( const XalanDOMChar chars[],
XalanDOMString::size_type start,
XalanDOMString::size_type length) [protected]

Append an array of wide character to the buffer.

@chars the array to append @start the offset into the array to start from @length the number of characters to append

void FormatterToXML::accumContent ( const XalanDOMChar * chars) [protected]

Append a null-terminated array of wide characters to the buffer.

@chars the array to append

void FormatterToXML::accumContent ( XalanDOMChar ch) [protected]

Append a wide character to the buffer.

@ch the character to append.

bool FormatterToXML::accumDefaultEntity ( XalanDOMChar ch,
XalanDOMString::size_type i,
const XalanDOMChar chars[],
XalanDOMString::size_type len,
bool escLF) [protected, virtual]

Handle one of the default entities, return false if it is not a default entity.

Reimplemented in FormatterToHTML.

void FormatterToXML::accumDefaultEscape ( XalanDOMChar ch,
XalanDOMString::size_type i,
const XalanDOMChar chars[],
XalanDOMString::size_type len,
bool escLF) [protected]

Escape and accum a character.

void FormatterToXML::accumName ( const XalanDOMString & str) [protected]

Append a string to the buffer.

Characters that are not representable in the encoding are not written as entities.

Parameters:
str   the string to append

void FormatterToXML::accumName ( const XalanDOMChar chars[],
XalanDOMString::size_type start,
XalanDOMString::size_type length) [protected]

Append an array of wide character to the buffer.

Characters that are not representable in the encoding are not written as entities.

@chars the array to append @start the offset into the array to start from @length the number of characters to append

void FormatterToXML::accumName ( const XalanDOMChar * chars) [protected]

Append a null-terminated array of wide characters to the buffer.

Characters that are not representable in the encoding are not written as entities.

@chars the array to append

void FormatterToXML::accumName ( XalanDOMChar ch) [protected]

Append a wide character to the buffer.

Characters that are not representable in the encoding are not written as entities.

@ch the character to append.

virtual void FormatterToXML::cdata ( const XMLCh * const ch,
const unsigned int length) [virtual]

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::characters ( const XMLCh * const chars,
const unsigned int length) [virtual]

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::charactersRaw ( const XMLCh * const chars,
const unsigned int length) [virtual]

bool FormatterToXML::childNodesWereAdded () [protected]

virtual void FormatterToXML::comment ( const XMLCh * const data) [virtual]

Called when a Comment is to be constructed.

Parameters:
data   pointer to comment data
Exceptions:
SAXException  

Reimplemented from FormatterListener.

virtual void FormatterToXML::endDocument () [virtual]

Reimplemented from FormatterListener.

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::endElement ( const XMLCh * const name) [virtual]

Reimplemented from FormatterListener.

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::entityReference ( const XMLCh * const name) [virtual]

Receive notification of a entityReference.

Parameters:
data   pointer to characters from the XML document
Exceptions:
SAXException  

Reimplemented from FormatterListener.

Reimplemented in FormatterToHTML.

void FormatterToXML::flushBytes () [protected]

Flush the byte buffer.

void FormatterToXML::flushChars () [protected]

Flush the char buffer.

void FormatterToXML::flushWriter () [protected]

bool FormatterToXML::getDoIndent () const

const XalanDOMString & FormatterToXML::getDoctypePublic () const

const XalanDOMString & FormatterToXML::getDoctypeSystem () const

const XalanDOMString & FormatterToXML::getEncoding () const

bool FormatterToXML::getEscapeCData () const

int FormatterToXML::getIndent () const

const XalanDOMString & FormatterToXML::getMediaType () const

bool FormatterToXML::getShouldWriteXMLHeader () const

const XalanDOMString & FormatterToXML::getStandalone () const

bool FormatterToXML::getStripCData () const

const XalanDOMString & FormatterToXML::getVersion () const

Writer * FormatterToXML::getWriter ()

const Writer * FormatterToXML::getWriter () const

virtual void FormatterToXML::ignorableWhitespace ( const XMLCh * const chars,
const unsigned int length) [virtual]

void FormatterToXML::indent ( int n) [protected]

Prints a newline character and n spaces.

Parameters:
n   Number of spaces to print.

void FormatterToXML::initAttrCharsMap () [protected]

Set the attribute characters what will require special mapping.

void FormatterToXML::initCharsMap () [protected]

Set the output characters what will require special mapping.

bool FormatterToXML::isUTF16Surrogate ( XalanDOMChar ch) [static, protected]

void FormatterToXML::openElementForChildren () [protected]

void FormatterToXML::outputLineSep () [protected]

Output a line break.

virtual void FormatterToXML::processingInstruction ( const XMLCh * const target,
const XMLCh * const data) [virtual]

Reimplemented from FormatterListener.

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::resetDocument () [virtual]

Reimplemented from FormatterListener.

void FormatterToXML::setDoIndent ( bool value)

virtual void FormatterToXML::setDocumentLocator ( const Locator * const locator) [virtual]

Reimplemented from FormatterListener.

void FormatterToXML::setEscapeCData ( bool b)

void FormatterToXML::setIndent ( int value)

void FormatterToXML::setShouldWriteXMLHeader ( bool b)

void FormatterToXML::setStripCData ( bool b)

bool FormatterToXML::shouldIndent () const [protected]

virtual void FormatterToXML::startDocument () [virtual]

Reimplemented from FormatterListener.

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::startElement ( const XMLCh * const name,
AttributeList & attrs) [virtual]

Reimplemented from FormatterListener.

Reimplemented in FormatterToHTML.

void FormatterToXML::throwInvalidUTF16SurrogateException ( XalanDOMChar ch,
XalanDOMChar next) [static, protected]

Throw an exception when an invalid surrogate is encountered.

Parameters:
ch   The first character in the surrogate
next   The next character in the surrogate

void FormatterToXML::throwInvalidUTF16SurrogateException ( XalanDOMChar ch) [static, protected]

Throw an exception when an invalid surrogate is encountered.

Parameters:
ch   The first character in the surrogate

void FormatterToXML::writeAttrString ( const XalanDOMChar * theString) [protected, virtual]

Write an attribute string.

Parameters:
theString   The string to write.

Reimplemented in FormatterToHTML.

void FormatterToXML::writeNormalizedChars ( const XalanDOMChar ch[],
XalanDOMString::size_type start,
XalanDOMString::size_type length,
bool isCData) [protected, virtual]

Write normalized characters to the writer.

Parameters:
ch   the string to write.
start   the start offset into the string.
length   the length of the string.
isCData   true if writing CDATA.

void FormatterToXML::writeNumberedEntityReference ( unsigned long theNumber) [protected]

Write a number into the buffer as an entity reference.

Parameters:
theNumber   the number to write.

void FormatterToXML::writeParentTagEnd () [protected]

Check to see if a parent's ">" has been written, and, if it has not, write it.


Member Data Documentation

XalanDOMChar FormatterToXML::m_attrCharsMap[SPECIALSSIZE] [protected]

XalanDOMChar FormatterToXML::m_charsMap[SPECIALSSIZE] [protected]

int FormatterToXML::m_currentIndent [protected]

Flag to keep track of the indent amount.

bool FormatterToXML::m_doIndent [protected]

Flag to tell if indenting (pretty-printing) is on.

const XalanDOMString FormatterToXML::m_doctypePublic [protected]

The public ID for the doc type.

const XalanDOMString FormatterToXML::m_doctypeSystem [protected]

The System ID for the doc type.

XalanDOMString FormatterToXML::m_encoding [protected]

The character encoding.

bool FormatterToXML::m_encodingIsUTF [protected]

Flag to quickly tell if the encoding is capable of full Unicode support.

bool FormatterToXML::m_inCData [protected]

Tells if we're in CData section.

int FormatterToXML::m_indent [protected]

Amount to indent.

bool FormatterToXML::m_ispreserve [protected]

State flag to tell if preservation of whitespace is important.

bool FormatterToXML::m_isprevtext [protected]

State flag that tells if the previous node processed was text, so we can tell if we should preserve whitespace.

XalanDOMChar FormatterToXML::m_maxCharacter [protected]

The maximum character size before we have to resort to escaping.

bool FormatterToXML::m_needToOutputDocTypeDecl [protected]

Flag to tell that we need to add the doctype decl, which we can't do until the first element is encountered.

bool FormatterToXML::m_nextIsRaw [protected]

Tell if the next text should be raw.

BoolStackType FormatterToXML::m_preserves [protected]

Stack to keep track of whether or not we need to preserve whitespace.

bool FormatterToXML::m_shouldWriteXMLHeader [protected]

If true, XML header should be written to output.

bool FormatterToXML::m_startNewLine [protected]

Flag to signal that a newline should be added.

XalanOutputStream *const FormatterToXML::m_stream [protected]

The stream where the XML will be written.

XalanDOMString FormatterToXML::m_stringBuffer [protected]

bool FormatterToXML::m_stripCData [protected]

If true, cdata sections are simply stripped of their CDATA brackets, without escaping.

Writer *const FormatterToXML::m_writer [protected]

The writer where the XML will be written.


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

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.4
Copyright © 2000, 2001, 2002 The Apache Software Foundation. All Rights Reserved.