Go to the documentation of this file.
10 #ifndef EBOOKHTMLPARSER_H_INCLUDED
11 #define EBOOKHTMLPARSER_H_INCLUDED
15 #include <librevenge/librevenge.h>
16 #include <librevenge-stream/librevenge-stream.h>
24 struct EBOOKHTMLMetadata;
25 class EBOOKHTMLParagraphAttributes;
26 class EBOOKHTMLSpanAttributes;
27 class EBOOKHTMLTableCellAttributes;
28 class EBOOKOutputElements;
50 virtual librevenge::RVNGInputStream *
getImage(
const char *
path) = 0;
51 virtual librevenge::RVNGInputStream *
getObject(
const char *
path) = 0;
74 std::shared_ptr<librevenge::RVNGInputStream>
m_input;
81 #endif // EBOOKHTMLPARSER_H_INCLUDED
void startExternalElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1460
Definition: EBOOKHTMLToken.h:92
std::shared_ptr< Configuration > ConfigurationPtr_t
Definition: XMLTreeNode.h:67
Definition: EBOOKHTMLToken.h:85
Definition: EBOOKHTMLToken.h:113
Definition: EBOOKHTMLToken.h:84
size_t len
Definition: EBOOKHTMLParser.cpp:47
const XMLTreeNodePtr_t readTreeImpl(std::string &encoding, bool &encodingChange)
Definition: EBOOKHTMLParser.cpp:964
Definition: EBOOKHTMLToken.h:59
string mimetype
Definition: EBOOKOPFParser.cpp:50
Definition: EBOOKHTMLToken.h:151
Dialect
Definition: EBOOKHTMLParser.h:36
Definition: EBOOKHTMLToken.h:181
optional< string > href
Definition: EBOOKOPFParser.cpp:150
Definition: EBOOKHTMLToken.h:97
bool isPre
Definition: EBOOKHTMLParser.cpp:890
Definition: FictionBook2Token.h:54
Definition: EBOOKHTMLToken.h:150
Definition: EBOOKHTMLToken.h:149
Definition: EBOOKHTMLToken.h:306
Definition: XMLTreeWalker.h:27
Definition: EBOOKCharsetConverter.h:21
ParseContext
Definition: EBOOKHTMLParser.cpp:572
int getOPFTokenId(const char *const name, const char *const ns)
Definition: EBOOKOPFToken.cpp:27
Definition: EBOOKHTMLToken.h:61
Iterator begin() const
Definition: XMLTreeWalker.cpp:1232
bool isText() const
Definition: XMLTreeWalker.cpp:1276
Definition: EBOOKHTMLToken.h:56
Definition: EBOOKHTMLToken.h:45
Definition: EBOOKHTMLToken.h:293
Definition: EBOOKHTMLToken.h:94
Definition: EBOOKHTMLToken.h:322
EBOOKHTMLParser(librevenge::RVNGInputStream *input, Dialect dialect, librevenge::RVNGTextInterface *document)
Definition: EBOOKHTMLParser.cpp:920
stack< ParseContext > contextStack
Definition: EBOOKHTMLParser.cpp:904
std::shared_ptr< librevenge::RVNGInputStream > m_input
Definition: EBOOKHTMLParser.h:74
Definition: EBOOKHTMLToken.h:274
Definition: EBOOKHTMLToken.h:67
std::deque< XMLStylesheet > XMLStylesheets_t
Definition: XMLStylesheet.h:51
Definition: EBOOKHTMLToken.h:146
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libebook_utils.cpp:170
Definition: XMLCollector.h:22
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libebook_utils.h:54
Definition: libebook_utils.h:56
Definition: EBOOKHTMLToken.h:50
Definition: EBOOKHTMLParser.h:31
static bool checkType(unsigned type, unsigned creator)
Definition: ZTXTParser.cpp:33
const Self_t *const m_chained
Definition: EBOOKHTMLParser.cpp:612
XMLStylesheets_t sheets
Definition: EBOOKHTMLParser.cpp:907
Definition: EBOOKHTMLToken.h:129
Definition: EBOOKHTMLToken.h:142
Definition: EBOOKHTMLToken.h:47
Definition: EPubToken.h:54
BOMEncoding
Definition: EBOOKDocument.cpp:63
ProbeFun_t probeFun
Definition: EBOOKDocument.cpp:324
string path
Definition: EBOOKOPFParser.cpp:49
Definition: EBOOKHTMLParser.h:40
Definition: EBOOKUTF8Stream.h:22
Definition: EBOOKHTMLToken.h:35
Definition: EBOOKHTMLToken.h:95
Definition: EBOOKHTMLToken.h:63
int ebookXMLReadFromStream(void *context, char *buffer, int len)
Definition: libebook_xml.cpp:19
Definition: EBOOKHTMLToken.h:48
Definition: EPubToken.h:27
Definition: EBOOKHTMLToken.h:283
void text(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1429
Definition: BBeBCollector.cpp:18
Definition: EBOOKHTMLToken.h:91
Definition: EBOOKHTMLToken.h:112
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
Definition: EBOOKHTMLToken.h:295
Definition: EBOOKHTMLToken.h:136
const char * char_cast(const char *const c)
Definition: libebook_xml.cpp:53
CSSSelectResultsPtr_t getStyle(const XMLStylesheets_t &sheets, bool quirks=false, const CSSStylesheetPtr_t &inlineSheet=CSSStylesheetPtr_t()) const
Definition: XMLTreeWalker.cpp:1524
Definition: EBOOKHTMLToken.h:28
Definition: FictionBook2Token.h:29
static bool checkType(unsigned type, unsigned creator)
Definition: TealDocParser.cpp:560
std::shared_ptr< hubbub_parser > HUBBUBParserPtr_t
Definition: libebook_hubbub.h:20
Definition: EBOOKHTMLToken.h:134
Definition: EBOOKHTMLToken.h:78
const std::string getName() const
Definition: XMLTreeWalker.cpp:1306
static bool isSupported(librevenge::RVNGInputStream *input)
Definition: BBeBParser.cpp:299
Definition: EBOOKHTMLToken.h:34
Definition: EBOOKHTMLToken.h:80
Definition: EBOOKHTMLToken.h:121
Definition: EBOOKHTMLToken.h:32
static bool checkType(unsigned type, unsigned creator)
Definition: PalmDocParser.cpp:47
const char * encoding
Definition: EBOOKHTMLParser.cpp:166
ContextType context
Definition: XMLCollector.cpp:568
Definition: EBOOKHTMLToken.h:88
Definition: EBOOKHTMLToken.h:87
LWCStringPtr_t nsMap[HUBBUB_NS_XMLNS]
Definition: EBOOKHTMLParser.cpp:172
Definition: EBOOKHTMLToken.h:126
Definition: EBOOKHTMLToken.h:309
std::shared_ptr< css_select_results > CSSSelectResultsPtr_t
Definition: libebook_libcss.h:25
Definition: EBOOKHTMLToken.h:23
Definition: EBOOKHTMLToken.h:137
void intrusive_ptr_release(lwc_string *const p)
Definition: libebook_libcss.cpp:42
Definition: EBOOKHTMLToken.h:72
Definition: EBOOKHTMLToken.h:86
Definition: EBOOKHTMLToken.h:144
Definition: EBOOKHTMLToken.h:256
std::shared_ptr< XMLCollector > m_collector
Definition: EBOOKHTMLParser.h:72
void sendPreformattedText(const char *ch, int len)
Definition: EBOOKHTMLParser.cpp:1490
Definition: EBOOKHTMLToken.h:203
Definition: EBOOKHTMLToken.h:75
void sendParagraph(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1472
Definition: EBOOKHTMLToken.h:117
bool operator==(const XMLTreeNode::QName &lhs, const XMLTreeNode::QName &rhs)
Definition: XMLTreeNode.cpp:440
Definition: EBOOKHTMLToken.h:79
Definition: EBOOKOPFToken.h:121
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libebook_utils.cpp:152
Definition: EBOOKHTMLToken.h:42
Definition: EBOOKHTMLToken.h:41
Definition: EBOOKHTMLToken.h:74
Definition: EBOOKHTMLToken.h:275
#define STR_LIT(s)
Definition: EBOOKHTMLParser.cpp:36
Definition: EBOOKHTMLToken.h:33
MSPackFileData * data
Definition: HTMLHelpStream.cpp:63
Definition: EBOOKOPFToken.h:50
Definition: EBOOKHTMLParser.cpp:902
Definition: EBOOKHTMLToken.h:66
const XMLTreeNodePtr_t readTree()
Definition: EBOOKHTMLParser.cpp:946
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:163
#define EBOOK_NUM_ELEMENTS(array)
Definition: libebook_utils.h:49
virtual librevenge::RVNGInputStream * getImage(const char *path)=0
Definition: EBOOKHTMLToken.h:81
static bool checkType(unsigned type, unsigned creator)
Definition: PluckerParser.cpp:1203
int getEPubTokenId(const char *const name, const char *const ns)
Definition: EPubToken.cpp:27
Definition: EBOOKHTMLToken.h:132
Definition: EBOOKHTMLToken.h:37
Definition: EBOOKHTMLToken.h:284
int ebookXMLCloseStream(void *)
Definition: libebook_xml.cpp:43
RVNGPropertyList metadata
Definition: EBOOKOPFParser.cpp:63
virtual ~EBOOKHTMLParser()
Definition: EBOOKHTMLParser.cpp:928
Definition: EBOOKHTMLToken.h:291
const char * str
Definition: EBOOKHTMLParser.cpp:46
Definition: EBOOKHTMLToken.h:51
Definition: EPubToken.h:44
Definition: EBOOKHTMLToken.h:89
hubbub_quirks_mode mode
Definition: EBOOKHTMLParser.cpp:164
Definition: EBOOKHTMLToken.h:114
void processNode(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:996
T & m_attrs
Definition: EBOOKHTMLParser.cpp:610
std::shared_ptr< librevenge::RVNGInputStream > m_workingInput
Definition: EBOOKHTMLParser.h:76
void endElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1261
Definition: EBOOKHTMLToken.h:116
Definition: EBOOKHTMLToken.h:36
Definition: EBOOKHTMLToken.h:304
XMLTreeNode::ConfigurationPtr_t config
Definition: EBOOKHTMLParser.cpp:177
Definition: EBOOKHTMLParser.h:38
HUBBUBParserPtr_t wrap(hubbub_parser *const p)
Definition: libebook_hubbub.cpp:15
Definition: EBOOKHTMLToken.h:140
const Iterator end() const
Definition: XMLTreeWalker.cpp:1240
HUBBUBParserPtr_t parser
Definition: EBOOKHTMLParser.cpp:170
int getFictionBook2TokenID(const FictionBook2TokenData &token)
Definition: FictionBook2Token.cpp:50
Definition: EBOOKHTMLToken.h:299
const std::string & getText() const
Definition: XMLTreeWalker.cpp:1322
MSPackFile container
Definition: HTMLHelpStream.cpp:93
Definition: EBOOKHTMLToken.h:58
static bool checkType(unsigned type, unsigned creator)
Definition: PeanutPressParser.cpp:720
void sendSpan(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1478
Definition: EBOOKHTMLToken.h:100
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:73
Definition: EBOOKHTMLToken.h:270
static bool findOPFStream(const RVNGInputStreamPtr_t &package, unsigned &stream)
Definition: EBOOKOPFParser.cpp:689
Definition: EBOOKHTMLToken.h:82
Definition: EBOOKHTMLToken.h:64
Definition: EBOOKHTMLToken.h:54
CheckTypeFun_t checkFun
Definition: EBOOKDocument.cpp:323
string name
Definition: HTMLHelpStream.cpp:80
void startElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1011
XMLTreeNode::ConfigurationPtr_t xhtmlConfig
Definition: EBOOKHTMLParser.cpp:175
Definition: EBOOKHTMLToken.h:138
Definition: EBOOKHTMLToken.h:152
Definition: EBOOKHTMLToken.h:205
Definition: EBOOKHTMLToken.h:77
Definition: EBOOKHTMLToken.h:135
Definition: EBOOKHTMLToken.h:282
int getId() const
Definition: XMLTreeWalker.cpp:1283
Definition: EBOOKHTMLToken.h:131
Definition: EBOOKHTMLToken.h:290
Definition: EBOOKHTMLToken.h:119
Definition: EBOOKHTMLToken.h:49
Definition: EBOOKHTMLToken.h:145
Definition: EBOOKHTMLParser.h:39
Definition: EBOOKHTMLToken.h:96
Definition: EBOOKHTMLToken.h:53
Definition: EBOOKHTMLToken.h:139
void endExternalElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1466
#define EBOOK_DEBUG_MSG(M)
Definition: libebook_utils.h:44
Definition: EBOOKOPFToken.h:28
Definition: EBOOKHTMLToken.h:103
EBOOKHTMLMetadata metadata
Definition: EBOOKHTMLParser.cpp:906
const Func_t m_handler
Definition: EBOOKHTMLParser.cpp:611
bool isElement() const
Definition: XMLTreeWalker.cpp:1269
const unsigned char * readNBytes(librevenge::RVNGInputStream *const input, const unsigned long numBytes)
Definition: libebook_utils.cpp:105
Definition: EBOOKHTMLToken.h:321
int getHTMLTokenId(const char *const name, const char *const ns)
Definition: EBOOKHTMLToken.cpp:27
Definition: EBOOKHTMLToken.h:52
Definition: EBOOKHTMLToken.h:249
Definition: EBOOKHTMLToken.h:69
Definition: EBOOKHTMLToken.h:127
Definition: EBOOKHTMLToken.h:111
Definition: EBOOKHTMLToken.h:90
Definition: EBOOKHTMLToken.h:143
boost::intrusive_ptr< XMLTreeNode > XMLTreeNodePtr_t
Definition: XMLTreeNode.h:24
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:325
Definition: EBOOKOPFToken.h:63
Definition: EBOOKHTMLToken.h:109
qi::rule< Iterator, std::pair< int, Attributes_t >, qi::space_type > tag
Definition: TealDocParser.cpp:229
Definition: EBOOKHTMLToken.h:44
Definition: EBOOKHTMLToken.h:125
Definition: FictionBook2Token.h:97
Definition: EBOOKHTMLToken.h:332
Definition: EBOOKHTMLToken.h:147
Definition: EBOOKHTMLToken.h:104
hubbub_tree_handler handler
Definition: EBOOKHTMLParser.cpp:168
Definition: EBOOKHTMLToken.h:40
Definition: EBOOKHTMLToken.h:55
Definition: EBOOKHTMLToken.h:76
Definition: EBOOKHTMLToken.h:133
void parse()
Definition: EBOOKHTMLParser.cpp:932
Definition: EBOOKHTMLToken.h:110
Definition: EBOOKHTMLToken.h:317
bool findSubStreamByExt(const RVNGInputStreamPtr_t &input, const std::string &ext, unsigned &id)
Definition: libebook_utils.cpp:245
Definition: EBOOKHTMLToken.h:65
void intrusive_ptr_add_ref(lwc_string *const p)
Definition: libebook_libcss.cpp:37
virtual librevenge::RVNGInputStream * getStylesheet(const char *path)=0
std::shared_ptr< State > m_state
Definition: EBOOKHTMLParser.h:73
optional< Style > style
Definition: TealDocParser.cpp:105
Definition: EBOOKHTMLToken.h:314
XMLTreeNode::ConfigurationPtr_t htmlConfig
Definition: EBOOKHTMLParser.cpp:174
void sendTableCell(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1484
Definition: libebook_utils.h:105
Definition: EBOOKHTMLToken.h:285
virtual librevenge::RVNGInputStream * getObject(const char *path)=0
BlockState blockState
Definition: EBOOKHTMLParser.cpp:905
Definition: EBOOKOPFToken.h:47
boost::intrusive_ptr< lwc_string > LWCStringPtr_t
Definition: libebook_libcss.h:27
void sendHeading(const XMLTreeWalker &node, int level)
Definition: EBOOKHTMLParser.cpp:1534
Definition: EBOOKHTMLToken.h:130
Generated for libe-book by
doxygen 1.8.16