Xalan-C++ API Reference
1.12.0
|
FormatterToXML formats SAX-style events into XML. More...
#include <xalanc/XMLSupport/FormatterToXML.hpp>
Public Types | |
enum | eDummy { eDefaultIndentAmount = 0 } |
typedef XalanVector< bool > | BoolStackType |
typedef XalanVector< XalanDOMChar > | DOMCharBufferType |
typedef XalanVector< char > | ByteBufferType |
Public Types inherited from xalanc::FormatterListener | |
enum | eFormat { OUTPUT_METHOD_NONE = 0, OUTPUT_METHOD_XML = 1, OUTPUT_METHOD_HTML = 2, OUTPUT_METHOD_TEXT = 3, OUTPUT_METHOD_DOM = 4, OUTPUT_METHOD_OTHER = 5 } |
enum | eXMLVersion { XML_VERSION_1_0 = 0, XML_VERSION_1_1 = 1 } |
typedef xercesc::DocumentHandler | ParentType |
typedef XalanSize_t | size_type |
Public Member Functions | |
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, MemoryManager &theManager XALAN_DEFAULT_MEMMGR) | |
Constructor for customized encoding and doctype. More... | |
virtual | ~FormatterToXML () |
MemoryManager & | getMemoryManager () |
virtual void | setDocumentLocator (const Locator *const locator) |
virtual void | startDocument () |
virtual void | endDocument () |
virtual void | startElement (const XMLCh *const name, AttributeListType &attrs) |
virtual void | endElement (const XMLCh *const name) |
virtual void | characters (const XMLCh *const chars, const size_type length) |
virtual void | charactersRaw (const XMLCh *const chars, const size_type length) |
virtual void | entityReference (const XMLCh *const name) |
Receive notification of a entityReference. More... | |
virtual void | ignorableWhitespace (const XMLCh *const chars, const size_type length) |
virtual void | processingInstruction (const XMLCh *const target, const XMLCh *const data) |
virtual void | resetDocument () |
virtual void | comment (const XMLCh *const data) |
Called when a Comment is to be constructed. More... | |
virtual void | cdata (const XMLCh *const ch, const size_type length) |
virtual Writer * | getWriter () const |
virtual const XalanDOMString & | getDoctypeSystem () const |
virtual const XalanDOMString & | getDoctypePublic () const |
virtual const XalanDOMString & | getEncoding () const |
virtual const XalanDOMString & | getMediaType () const |
virtual int | getIndent () const |
const XalanDOMString & | getVersion () const |
const XalanDOMString & | getStandalone () const |
bool | getShouldWriteXMLHeader () const |
void | setShouldWriteXMLHeader (bool b) |
bool | getStripCData () const |
void | setStripCData (bool b) |
bool | getEscapeCData () const |
void | setEscapeCData (bool b) |
bool | getDoIndent () const |
void | setDoIndent (bool value) |
void | setIndent (int value) |
Public Member Functions inherited from xalanc::FormatterListener | |
FormatterListener (eFormat theFormat) | |
virtual | ~FormatterListener () |
eFormat | getOutputFormat () const |
Get the output format for the instance. More... | |
eXMLVersion | getXMLVersion () const |
Get the version of XML the FormatterListener is generating. More... | |
bool | isXML1_1Version () const |
Determine if the version of XML output is 1.1. More... | |
const PrefixResolver * | getPrefixResolver () const |
Get the PrefixResolver for the FormatterListener. More... | |
void | setPrefixResolver (const PrefixResolver *thePrefixResolver) |
Set the PrefixResolver for the FormatterListener. More... | |
virtual void | charactersRaw (const XMLCh *const chars, const size_type length)=0 |
Receive notification of character data. More... | |
virtual void | cdata (const XMLCh *const ch, const size_type length)=0 |
Receive notification of cdata. More... | |
virtual void | characters (const XMLCh *const chars, const size_type length)=0 |
virtual void | ignorableWhitespace (const XMLCh *const chars, const size_type length)=0 |
virtual void | startElement (const XMLCh *const name, AttributeList &attrs)=0 |
Static Public Member Functions | |
static FormatterToXML * | create (MemoryManager &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) |
Protected Types | |
enum | eDummyTwo { SPECIALSSIZE = 256 } |
typedef void(FormatterToXML::* | AccumCharFunctionType) (XalanDOMChar) |
typedef void(FormatterToXML::* | AccumStringFunctionType) (const XalanDOMChar *) |
typedef void(FormatterToXML::* | AccumDOMStringFunctionType) (const XalanDOMString &) |
typedef void(FormatterToXML::* | AccumArrayFunctionType) (const XalanDOMChar[], size_type, size_type) |
typedef void(FormatterToXML::* | FlushFunctionType) () |
Protected Member Functions | |
void | outputLineSep () |
Output a line break. More... | |
void | accumName (XalanDOMChar ch) |
Append a wide character to the buffer. More... | |
void | accumContent (XalanDOMChar ch) |
Append a wide character to the buffer. More... | |
void | accumName (const XalanDOMChar *chars) |
Append a null-terminated array of wide characters to the buffer. More... | |
void | accumContent (const XalanDOMChar *chars) |
Append a null-terminated array of wide characters to the buffer. More... | |
void | accumName (const XalanDOMChar chars[], size_type start, size_type length) |
Append an array of wide character to the buffer. More... | |
void | accumContent (const XalanDOMChar chars[], size_type start, size_type length) |
Append an array of wide character to the buffer. More... | |
void | accumName (const XalanDOMString &str) |
Append a string to the buffer. More... | |
void | accumContent (const XalanDOMString &str) |
Append a string to the buffer. More... | |
size_type | accumDefaultEscape (XalanDOMChar ch, size_type i, const XalanDOMChar chars[], size_type len, bool escLF) |
Escape and accum a character. More... | |
virtual bool | accumDefaultEntity (XalanDOMChar ch, bool escLF) |
Handle one of the default entities, return false if it is not a default entity. More... | |
void | initAttrCharsMap () |
Set the attribute characters what will require special mapping. More... | |
void | initCharsMap () |
Set the output characters what will require special mapping. More... | |
void | flushChars () |
Flush the char buffer. More... | |
void | flushBytes () |
Flush the byte buffer. More... | |
void | flushWriter () |
void | openElementForChildren () |
bool | childNodesWereAdded () |
bool | shouldIndent () const |
void | writeParentTagEnd () |
Check to see if a parent's ">" has been written, and, if it has not, write it. More... | |
void | indent (int n) |
Prints a newline character and n spaces. More... | |
virtual void | writeNormalizedChars (const XalanDOMChar ch[], size_type start, size_type length, bool isCData) |
Write normalized characters to the writer. More... | |
void | writeNumberedEntityReference (XalanUnicodeChar theNumber) |
Write a number into the buffer as an entity reference. More... | |
virtual void | writeAttrString (const XalanDOMChar *theString, size_type theStringLength) |
Write an attribute string. More... | |
virtual void | accumCommentData (const XalanDOMChar *data) |
Write the data for a comment. More... | |
Protected Member Functions inherited from xalanc::FormatterListener | |
void | setXMLVersion (eXMLVersion theVersion) |
Set the output version during serializing. More... | |
Static Protected Member Functions | |
static void | throwInvalidUTF16SurrogateException (XalanDOMChar ch, MemoryManager &theManager) |
Throw an exception when an invalid surrogate is encountered. More... | |
static void | throwInvalidUTF16SurrogateException (XalanDOMChar ch, XalanDOMChar next, MemoryManager &theManager) |
Throw an exception when an invalid surrogate is encountered. More... | |
static void | throwInvalidCharacterException (XalanUnicodeChar ch, MemoryManager &theManager) |
Throw an exception when an invalid XML character is encountered. More... | |
static bool | isUTF16Surrogate (XalanDOMChar ch) |
Protected Attributes | |
Writer *const | m_writer |
The writer where the XML will be written. More... | |
XalanOutputStream *const | m_stream |
The stream where the XML will be written. More... | |
XalanDOMChar | m_maxCharacter |
The maximum character size before we have to resort to escaping. More... | |
XalanDOMChar | m_attrCharsMap [SPECIALSSIZE] |
XalanDOMChar | m_charsMap [SPECIALSSIZE] |
bool | m_shouldWriteXMLHeader |
If true, XML header should be written to output. More... | |
bool | m_ispreserve |
State flag to tell if preservation of whitespace is important. More... | |
bool | m_doIndent |
Flag to tell if indenting (pretty-printing) is on. More... | |
bool | m_startNewLine |
Flag to signal that a newline should be added. More... | |
bool | m_needToOutputDocTypeDecl |
Flag to tell that we need to add the doctype decl, which we can't do until the first element is encountered. More... | |
bool | m_isprevtext |
State flag that tells if the previous node processed was text, so we can tell if we should preserve whitespace. More... | |
bool | m_stripCData |
If true, cdata sections are simply stripped of their CDATA brackets, without escaping. More... | |
bool | m_nextIsRaw |
Tell if the next text should be raw. More... | |
bool | m_inCData |
Tells if we're in CData section. More... | |
bool | m_encodingIsUTF |
Flag to quickly tell if the encoding is capable of full Unicode support. More... | |
const XalanDOMString | m_doctypeSystem |
The System ID for the doc type. More... | |
const XalanDOMString | m_doctypePublic |
The public ID for the doc type. More... | |
XalanDOMString | m_encoding |
The character encoding. More... | |
int | m_currentIndent |
Flag to keep track of the indent amount. More... | |
int | m_indent |
Amount to indent. More... | |
BoolStackType | m_preserves |
Stack to keep track of whether or not we need to preserve whitespace. More... | |
XalanDOMString | m_stringBuffer |
Protected Attributes inherited from xalanc::FormatterListener | |
const PrefixResolver * | m_prefixResolver |
Additional Inherited Members | |
Static Public Attributes inherited from xalanc::FormatterListener | |
static const XalanDOMChar | s_piTarget [] |
static const XalanDOMChar | s_piData [] |
static const XalanDOMString::size_type | s_piTargetLength |
static const XalanDOMString::size_type | s_piDataLength |
Static Protected Attributes inherited from xalanc::FormatterListener | |
static const XalanDOMString | s_emptyString |
FormatterToXML formats SAX-style events into XML.
Definition at line 59 of file FormatterToXML.hpp.
|
protected |
Definition at line 297 of file FormatterToXML.hpp.
|
protected |
Definition at line 291 of file FormatterToXML.hpp.
|
protected |
Definition at line 295 of file FormatterToXML.hpp.
|
protected |
Definition at line 293 of file FormatterToXML.hpp.
typedef XalanVector<bool> xalanc::FormatterToXML::BoolStackType |
Definition at line 268 of file FormatterToXML.hpp.
typedef XalanVector<char> xalanc::FormatterToXML::ByteBufferType |
Definition at line 270 of file FormatterToXML.hpp.
typedef XalanVector<XalanDOMChar> xalanc::FormatterToXML::DOMCharBufferType |
Definition at line 269 of file FormatterToXML.hpp.
|
protected |
Definition at line 302 of file FormatterToXML.hpp.
Enumerator | |
---|---|
eDefaultIndentAmount |
Definition at line 63 of file FormatterToXML.hpp.
|
protected |
Enumerator | |
---|---|
SPECIALSSIZE |
Definition at line 591 of file FormatterToXML.hpp.
xalanc::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 , |
||
MemoryManager &theManager | XALAN_DEFAULT_MEMMGR | ||
) |
Constructor for customized encoding and doctype.
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 |
|
protectedvirtual |
Write the data for a comment.
data | The comment's data. |
Reimplemented in xalanc::FormatterToHTML.
|
inlineprotected |
Append a null-terminated array of wide characters to the buffer.
@chars the array to append
Definition at line 359 of file FormatterToXML.hpp.
|
inlineprotected |
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
Definition at line 396 of file FormatterToXML.hpp.
References xalanc::length().
|
inlineprotected |
Append a string to the buffer.
str | the string to append |
Definition at line 429 of file FormatterToXML.hpp.
|
inlineprotected |
Append a wide character to the buffer.
@ch the character to append.
Definition at line 327 of file FormatterToXML.hpp.
|
protectedvirtual |
Handle one of the default entities, return false if it is not a default entity.
Reimplemented in xalanc::FormatterToHTML.
|
protected |
Escape and accum a character.
|
inlineprotected |
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
Definition at line 345 of file FormatterToXML.hpp.
|
inlineprotected |
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
Definition at line 378 of file FormatterToXML.hpp.
References xalanc::length().
|
inlineprotected |
Append a string to the buffer.
Characters that are not representable in the encoding are not written as entities.
str | the string to append |
Definition at line 416 of file FormatterToXML.hpp.
|
inlineprotected |
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.
Definition at line 314 of file FormatterToXML.hpp.
|
virtual |
Reimplemented in xalanc::FormatterToHTML.
|
virtual |
Reimplemented in xalanc::FormatterToHTML.
|
virtual |
|
protected |
|
virtual |
Called when a Comment is to be constructed.
data | pointer to comment data |
SAXException |
Implements xalanc::FormatterListener.
|
static |
|
virtual |
Implements xalanc::FormatterListener.
Reimplemented in xalanc::FormatterToHTML.
|
virtual |
Implements xalanc::FormatterListener.
Reimplemented in xalanc::FormatterToHTML.
|
virtual |
Receive notification of a entityReference.
data | pointer to characters from the XML document |
SAXException |
Implements xalanc::FormatterListener.
Reimplemented in xalanc::FormatterToHTML.
|
protected |
Flush the byte buffer.
|
protected |
Flush the char buffer.
|
protected |
|
virtual |
Reimplemented from xalanc::FormatterListener.
|
virtual |
Reimplemented from xalanc::FormatterListener.
|
inline |
Definition at line 250 of file FormatterToXML.hpp.
|
virtual |
Reimplemented from xalanc::FormatterListener.
|
inline |
Definition at line 238 of file FormatterToXML.hpp.
|
virtual |
Reimplemented from xalanc::FormatterListener.
|
virtual |
Reimplemented from xalanc::FormatterListener.
|
inline |
Definition at line 124 of file FormatterToXML.hpp.
|
inline |
Definition at line 214 of file FormatterToXML.hpp.
|
inline |
Definition at line 208 of file FormatterToXML.hpp.
|
inline |
Definition at line 226 of file FormatterToXML.hpp.
|
inline |
Definition at line 202 of file FormatterToXML.hpp.
|
virtual |
Reimplemented from xalanc::FormatterListener.
|
virtual |
|
protected |
Prints a newline character and n spaces.
n | Number of spaces to print. |
|
protected |
Set the attribute characters what will require special mapping.
|
protected |
Set the output characters what will require special mapping.
|
inlinestaticprotected |
Definition at line 586 of file FormatterToXML.hpp.
|
protected |
|
protected |
Output a line break.
|
virtual |
Implements xalanc::FormatterListener.
Reimplemented in xalanc::FormatterToHTML.
|
virtual |
Implements xalanc::FormatterListener.
|
virtual |
Implements xalanc::FormatterListener.
|
inline |
Definition at line 256 of file FormatterToXML.hpp.
|
inline |
Definition at line 244 of file FormatterToXML.hpp.
|
inline |
Definition at line 262 of file FormatterToXML.hpp.
|
inline |
Definition at line 220 of file FormatterToXML.hpp.
|
inline |
Definition at line 232 of file FormatterToXML.hpp.
|
inlineprotected |
Definition at line 490 of file FormatterToXML.hpp.
|
virtual |
Implements xalanc::FormatterListener.
Reimplemented in xalanc::FormatterToHTML.
|
virtual |
Reimplemented in xalanc::FormatterToHTML.
|
staticprotected |
Throw an exception when an invalid XML character is encountered.
ch | The first character in the surrogate |
next | The next character in the surrogate |
|
staticprotected |
Throw an exception when an invalid surrogate is encountered.
ch | The first character in the surrogate |
theManager | The MemoryManager instance to use |
|
staticprotected |
Throw an exception when an invalid surrogate is encountered.
ch | The first character in the surrogate |
next | The next character in the surrogate |
theManager | The MemoryManager instance to use |
|
protectedvirtual |
Write an attribute string.
theString | The string to write. |
theStringLength | The length of the string. |
Reimplemented in xalanc::FormatterToHTML.
|
protectedvirtual |
Write normalized characters to the writer.
ch | the string to write. |
start | the start offset into the string. |
length | the length of the string. |
isCData | true if writing CDATA. |
|
protected |
Write a number into the buffer as an entity reference.
theNumber | the number to write. |
|
protected |
Check to see if a parent's ">" has been written, and, if it has not, write it.
|
protected |
Definition at line 599 of file FormatterToXML.hpp.
|
protected |
Definition at line 601 of file FormatterToXML.hpp.
|
protected |
Flag to keep track of the indent amount.
Definition at line 677 of file FormatterToXML.hpp.
|
protected |
The public ID for the doc type.
Definition at line 667 of file FormatterToXML.hpp.
|
protected |
The System ID for the doc type.
Definition at line 662 of file FormatterToXML.hpp.
|
protected |
Flag to tell if indenting (pretty-printing) is on.
Definition at line 617 of file FormatterToXML.hpp.
|
protected |
The character encoding.
Definition at line 672 of file FormatterToXML.hpp.
|
protected |
Flag to quickly tell if the encoding is capable of full Unicode support.
Definition at line 657 of file FormatterToXML.hpp.
|
protected |
Tells if we're in CData section.
Definition at line 651 of file FormatterToXML.hpp.
|
protected |
Amount to indent.
Definition at line 682 of file FormatterToXML.hpp.
|
protected |
State flag to tell if preservation of whitespace is important.
Definition at line 612 of file FormatterToXML.hpp.
|
protected |
State flag that tells if the previous node processed was text, so we can tell if we should preserve whitespace.
Definition at line 635 of file FormatterToXML.hpp.
|
protected |
The maximum character size before we have to resort to escaping.
Definition at line 597 of file FormatterToXML.hpp.
|
protected |
Flag to tell that we need to add the doctype decl, which we can't do until the first element is encountered.
Definition at line 629 of file FormatterToXML.hpp.
|
protected |
Tell if the next text should be raw.
Definition at line 646 of file FormatterToXML.hpp.
|
protected |
Stack to keep track of whether or not we need to preserve whitespace.
Definition at line 688 of file FormatterToXML.hpp.
|
protected |
If true, XML header should be written to output.
Definition at line 606 of file FormatterToXML.hpp.
|
protected |
Flag to signal that a newline should be added.
Definition at line 622 of file FormatterToXML.hpp.
|
protected |
The stream where the XML will be written.
Definition at line 283 of file FormatterToXML.hpp.
|
protected |
Definition at line 693 of file FormatterToXML.hpp.
|
protected |
If true, cdata sections are simply stripped of their CDATA brackets, without escaping.
Definition at line 641 of file FormatterToXML.hpp.
|
protected |
The writer where the XML will be written.
Definition at line 278 of file FormatterToXML.hpp.
Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.
Generated on Sun May 31 2020 10:37:31 for Xalan-C++ API Reference by 1.8.17