XMLCollector.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3 * This file is part of the libe-book project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10 #ifndef XMLCOLLECTOR_H_INCLUDED
11 #define XMLCOLLECTOR_H_INCLUDED
12
13 #include <string>
14
15 #include <boost/shared_ptr.hpp>
16
17 #include <librevenge/librevenge.h>
18
19 #include "XMLTreeWalker.h"
20
21 namespace libebook
22 {
23
24 class XMLCollector
25 {
26 // disable copying
27 XMLCollector(const XMLCollector &);
28 XMLCollector &operator=(const XMLCollector &);
29
30 public:
31 struct State;
32
33 public:
34 explicit XMLCollector(librevenge::RVNGTextInterface *document);
35
36 void collectMetadata(const librevenge::RVNGPropertyList &metadata);
37
38 void collectText(const std::string &text);
39 void collectSpace();
40 void collectTab();
41 void collectLineBreak();
42
43 void collectImage(const librevenge::RVNGPropertyList &props);
44
45 void collectCoveredTableCell(const librevenge::RVNGPropertyList &props);
46
47 void openPageSpan(const librevenge::RVNGPropertyList &props);
48 void closePageSpan();
49 void openHeader(const librevenge::RVNGPropertyList &props);
50 void closeHeader();
51 void openFooter(const librevenge::RVNGPropertyList &props);
52 void closeFooter();
53 void openFootnote(const librevenge::RVNGPropertyList &props);
54 void closeFootnote();
55
56 void openParagraph(const librevenge::RVNGPropertyList &props);
57 void closeParagraph();
58 void openSpan(const librevenge::RVNGPropertyList &props);
59 void closeSpan();
60 void openLink(const librevenge::RVNGPropertyList &props);
61 void closeLink();
62
63 void openTable(const librevenge::RVNGPropertyList &props);
64 void closeTable();
65 void openTableRow(const librevenge::RVNGPropertyList &props);
66 void closeTableRow();
67 void openTableCell(const librevenge::RVNGPropertyList &props);
68 void closeTableCell();
69
70 void openOrderedList(const librevenge::RVNGPropertyList &props);
71 void closeOrderedList();
72 void openUnorderedList(const librevenge::RVNGPropertyList &props);
73 void closeUnorderedList();
74
75 void openListElement(const librevenge::RVNGPropertyList &props);
76 void closeListElement();
77
78 void openObject(const librevenge::RVNGPropertyList &props);
79 void closeObject();
80
83 void finish();
84
85 private:
86 librevenge::RVNGTextInterface *const m_document;
87 boost::shared_ptr<State> m_state;
88 };
89
90 }
91
92 #endif // XMLCOLLECTOR_H_INCLUDED
93
94 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libebook::XMLCollector::closePageSpan
void closePageSpan()
Definition: XMLCollector.cpp:1397
libebook::XMLCollector
Definition: XMLCollector.h:24
libebook::XMLCollector::closeTableCell
void closeTableCell()
Definition: XMLCollector.cpp:1487
libebook::XMLCollector::collectSpace
void collectSpace()
Definition: XMLCollector.cpp:1359
libebook::XMLCollector::collectImage
void collectImage(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1377
libebook::XMLCollector::collectTab
void collectTab()
Definition: XMLCollector.cpp:1365
libebook::XMLCollector::openUnorderedList
void openUnorderedList(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1502
libebook::XMLCollector::openTableCell
void openTableCell(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1482
libebook::XMLCollector::closeListElement
void closeListElement()
Definition: XMLCollector.cpp:1517
libebook::XMLCollector::closeParagraph
void closeParagraph()
Definition: XMLCollector.cpp:1437
libebook::XMLCollector::closeUnorderedList
void closeUnorderedList()
Definition: XMLCollector.cpp:1507
libebook::XMLCollector::operator=
XMLCollector & operator=(const XMLCollector &)
libebook::XMLCollector::closeTableRow
void closeTableRow()
Definition: XMLCollector.cpp:1477
libebook::XMLCollector::closeFooter
void closeFooter()
Definition: XMLCollector.cpp:1417
libebook::XMLCollector::openFootnote
void openFootnote(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1422
libebook::EBOOKHTMLToken::text
Definition: EBOOKHTMLToken.h:259
libebook::XMLCollector::closeTable
void closeTable()
Definition: XMLCollector.cpp:1467
libebook::XMLCollector::openParagraph
void openParagraph(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1432
libebook::XMLCollector::openLink
void openLink(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1452
libebook::XMLCollector::closeObject
void closeObject()
Definition: XMLCollector.cpp:1528
libebook::XMLCollector::openFooter
void openFooter(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1412
libebook::XMLCollector::closeLink
void closeLink()
Definition: XMLCollector.cpp:1457
libebook::XMLCollector::openTable
void openTable(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1462
XMLTreeWalker.h
metadata
RVNGPropertyList metadata
Definition: EBOOKOPFParser.cpp:63
libebook::XMLCollector::finish
void finish()
Signalize an end of parsing from the parser.
Definition: XMLCollector.cpp:1533
libebook::XMLCollector::closeHeader
void closeHeader()
Definition: XMLCollector.cpp:1407
libebook::XMLCollector::openPageSpan
void openPageSpan(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1392
libebook::XMLCollector::XMLCollector
XMLCollector(const XMLCollector &)
libebook::XMLCollector::m_document
librevenge::RVNGTextInterface *const m_document
Definition: XMLCollector.h:86
document
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
libebook::XMLCollector::collectCoveredTableCell
void collectCoveredTableCell(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1386
libebook::XMLCollector::closeFootnote
void closeFootnote()
Definition: XMLCollector.cpp:1427
libebook::XMLCollector::collectMetadata
void collectMetadata(const librevenge::RVNGPropertyList &metadata)
Definition: XMLCollector.cpp:1348
libebook::XMLCollector::openObject
void openObject(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1522
libebook::XMLCollector::closeSpan
void closeSpan()
Definition: XMLCollector.cpp:1447
libebook::XMLCollector::openTableRow
void openTableRow(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1472
libebook::XMLCollector::m_state
boost::shared_ptr< State > m_state
Definition: XMLCollector.h:87
libebook
Definition: CHMParser.cpp:20
libebook::XMLCollector::collectText
void collectText(const std::string &text)
Definition: XMLCollector.cpp:1353
libebook::XMLCollector::collectLineBreak
void collectLineBreak()
Definition: XMLCollector.cpp:1371
libebook::XMLCollector::State
Definition: XMLCollector.cpp:738
libebook::XMLCollector::openHeader
void openHeader(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1402
libebook::XMLCollector::openOrderedList
void openOrderedList(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1492
libebook::XMLCollector::openListElement
void openListElement(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1512
libebook::XMLCollector::openSpan
void openSpan(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1442
libebook::XMLCollector::closeOrderedList
void closeOrderedList()
Definition: XMLCollector.cpp:1497