/// Receives notification of sax document events to write into an XOutputStream. class FastSaxSerializer
{ typedef css::uno::Sequence< ::sal_Int32 > Int32Sequence;
css::uno::Reference< css::io::XOutputStream > const & getOutputStream() const; /// called by FSHelper to put data in for writeTokenValueList
TokenValueList& getTokenValueList() { return maTokenValues; }
/** called by the parser when parsing of an XML stream is started.
*/ void startDocument();
/** called by the parser after the last XML element of a stream is processed.
*/ void endDocument();
/** receives notification of the beginning of an element.
private: /** Helper class to cache data and write in chunks to XOutputStream or ForMerge::append. *ItsflushmethodneedstobecalledbeforetouchingmaMarkStack *toensurecorrectorderofForSortmethods.
*/
CachedOutputStream maCachedOutputStream;
css::uno::Reference< css::xml::sax::XFastTokenHandler > mxFastTokenHandler;
class ForMerge : public ForMergeBase
{
Int8Sequence maData;
std::vector<sal_Int8> maPostponed;
public:
sal_Int32 const m_Tag; #ifdef DBG_UTIL // pending close tags, followed by pending open tags
std::deque<sal_Int32> m_DebugEndedElements;
std::deque<sal_Int32> m_DebugStartedElements; // ... and another buffer for maPostponed ...
std::deque<sal_Int32> m_DebugPostponedEndedElements;
std::deque<sal_Int32> m_DebugPostponedStartedElements; #endif
std::stack< std::shared_ptr< ForMerge > > maMarkStack; bool mbMarkStackEmpty; // Would be better to use OStringBuffer instead of these two // but then we couldn't get the rtl_String* member :-(
rtl_String *mpDoubleStr;
sal_Int32 mnDoubleStrCapacity;
TokenValueList maTokenValues; bool mbXescape; ///< whether to escape invalid XML characters as _xHHHH_ in write(const char*,sal_Int32,true)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.