Go to the documentation of this file.
10 #ifndef EBOOKHTMLPARSER_H_INCLUDED
11 #define EBOOKHTMLPARSER_H_INCLUDED
13 #include <boost/shared_ptr.hpp>
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;
74 boost::shared_ptr<librevenge::RVNGInputStream>
m_input;
81 #endif // EBOOKHTMLPARSER_H_INCLUDED
void startExternalElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1465
@ kbd
Definition: EBOOKHTMLToken.h:94
@ html
Definition: EBOOKHTMLToken.h:87
@ optgroup
Definition: EBOOKHTMLToken.h:115
@ hr
Definition: EBOOKHTMLToken.h:86
boost::shared_ptr< State > m_state
Definition: EBOOKHTMLParser.h:73
size_t len
Definition: EBOOKHTMLParser.cpp:53
const XMLTreeNodePtr_t readTreeImpl(std::string &encoding, bool &encodingChange)
Definition: EBOOKHTMLParser.cpp:970
@ del
Definition: EBOOKHTMLToken.h:61
string mimetype
Definition: EBOOKOPFParser.cpp:50
@ ul
Definition: EBOOKHTMLToken.h:153
Dialect
Definition: EBOOKHTMLParser.h:37
@ color
Definition: EBOOKHTMLToken.h:183
optional< string > href
Definition: EBOOKOPFParser.cpp:150
@ link
Definition: EBOOKHTMLToken.h:99
bool isPre
Definition: EBOOKHTMLParser.cpp:896
@ u
Definition: EBOOKHTMLToken.h:152
@ tt
Definition: EBOOKHTMLToken.h:151
@ red
Definition: EBOOKHTMLToken.h:308
Definition: XMLTreeWalker.h:28
Definition: EBOOKCharsetConverter.h:21
int getOPFTokenId(const char *const name, const char *const ns)
Definition: EBOOKOPFToken.cpp:27
@ dfn
Definition: EBOOKHTMLToken.h:63
static bool checkType(unsigned type, unsigned creator)
Definition: PMLParser.cpp:719
Iterator begin() const
Definition: XMLTreeWalker.cpp:1233
static bool isSupported(librevenge::RVNGInputStream *input)
Definition: LRFParser.cpp:300
bool isText() const
Definition: XMLTreeWalker.cpp:1277
@ colgroup
Definition: EBOOKHTMLToken.h:58
@ big
Definition: EBOOKHTMLToken.h:47
@ maroon
Definition: EBOOKHTMLToken.h:295
@ label
Definition: EBOOKHTMLToken.h:96
@ yellow
Definition: EBOOKHTMLToken.h:324
EBOOKHTMLParser(librevenge::RVNGInputStream *input, Dialect dialect, librevenge::RVNGTextInterface *document)
Definition: EBOOKHTMLParser.cpp:926
stack< ParseContext > contextStack
Definition: EBOOKHTMLParser.cpp:910
@ black
Definition: EBOOKHTMLToken.h:276
@ em
Definition: EBOOKHTMLToken.h:69
std::deque< XMLStylesheet > XMLStylesheets_t
Definition: XMLStylesheet.h:51
@ title
Definition: EBOOKHTMLToken.h:148
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libebook_utils.cpp:168
Definition: XMLCollector.h:25
Definition: libebook_utils.h:85
@ button
Definition: EBOOKHTMLToken.h:52
Definition: EBOOKHTMLParser.h:32
static bool checkType(unsigned type, unsigned creator)
Definition: ZTXTParser.cpp:33
const Self_t *const m_chained
Definition: EBOOKHTMLParser.cpp:618
boost::shared_ptr< hubbub_parser > HUBBUBParserPtr_t
Definition: libebook_hubbub.h:20
XMLStylesheets_t sheets
Definition: EBOOKHTMLParser.cpp:913
@ NS_container
Definition: EPUBToken.h:56
@ select
Definition: EBOOKHTMLToken.h:131
@ textarea
Definition: EBOOKHTMLToken.h:144
@ blockquote
Definition: EBOOKHTMLToken.h:49
ProbeFun_t probeFun
Definition: EBOOKDocument.cpp:327
@ MIME_epub
Definition: EPUBToken.h:46
string path
Definition: EBOOKOPFParser.cpp:49
@ DIALECT_XHTML
Definition: EBOOKHTMLParser.h:40
Definition: EBOOKUTF8Stream.h:23
@ address
Definition: EBOOKHTMLToken.h:37
@ legend
Definition: EBOOKHTMLToken.h:97
@ dir
Definition: EBOOKHTMLToken.h:65
int ebookXMLReadFromStream(void *context, char *buffer, int len)
Definition: libebook_xml.cpp:19
@ body
Definition: EBOOKHTMLToken.h:50
boost::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libebook_utils.h:82
boost::shared_ptr< css_select_results > CSSSelectResultsPtr_t
Definition: libebook_libcss.h:24
@ get
Definition: EBOOKHTMLToken.h:285
void text(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1434
Definition: CHMParser.cpp:21
@ isindex
Definition: EBOOKHTMLToken.h:93
@ ol
Definition: EBOOKHTMLToken.h:114
@ navy
Definition: EBOOKHTMLToken.h:297
@ sub
Definition: EBOOKHTMLToken.h:138
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:1525
@ xml
Definition: EBOOKHTMLToken.h:30
int getEPUBTokenId(const char *const name, const char *const ns)
Definition: EPUBToken.cpp:27
@ strong
Definition: EBOOKHTMLToken.h:136
@ h4
Definition: EBOOKHTMLToken.h:80
const std::string getName() const
Definition: XMLTreeWalker.cpp:1307
@ acronym
Definition: EBOOKHTMLToken.h:36
@ h6
Definition: EBOOKHTMLToken.h:82
@ q
Definition: EBOOKHTMLToken.h:123
@ a
Definition: EBOOKHTMLToken.h:34
@ value
Definition: EBOOKHTMLToken.h:263
const char * encoding
Definition: EBOOKHTMLParser.cpp:172
ContextType context
Definition: XMLCollector.cpp:569
@ img
Definition: EBOOKHTMLToken.h:90
@ iframe
Definition: EBOOKHTMLToken.h:89
const unsigned char * readNBytes(librevenge::RVNGInputStream *const input, const unsigned long numBytes)
Definition: libebook_utils.cpp:103
LWCStringPtr_t nsMap[HUBBUB_NS_XMLNS]
Definition: EBOOKHTMLParser.cpp:178
boost::shared_ptr< librevenge::RVNGInputStream > m_workingInput
Definition: EBOOKHTMLParser.h:76
static bool checkType(unsigned type, unsigned creator)
Definition: PDBParser.cpp:50
@ samp
Definition: EBOOKHTMLToken.h:128
@ rhs
Definition: EBOOKHTMLToken.h:311
@ INVALID_TOKEN
Definition: EBOOKHTMLToken.h:25
@ sup
Definition: EBOOKHTMLToken.h:139
void intrusive_ptr_release(lwc_string *const p)
Definition: libebook_libcss.cpp:42
@ font
Definition: EBOOKHTMLToken.h:74
@ i
Definition: EBOOKHTMLToken.h:88
@ th
Definition: EBOOKHTMLToken.h:146
@ target
Definition: EBOOKHTMLToken.h:258
void sendPreformattedText(const char *ch, int len)
Definition: EBOOKHTMLParser.cpp:1495
@ id
Definition: EBOOKHTMLToken.h:205
@ h1
Definition: EBOOKHTMLToken.h:77
void sendParagraph(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1477
@ param
Definition: EBOOKHTMLToken.h:119
bool operator==(const XMLTreeNode::QName &lhs, const XMLTreeNode::QName &rhs)
Definition: XMLTreeNode.cpp:441
@ h5
Definition: EBOOKHTMLToken.h:81
@ NS_opf
Definition: EBOOKOPFToken.h:123
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libebook_utils.cpp:150
@ basefont
Definition: EBOOKHTMLToken.h:44
@ base
Definition: EBOOKHTMLToken.h:43
@ form
Definition: EBOOKHTMLToken.h:76
@ blue
Definition: EBOOKHTMLToken.h:277
#define STR_LIT(s)
Definition: EBOOKHTMLParser.cpp:42
@ abbr
Definition: EBOOKHTMLToken.h:35
@ creator
Definition: EBOOKOPFToken.h:52
Definition: EBOOKHTMLParser.cpp:909
@ dt
Definition: EBOOKHTMLToken.h:68
@ NS_FICTIONBOOK
Definition: FB2Token.h:31
const XMLTreeNodePtr_t readTree()
Definition: EBOOKHTMLParser.cpp:952
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
#define EBOOK_NUM_ELEMENTS(array)
Definition: libebook_utils.h:77
virtual librevenge::RVNGInputStream * getImage(const char *path)=0
@ head
Definition: EBOOKHTMLToken.h:83
@ span
Definition: EBOOKHTMLToken.h:134
@ area
Definition: EBOOKHTMLToken.h:39
@ gray
Definition: EBOOKHTMLToken.h:286
int ebookXMLCloseStream(void *)
Definition: libebook_xml.cpp:43
RVNGPropertyList metadata
Definition: EBOOKOPFParser.cpp:63
virtual ~EBOOKHTMLParser()
Definition: EBOOKHTMLParser.cpp:935
@ lime
Definition: EBOOKHTMLToken.h:293
const char * str
Definition: EBOOKHTMLParser.cpp:52
@ caption
Definition: EBOOKHTMLToken.h:53
@ FictionBook
Definition: FB2Token.h:56
@ input
Definition: EBOOKHTMLToken.h:91
hubbub_quirks_mode mode
Definition: EBOOKHTMLParser.cpp:170
@ option
Definition: EBOOKHTMLToken.h:116
void processNode(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1002
T & m_attrs
Definition: EBOOKHTMLParser.cpp:616
void endElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1266
@ p
Definition: EBOOKHTMLToken.h:118
@ applet
Definition: EBOOKHTMLToken.h:38
@ purple
Definition: EBOOKHTMLToken.h:306
XMLTreeNode::ConfigurationPtr_t config
Definition: EBOOKHTMLParser.cpp:183
@ DIALECT_UNKNOWN
Definition: EBOOKHTMLParser.h:38
MSPackFileData * data
Definition: CHMStream.cpp:63
HUBBUBParserPtr_t wrap(hubbub_parser *const p)
Definition: libebook_hubbub.cpp:15
@ td
Definition: EBOOKHTMLToken.h:142
const Iterator end() const
Definition: XMLTreeWalker.cpp:1241
HUBBUBParserPtr_t parser
Definition: EBOOKHTMLParser.cpp:176
@ olive
Definition: EBOOKHTMLToken.h:301
const std::string & getText() const
Definition: XMLTreeWalker.cpp:1323
@ dd
Definition: EBOOKHTMLToken.h:60
@ v
Definition: FB2Token.h:99
string name
Definition: CHMStream.cpp:80
void sendSpan(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1483
@ map
Definition: EBOOKHTMLToken.h:102
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:71
@ aqua
Definition: EBOOKHTMLToken.h:272
static bool findOPFStream(const RVNGInputStreamPtr_t &package, unsigned &stream)
Definition: EBOOKOPFParser.cpp:689
@ header
Definition: EBOOKHTMLToken.h:84
@ div
Definition: EBOOKHTMLToken.h:66
@ code
Definition: EBOOKHTMLToken.h:56
static bool checkType(unsigned type, unsigned creator)
Definition: TDParser.cpp:520
CheckTypeFun_t checkFun
Definition: EBOOKDocument.cpp:326
void startElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1016
XMLTreeNode::ConfigurationPtr_t xhtmlConfig
Definition: EBOOKHTMLParser.cpp:181
@ table
Definition: EBOOKHTMLToken.h:140
@ var
Definition: EBOOKHTMLToken.h:154
@ lang
Definition: EBOOKHTMLToken.h:207
@ h3
Definition: EBOOKHTMLToken.h:79
@ style
Definition: EBOOKHTMLToken.h:137
@ fuchsia
Definition: EBOOKHTMLToken.h:284
int getFB2TokenID(const FB2TokenData &token)
Definition: FB2Token.cpp:50
int getId() const
Definition: XMLTreeWalker.cpp:1284
@ source
Definition: EBOOKHTMLToken.h:133
@ lhs
Definition: EBOOKHTMLToken.h:292
@ pre
Definition: EBOOKHTMLToken.h:121
@ br
Definition: EBOOKHTMLToken.h:51
@ thead
Definition: EBOOKHTMLToken.h:147
@ DIALECT_HTML
Definition: EBOOKHTMLParser.h:39
@ li
Definition: EBOOKHTMLToken.h:98
MSPackFile container
Definition: CHMStream.cpp:93
@ cite
Definition: EBOOKHTMLToken.h:55
@ tbody
Definition: EBOOKHTMLToken.h:141
void endExternalElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1471
#define EBOOK_DEBUG_MSG(M)
Definition: libebook_utils.h:73
@ opf
Definition: EBOOKOPFToken.h:30
@ menu
Definition: EBOOKHTMLToken.h:105
EBOOKHTMLMetadata metadata
Definition: EBOOKHTMLParser.cpp:912
const Func_t m_handler
Definition: EBOOKHTMLParser.cpp:617
bool isElement() const
Definition: XMLTreeWalker.cpp:1270
@ white
Definition: EBOOKHTMLToken.h:323
static bool checkType(unsigned type, unsigned creator)
Definition: PLKRParser.cpp:1210
int getHTMLTokenId(const char *const name, const char *const ns)
Definition: EBOOKHTMLToken.cpp:27
@ center
Definition: EBOOKHTMLToken.h:54
@ size
Definition: EBOOKHTMLToken.h:251
@ fieldset
Definition: EBOOKHTMLToken.h:71
@ script
Definition: EBOOKHTMLToken.h:129
@ object
Definition: EBOOKHTMLToken.h:113
@ ins
Definition: EBOOKHTMLToken.h:92
@ tfoot
Definition: EBOOKHTMLToken.h:145
boost::intrusive_ptr< XMLTreeNode > XMLTreeNodePtr_t
Definition: XMLTreeNode.h:24
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:328
@ package
Definition: EBOOKOPFToken.h:65
@ noframes
Definition: EBOOKHTMLToken.h:111
@ bdo
Definition: EBOOKHTMLToken.h:46
@ s
Definition: EBOOKHTMLToken.h:127
@ NS_html
Definition: EBOOKHTMLToken.h:334
@ tr
Definition: EBOOKHTMLToken.h:149
@ meta
Definition: EBOOKHTMLToken.h:106
optional< Style > style
Definition: TDParser.cpp:106
hubbub_tree_handler handler
Definition: EBOOKHTMLParser.cpp:174
@ b
Definition: EBOOKHTMLToken.h:42
@ col
Definition: EBOOKHTMLToken.h:57
@ h2
Definition: EBOOKHTMLToken.h:78
@ strike
Definition: EBOOKHTMLToken.h:135
@ container
Definition: EPUBToken.h:29
void parse()
Definition: EBOOKHTMLParser.cpp:939
@ noscript
Definition: EBOOKHTMLToken.h:112
@ teal
Definition: EBOOKHTMLToken.h:319
bool findSubStreamByExt(const RVNGInputStreamPtr_t &input, const std::string &ext, unsigned &id)
Definition: libebook_utils.cpp:250
boost::shared_ptr< librevenge::RVNGInputStream > m_input
Definition: EBOOKHTMLParser.h:74
@ dl
Definition: EBOOKHTMLToken.h:67
void intrusive_ptr_add_ref(lwc_string *const p)
Definition: libebook_libcss.cpp:37
virtual librevenge::RVNGInputStream * getStylesheet(const char *path)=0
@ silver
Definition: EBOOKHTMLToken.h:316
XMLTreeNode::ConfigurationPtr_t htmlConfig
Definition: EBOOKHTMLParser.cpp:180
boost::shared_ptr< Configuration > ConfigurationPtr_t
Definition: XMLTreeNode.h:67
void sendTableCell(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1489
Definition: libebook_utils.h:132
@ green
Definition: EBOOKHTMLToken.h:287
virtual librevenge::RVNGInputStream * getObject(const char *path)=0
BlockState blockState
Definition: EBOOKHTMLParser.cpp:911
@ Type
Definition: EBOOKOPFToken.h:49
boost::intrusive_ptr< lwc_string > LWCStringPtr_t
Definition: libebook_libcss.h:26
boost::shared_ptr< XMLCollector > m_collector
Definition: EBOOKHTMLParser.h:72
void sendHeading(const XMLTreeWalker &node, int level)
Definition: EBOOKHTMLParser.cpp:1539
@ small
Definition: EBOOKHTMLToken.h:132
Generated for libe-book by
doxygen 1.8.18