LibreOffice Module sax (master) 1
|
Classes | |
class | CachedOutputStream |
class | FastAttributeList |
class | FastSaxParser |
class | FastSaxParserImpl |
class | FastSaxSerializer |
Receives notification of sax document events to write into an XOutputStream. More... | |
class | FastSerializerHelper |
class | FastTokenHandlerBase |
A native C++ interface to tokenisation. More... | |
class | ForMergeBase |
struct | TokenValue |
struct | UnknownAttribute |
Typedefs | |
typedef std::shared_ptr< FastSerializerHelper > | FSHelperPtr |
typedef std::vector< TokenValue > | TokenValueList |
typedef std::shared_ptr< FastSerializerHelper > | FSHelperPtr |
Enumerations | |
enum class | MergeMarks { APPEND = 0 , PREPEND = 1 , POSTPONE = 2 } |
Functions | |
template<typename Int > | |
static std::optional< std::pair< unsigned, Int > > | invalidChar (char const *string, Int length, Int index) |
Characters not allowed in XML 1.0 XML 1.1 would exclude only U+0000. More... | |
static bool | isHexDigit (char c) |
static void | lcl_DebugMergeAppend (std::deque< sal_Int32 > &rLeftEndedElements, std::deque< sal_Int32 > &rLeftStartedElements, std::deque< sal_Int32 > &rRightEndedElements, std::deque< sal_Int32 > &rRightStartedElements) |
static void | lcl_DebugMergePrepend (std::deque< sal_Int32 > &rLeftEndedElements, std::deque< sal_Int32 > &rLeftStartedElements, std::deque< sal_Int32 > &rRightEndedElements, std::deque< sal_Int32 > &rRightStartedElements) |
FastAttributeList & | castToFastAttributeList (const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) |
const char * | UseIf (const char *s, bool bUse) |
template<class TString > | |
std::optional< TString > | UseIf (const TString &s, bool bUse) |
typedef std::shared_ptr< FastSerializerHelper > sax_fastparser::FSHelperPtr |
Definition at line 163 of file fshelper.hxx.
typedef std::vector<TokenValue> sax_fastparser::TokenValueList |
Definition at line 43 of file fastserializer.hxx.
|
strong |
Enumerator | |
---|---|
APPEND | |
PREPEND | |
POSTPONE |
Definition at line 41 of file fshelper.hxx.
|
inline |
Definition at line 240 of file fastattribs.hxx.
Referenced by sax_fastparser::FastAttributeList::add(), and sax_fastparser::FastAttributeList::FastAttributeList().
|
static |
Characters not allowed in XML 1.0 XML 1.1 would exclude only U+0000.
This assumes that string
is UTF-8, but which appears to generally be the case: The only user of this FastSaxSerializer code is FastSerializerHelper, and when its constructor (sax/source/tools/fshelper.cxx) is called with bWriteHeader being true, it calls FastSaxSerializer::startDocument, which writes sXmlHeader claiming encoding="UTF-8". The only place that appears to construct FastSerializerHelper appears to be XmlFilterBase::openFragmentStreamWithSerializer (oox/source/core/xmlfilterbase.cxx), and it only passes false for bWriteHeader when the given rMediaType contains "vml" but not "+xml" (see https://git.libreoffice.org/core/+/6a11add2c4ea975356cfb7bab02301788c79c904%5E!/ "XLSX VML Export fixes", stating "Don't write xml headers for vml files"). But lets assume that even such Vector Markup Language files are written as UTF-8.
Definition at line 121 of file fastserializer.cxx.
Referenced by sax_fastparser::FastSaxSerializer::write(), and sax_fastparser::FastSaxSerializer::writeBytes().
|
static |
Definition at line 150 of file fastserializer.cxx.
Referenced by sax_fastparser::FastSaxSerializer::write().
|
static |
Definition at line 524 of file fastserializer.cxx.
Referenced by sax_fastparser::FastSaxSerializer::mergeTopMarks().
|
static |
Definition at line 550 of file fastserializer.cxx.
Referenced by sax_fastparser::FastSaxSerializer::mergeTopMarks().
|
inline |
Definition at line 167 of file fshelper.hxx.
std::optional< TString > sax_fastparser::UseIf | ( | const TString & | s, |
bool | bUse | ||
) |
Definition at line 170 of file fshelper.hxx.