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
@ kbd
Definition: EBOOKHTMLToken.h:92
std::shared_ptr< Configuration > ConfigurationPtr_t
Definition: XMLTreeNode.h:67
@ html
Definition: EBOOKHTMLToken.h:85
@ optgroup
Definition: EBOOKHTMLToken.h:113
@ hr
Definition: EBOOKHTMLToken.h:84
size_t len
Definition: EBOOKHTMLParser.cpp:47
const XMLTreeNodePtr_t readTreeImpl(std::string &encoding, bool &encodingChange)
Definition: EBOOKHTMLParser.cpp:964
@ del
Definition: EBOOKHTMLToken.h:59
string mimetype
Definition: EBOOKOPFParser.cpp:50
@ ul
Definition: EBOOKHTMLToken.h:151
Dialect
Definition: EBOOKHTMLParser.h:36
@ color
Definition: EBOOKHTMLToken.h:181
optional< string > href
Definition: EBOOKOPFParser.cpp:150
@ link
Definition: EBOOKHTMLToken.h:97
bool isPre
Definition: EBOOKHTMLParser.cpp:890
@ FictionBook
Definition: FictionBook2Token.h:54
@ u
Definition: EBOOKHTMLToken.h:150
@ tt
Definition: EBOOKHTMLToken.h:149
@ red
Definition: EBOOKHTMLToken.h:306
Definition: XMLTreeWalker.h:27
Definition: EBOOKCharsetConverter.h:21
int getOPFTokenId(const char *const name, const char *const ns)
Definition: EBOOKOPFToken.cpp:27
@ dfn
Definition: EBOOKHTMLToken.h:61
Iterator begin() const
Definition: XMLTreeWalker.cpp:1232
bool isText() const
Definition: XMLTreeWalker.cpp:1276
@ colgroup
Definition: EBOOKHTMLToken.h:56
@ big
Definition: EBOOKHTMLToken.h:45
@ maroon
Definition: EBOOKHTMLToken.h:293
@ label
Definition: EBOOKHTMLToken.h:94
@ yellow
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
@ black
Definition: EBOOKHTMLToken.h:274
@ em
Definition: EBOOKHTMLToken.h:67
std::deque< XMLStylesheet > XMLStylesheets_t
Definition: XMLStylesheet.h:51
@ title
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
@ button
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
@ select
Definition: EBOOKHTMLToken.h:129
@ textarea
Definition: EBOOKHTMLToken.h:142
@ blockquote
Definition: EBOOKHTMLToken.h:47
@ NS_container
Definition: EPubToken.h:54
ProbeFun_t probeFun
Definition: EBOOKDocument.cpp:324
string path
Definition: EBOOKOPFParser.cpp:49
@ DIALECT_XHTML
Definition: EBOOKHTMLParser.h:40
Definition: EBOOKUTF8Stream.h:22
@ address
Definition: EBOOKHTMLToken.h:35
@ legend
Definition: EBOOKHTMLToken.h:95
@ dir
Definition: EBOOKHTMLToken.h:63
int ebookXMLReadFromStream(void *context, char *buffer, int len)
Definition: libebook_xml.cpp:19
@ body
Definition: EBOOKHTMLToken.h:48
@ container
Definition: EPubToken.h:27
@ get
Definition: EBOOKHTMLToken.h:283
void text(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1429
Definition: BBeBCollector.cpp:18
@ isindex
Definition: EBOOKHTMLToken.h:91
@ ol
Definition: EBOOKHTMLToken.h:112
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
@ navy
Definition: EBOOKHTMLToken.h:295
@ sub
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
@ xml
Definition: EBOOKHTMLToken.h:28
@ NS_FICTIONBOOK
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
@ strong
Definition: EBOOKHTMLToken.h:134
@ h4
Definition: EBOOKHTMLToken.h:78
const std::string getName() const
Definition: XMLTreeWalker.cpp:1306
static bool isSupported(librevenge::RVNGInputStream *input)
Definition: BBeBParser.cpp:299
@ acronym
Definition: EBOOKHTMLToken.h:34
@ h6
Definition: EBOOKHTMLToken.h:80
@ q
Definition: EBOOKHTMLToken.h:121
@ a
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
@ img
Definition: EBOOKHTMLToken.h:88
@ iframe
Definition: EBOOKHTMLToken.h:87
const unsigned char * readNBytes(librevenge::RVNGInputStream *const input, const unsigned long numBytes)
Definition: libebook_utils.cpp:105
LWCStringPtr_t nsMap[HUBBUB_NS_XMLNS]
Definition: EBOOKHTMLParser.cpp:172
@ samp
Definition: EBOOKHTMLToken.h:126
@ rhs
Definition: EBOOKHTMLToken.h:309
std::shared_ptr< css_select_results > CSSSelectResultsPtr_t
Definition: libebook_libcss.h:25
@ INVALID_TOKEN
Definition: EBOOKHTMLToken.h:23
@ sup
Definition: EBOOKHTMLToken.h:137
void intrusive_ptr_release(lwc_string *const p)
Definition: libebook_libcss.cpp:42
@ font
Definition: EBOOKHTMLToken.h:72
@ i
Definition: EBOOKHTMLToken.h:86
@ th
Definition: EBOOKHTMLToken.h:144
@ target
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
@ id
Definition: EBOOKHTMLToken.h:203
@ h1
Definition: EBOOKHTMLToken.h:75
void sendParagraph(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1472
@ param
Definition: EBOOKHTMLToken.h:117
bool operator==(const XMLTreeNode::QName &lhs, const XMLTreeNode::QName &rhs)
Definition: XMLTreeNode.cpp:440
@ h5
Definition: EBOOKHTMLToken.h:79
@ NS_opf
Definition: EBOOKOPFToken.h:121
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libebook_utils.cpp:152
@ basefont
Definition: EBOOKHTMLToken.h:42
@ base
Definition: EBOOKHTMLToken.h:41
@ form
Definition: EBOOKHTMLToken.h:74
@ blue
Definition: EBOOKHTMLToken.h:275
#define STR_LIT(s)
Definition: EBOOKHTMLParser.cpp:36
@ abbr
Definition: EBOOKHTMLToken.h:33
MSPackFileData * data
Definition: HTMLHelpStream.cpp:63
@ creator
Definition: EBOOKOPFToken.h:50
Definition: EBOOKHTMLParser.cpp:902
@ dt
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
@ head
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
@ span
Definition: EBOOKHTMLToken.h:132
@ area
Definition: EBOOKHTMLToken.h:37
@ gray
Definition: EBOOKHTMLToken.h:284
int ebookXMLCloseStream(void *)
Definition: libebook_xml.cpp:43
RVNGPropertyList metadata
Definition: EBOOKOPFParser.cpp:63
virtual ~EBOOKHTMLParser()
Definition: EBOOKHTMLParser.cpp:928
@ lime
Definition: EBOOKHTMLToken.h:291
const char * str
Definition: EBOOKHTMLParser.cpp:46
@ caption
Definition: EBOOKHTMLToken.h:51
@ MIME_epub
Definition: EPubToken.h:44
@ input
Definition: EBOOKHTMLToken.h:89
hubbub_quirks_mode mode
Definition: EBOOKHTMLParser.cpp:164
@ option
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
@ p
Definition: EBOOKHTMLToken.h:116
@ applet
Definition: EBOOKHTMLToken.h:36
@ purple
Definition: EBOOKHTMLToken.h:304
XMLTreeNode::ConfigurationPtr_t config
Definition: EBOOKHTMLParser.cpp:177
@ DIALECT_UNKNOWN
Definition: EBOOKHTMLParser.h:38
HUBBUBParserPtr_t wrap(hubbub_parser *const p)
Definition: libebook_hubbub.cpp:15
@ td
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
@ olive
Definition: EBOOKHTMLToken.h:299
const std::string & getText() const
Definition: XMLTreeWalker.cpp:1322
MSPackFile container
Definition: HTMLHelpStream.cpp:93
@ dd
Definition: EBOOKHTMLToken.h:58
static bool checkType(unsigned type, unsigned creator)
Definition: PeanutPressParser.cpp:720
void sendSpan(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1478
@ map
Definition: EBOOKHTMLToken.h:100
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:73
@ aqua
Definition: EBOOKHTMLToken.h:270
static bool findOPFStream(const RVNGInputStreamPtr_t &package, unsigned &stream)
Definition: EBOOKOPFParser.cpp:689
@ header
Definition: EBOOKHTMLToken.h:82
@ div
Definition: EBOOKHTMLToken.h:64
@ code
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
@ table
Definition: EBOOKHTMLToken.h:138
@ var
Definition: EBOOKHTMLToken.h:152
@ lang
Definition: EBOOKHTMLToken.h:205
@ h3
Definition: EBOOKHTMLToken.h:77
@ style
Definition: EBOOKHTMLToken.h:135
@ fuchsia
Definition: EBOOKHTMLToken.h:282
int getId() const
Definition: XMLTreeWalker.cpp:1283
@ source
Definition: EBOOKHTMLToken.h:131
@ lhs
Definition: EBOOKHTMLToken.h:290
@ pre
Definition: EBOOKHTMLToken.h:119
@ br
Definition: EBOOKHTMLToken.h:49
@ thead
Definition: EBOOKHTMLToken.h:145
@ DIALECT_HTML
Definition: EBOOKHTMLParser.h:39
@ li
Definition: EBOOKHTMLToken.h:96
@ cite
Definition: EBOOKHTMLToken.h:53
@ tbody
Definition: EBOOKHTMLToken.h:139
void endExternalElement(const XMLTreeWalker &node)
Definition: EBOOKHTMLParser.cpp:1466
#define EBOOK_DEBUG_MSG(M)
Definition: libebook_utils.h:44
@ opf
Definition: EBOOKOPFToken.h:28
@ menu
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
@ white
Definition: EBOOKHTMLToken.h:321
int getHTMLTokenId(const char *const name, const char *const ns)
Definition: EBOOKHTMLToken.cpp:27
@ center
Definition: EBOOKHTMLToken.h:52
@ size
Definition: EBOOKHTMLToken.h:249
@ fieldset
Definition: EBOOKHTMLToken.h:69
@ script
Definition: EBOOKHTMLToken.h:127
@ object
Definition: EBOOKHTMLToken.h:111
@ ins
Definition: EBOOKHTMLToken.h:90
@ tfoot
Definition: EBOOKHTMLToken.h:143
boost::intrusive_ptr< XMLTreeNode > XMLTreeNodePtr_t
Definition: XMLTreeNode.h:24
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:325
@ package
Definition: EBOOKOPFToken.h:63
@ noframes
Definition: EBOOKHTMLToken.h:109
qi::rule< Iterator, std::pair< int, Attributes_t >, qi::space_type > tag
Definition: TealDocParser.cpp:229
@ bdo
Definition: EBOOKHTMLToken.h:44
@ s
Definition: EBOOKHTMLToken.h:125
@ v
Definition: FictionBook2Token.h:97
@ NS_html
Definition: EBOOKHTMLToken.h:332
@ tr
Definition: EBOOKHTMLToken.h:147
@ meta
Definition: EBOOKHTMLToken.h:104
hubbub_tree_handler handler
Definition: EBOOKHTMLParser.cpp:168
@ b
Definition: EBOOKHTMLToken.h:40
@ col
Definition: EBOOKHTMLToken.h:55
@ h2
Definition: EBOOKHTMLToken.h:76
@ strike
Definition: EBOOKHTMLToken.h:133
void parse()
Definition: EBOOKHTMLParser.cpp:932
@ noscript
Definition: EBOOKHTMLToken.h:110
@ teal
Definition: EBOOKHTMLToken.h:317
bool findSubStreamByExt(const RVNGInputStreamPtr_t &input, const std::string &ext, unsigned &id)
Definition: libebook_utils.cpp:245
@ dl
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
@ silver
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
@ green
Definition: EBOOKHTMLToken.h:285
virtual librevenge::RVNGInputStream * getObject(const char *path)=0
BlockState blockState
Definition: EBOOKHTMLParser.cpp:905
@ Type
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
@ small
Definition: EBOOKHTMLToken.h:130
Generated for libe-book by
doxygen 1.8.17