Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

FormatterToXML Class Reference

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

Inheritance diagram for FormatterToXML:

Inheritance graph
[legend]
Collaboration diagram for FormatterToXML:

Collaboration graph
[legend]
List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Protected Types

Protected Member Functions

Static Protected Member Functions

Protected Attributes


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 XalanVector<bool> FormatterToXML::BoolStackType
 

typedef XalanVector<char> FormatterToXML::ByteBufferType
 

typedef XalanVector<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(XalanMemMgrs::getDummyMemMgr()),
bool  doIndent = false,
int  indent = eDefaultIndentAmount,
const XalanDOMString encoding = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
const XalanDOMString mediaType = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
const XalanDOMString doctypeSystem = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
const XalanDOMString doctypePublic = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
bool  xmlDecl = true,
const XalanDOMString standalone = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
eFormat  format = OUTPUT_METHOD_XML,
bool  fBufferData = true,
MemoryManagerType &theManager  XALAN_DEFAULT_MEMMGR
 

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
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

virtual 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.

the array to append the offset into the array to start from the number of characters to append

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

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

the array to append

void FormatterToXML::accumContent XalanDOMChar  ch  )  [protected]
 

Append a wide character to the buffer.

the character to append.

virtual bool FormatterToXML::accumDefaultEntity XalanDOMChar  ch,
bool  escLF
[protected, virtual]
 

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

Reimplemented in FormatterToHTML.

XalanDOMString::size_type 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.

the array to append the offset into the array to start from 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.

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.

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 

Implements FormatterListener.

FormatterToXML* FormatterToXML::create MemoryManagerType theManager,
Writer writer,
const XalanDOMString version = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
bool  doIndent = false,
int  indent = eDefaultIndentAmount,
const XalanDOMString encoding = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
const XalanDOMString mediaType = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
const XalanDOMString doctypeSystem = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
const XalanDOMString doctypePublic = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
bool  xmlDecl = true,
const XalanDOMString standalone = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
eFormat  format = OUTPUT_METHOD_XML,
bool  fBufferData = true
[static]
 

virtual void FormatterToXML::endDocument  )  [virtual]
 

Implements FormatterListener.

Reimplemented in FormatterToHTML.

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

Implements 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 

Implements FormatterListener.

Reimplemented in FormatterToHTML.

void FormatterToXML::flushBytes  )  [protected]
 

Flush the byte buffer.

void FormatterToXML::flushChars  )  [protected]
 

Flush the char buffer.

void FormatterToXML::flushWriter  )  [protected]
 

virtual const XalanDOMString& FormatterToXML::getDoctypePublic  )  const [virtual]
 

Reimplemented from FormatterListener.

virtual const XalanDOMString& FormatterToXML::getDoctypeSystem  )  const [virtual]
 

Reimplemented from FormatterListener.

bool FormatterToXML::getDoIndent  )  const
 

virtual const XalanDOMString& FormatterToXML::getEncoding  )  const [virtual]
 

Reimplemented from FormatterListener.

bool FormatterToXML::getEscapeCData  )  const
 

virtual int FormatterToXML::getIndent  )  const [virtual]
 

Reimplemented from FormatterListener.

virtual const XalanDOMString& FormatterToXML::getMediaType  )  const [virtual]
 

Reimplemented from FormatterListener.

MemoryManagerType& FormatterToXML::getMemoryManager  ) 
 

bool FormatterToXML::getShouldWriteXMLHeader  )  const
 

const XalanDOMString& FormatterToXML::getStandalone  )  const
 

bool FormatterToXML::getStripCData  )  const
 

const XalanDOMString& FormatterToXML::getVersion  )  const
 

virtual Writer* FormatterToXML::getWriter  )  const [virtual]
 

Reimplemented from FormatterListener.

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]
 

Implements FormatterListener.

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::resetDocument  )  [virtual]
 

Implements FormatterListener.

virtual void FormatterToXML::setDocumentLocator const LocatorType *const  locator  )  [virtual]
 

Implements FormatterListener.

void FormatterToXML::setDoIndent bool  value  ) 
 

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]
 

Implements FormatterListener.

Reimplemented in FormatterToHTML.

virtual void FormatterToXML::startElement const XMLCh *const  name,
AttributeListType attrs
[virtual]
 

Implements FormatterListener.

Reimplemented in FormatterToHTML.

void FormatterToXML::throwInvalidUTF16SurrogateException XalanDOMChar  ch,
XalanDOMChar  next,
MemoryManagerType theManager
[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,
MemoryManagerType theManager
[static, protected]
 

Throw an exception when an invalid surrogate is encountered.

Parameters:
ch The first character in the surrogate

virtual void FormatterToXML::writeAttrString const XalanDOMChar *  theString,
XalanDOMString::size_type  theStringLength
[protected, virtual]
 

Write an attribute string.

Parameters:
theString The string to write.
theStringLength The length of the string.

Reimplemented in FormatterToHTML.

virtual 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.

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.

bool FormatterToXML::m_doIndent [protected]
 

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

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.9
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.