summaryrefslogtreecommitdiffstats
path: root/reader/src/formats/docbook
diff options
context:
space:
mode:
Diffstat (limited to 'reader/src/formats/docbook')
-rw-r--r--reader/src/formats/docbook/DocBookBookReader.cpp111
-rw-r--r--reader/src/formats/docbook/DocBookBookReader.h45
-rw-r--r--reader/src/formats/docbook/DocBookDescriptionReader.cpp137
-rw-r--r--reader/src/formats/docbook/DocBookDescriptionReader.h56
-rw-r--r--reader/src/formats/docbook/DocBookPlugin.cpp43
-rw-r--r--reader/src/formats/docbook/DocBookPlugin.h41
-rw-r--r--reader/src/formats/docbook/DocBookReader.cpp71
-rw-r--r--reader/src/formats/docbook/DocBookReader.h95
8 files changed, 0 insertions, 599 deletions
diff --git a/reader/src/formats/docbook/DocBookBookReader.cpp b/reader/src/formats/docbook/DocBookBookReader.cpp
deleted file mode 100644
index eada90c..0000000
--- a/reader/src/formats/docbook/DocBookBookReader.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <ZLInputStream.h>
-
-#include "DocBookBookReader.h"
-
-#include "../../bookmodel/BookModel.h"
-#include "../../model/Paragraph.h"
-
-DocBookBookReader::DocBookBookReader(BookModel &model) : BookReader(model) {
- setMainTextModel();
-
- myReadText = false;
-}
-
-void DocBookBookReader::characterDataHandler(const char *text, std::size_t len) {
- addDataToBuffer(text, len);
-}
-
-void DocBookBookReader::startElementHandler(int tag, const char **) {
- switch (tag) {
- case _SECT1:
- myReadText = true;
- pushKind(REGULAR);
- beginContentsParagraph();
- break;
- case _PARA:
- if (myReadText) {
- beginParagraph();
- }
- break;
- case _TITLE:
- enterTitle();
- pushKind(SECTION_TITLE);
- if (myReadText) {
- beginParagraph();
- }
- break;
- case _EMPHASIS:
- addControl(EMPHASIS, true);
- break;
- case _CITETITLE:
- addControl(CITE, true);
- break;
- case _ULINK:
- case _EMAIL:
- addControl(CODE, true);
- break;
- case _BLOCKQUOTE:
- pushKind(STRONG);
- break;
- default:
- break;
- }
-}
-
-void DocBookBookReader::endElementHandler(int tag) {
- switch (tag) {
- case _SECT1:
- myReadText = false;
- popKind();
- endContentsParagraph();
- insertEndOfSectionParagraph();
- break;
- case _PARA:
- endParagraph();
- break;
- case _TITLE:
- endParagraph();
- popKind();
- endContentsParagraph();
- exitTitle();
- break;
- case _EMPHASIS:
- addControl(EMPHASIS, false);
- break;
- case _CITETITLE:
- addControl(CITE, false);
- break;
- case _ULINK:
- case _EMAIL:
- addControl(CODE, false);
- break;
- case _BLOCKQUOTE:
- popKind();
- break;
- default:
- break;
- }
-}
-
-void DocBookBookReader::readBook(shared_ptr<ZLInputStream> stream) {
- readDocument(stream);
-}
diff --git a/reader/src/formats/docbook/DocBookBookReader.h b/reader/src/formats/docbook/DocBookBookReader.h
deleted file mode 100644
index c226184..0000000
--- a/reader/src/formats/docbook/DocBookBookReader.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __DOCBOOKBOOKREADER_H__
-#define __DOCBOOKBOOKREADER_H__
-
-#include "DocBookReader.h"
-#include "../../bookmodel/BookReader.h"
-
-class BookModel;
-
-class DocBookBookReader : public BookReader, public DocBookReader {
-
-public:
- DocBookBookReader(BookModel &model);
- ~DocBookBookReader();
- void readBook(shared_ptr<ZLInputStream> stream);
-
- void startElementHandler(int tag, const char **attributes);
- void endElementHandler(int tag);
- void characterDataHandler(const char *text, std::size_t len);
-
-private:
- bool myReadText;
-};
-
-inline DocBookBookReader::~DocBookBookReader() {}
-
-#endif /* __DOCBOOKBOOKREADER_H__ */
diff --git a/reader/src/formats/docbook/DocBookDescriptionReader.cpp b/reader/src/formats/docbook/DocBookDescriptionReader.cpp
deleted file mode 100644
index bcd4ae4..0000000
--- a/reader/src/formats/docbook/DocBookDescriptionReader.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <ZLInputStream.h>
-#include <ZLUnicodeUtil.h>
-
-#include "DocBookDescriptionReader.h"
-
-#include "../../library/Book.h"
-#include "../../library/Author.h"
-
-DocBookDescriptionReader::DocBookDescriptionReader(Book &book) : myBook(book) {
- myReadTitle = false;
- myReadAuthor = false;
- for (int i = 0; i < 3; ++i) {
- myReadAuthorName[i] = false;
- }
- myBook.setLanguage("en");
- myDepth = 0;
-}
-
-void DocBookDescriptionReader::characterDataHandler(const char *text, std::size_t len) {
- if (myReadTitle) {
- myBook.setTitle(myBook.title() + std::string(text, len));
- } else {
- for (int i = 0; i < 3; ++i) {
- if (myReadAuthorName[i]) {
- myAuthorNames[i].append(text, len);
- break;
- }
- }
- }
-}
-
-void DocBookDescriptionReader::startElementHandler(int tag, const char **) {
- ++myDepth;
- switch (tag) {
- case _SECT1:
- myReturnCode = true;
- myDoBreak = true;
- break;
- case _TITLE:
- if (myDepth == 2) {
- myReadTitle = true;
- }
- break;
- case _AUTHOR:
- if (myDepth == 3) {
- myReadAuthor = true;
- }
- break;
- case _FIRSTNAME:
- if (myReadAuthor) {
- myReadAuthorName[0] = true;
- }
- break;
- case _OTHERNAME:
- if (myReadAuthor) {
- myReadAuthorName[1] = true;
- }
- break;
- case _SURNAME:
- if (myReadAuthor) {
- myReadAuthorName[2] = true;
- }
- break;
- default:
- break;
- }
-}
-
-void DocBookDescriptionReader::endElementHandler(int tag) {
- --myDepth;
- switch (tag) {
- case _TITLE:
- myReadTitle = false;
- break;
- case _AUTHOR: {
- ZLUnicodeUtil::utf8Trim(myAuthorNames[0]);
- ZLUnicodeUtil::utf8Trim(myAuthorNames[1]);
- ZLUnicodeUtil::utf8Trim(myAuthorNames[2]);
- std::string fullName = myAuthorNames[0];
- if (!fullName.empty() && !myAuthorNames[1].empty()) {
- fullName += ' ';
- }
- fullName += myAuthorNames[1];
- if (!fullName.empty() && !myAuthorNames[2].empty()) {
- fullName += ' ';
- }
- fullName += myAuthorNames[2];
- shared_ptr<Author> author = Author::create(fullName, myAuthorNames[2]);
- if (!author.isNull()) {
- myBook.authors().add( author );
- }
- }
- myAuthorNames[0].erase();
- myAuthorNames[1].erase();
- myAuthorNames[2].erase();
- myReadAuthor = false;
- break;
- case _FIRSTNAME:
- myReadAuthorName[0] = false;
- break;
- case _OTHERNAME:
- myReadAuthorName[1] = false;
- break;
- case _SURNAME:
- myReadAuthorName[2] = false;
- break;
- default:
- break;
- }
-}
-
-bool DocBookDescriptionReader::readMetaInfo(shared_ptr<ZLInputStream> stream) {
- bool code = readDocument(stream);
- if (myBook.authors().empty()) {
- myBook.authors().push_back( new Author() );
- }
- return code;
-}
diff --git a/reader/src/formats/docbook/DocBookDescriptionReader.h b/reader/src/formats/docbook/DocBookDescriptionReader.h
deleted file mode 100644
index d9f4aa3..0000000
--- a/reader/src/formats/docbook/DocBookDescriptionReader.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __DOCBOOKDESCRIPTIONREADER_H__
-#define __DOCBOOKDESCRIPTIONREADER_H__
-
-#include <string>
-
-#include "DocBookReader.h"
-
-class Book;
-
-class DocBookDescriptionReader : public DocBookReader {
-
-public:
- DocBookDescriptionReader(Book &book);
- ~DocBookDescriptionReader();
- bool readMetaInfo(shared_ptr<ZLInputStream> stream);
-
- void startElementHandler(int tag, const char **attributes);
- void endElementHandler(int tag);
- void characterDataHandler(const char *text, std::size_t len);
-
-private:
- Book &myBook;
-
- bool myReturnCode;
-
- bool myReadTitle;
- bool myReadAuthor;
- bool myReadAuthorName[3];
-
- std::string myAuthorNames[3];
-
- int myDepth;
-};
-
-inline DocBookDescriptionReader::~DocBookDescriptionReader() {}
-
-#endif /* __DOCBOOKDESCRIPTIONREADER_H__ */
diff --git a/reader/src/formats/docbook/DocBookPlugin.cpp b/reader/src/formats/docbook/DocBookPlugin.cpp
deleted file mode 100644
index 1b890a6..0000000
--- a/reader/src/formats/docbook/DocBookPlugin.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <ZLFile.h>
-#include <ZLInputStream.h>
-
-#include "DocBookPlugin.h"
-#include "DocBookDescriptionReader.h"
-#include "DocBookBookReader.h"
-#include "../../library/Book.h"
-
-bool DocBookPlugin::acceptsFile(const std::string &extension) const {
- return extension == "xml";
-}
-
-bool DocBookPlugin::readMetaInfo(Book &book) const {
- return DocBookDescriptionReader(book).readMetaInfo(ZLFile(path).inputStream());
-}
-
-bool DocBookPlugin::readLanguageAndEncoding(Book &book) const {
- (void)book;
- return true;
-}
-
-bool DocBookPlugin::readModel(BookModel &model) const {
- return DocBookBookReader(model).readDocument(ZLFile(book.fileName()).inputStream());
-}
diff --git a/reader/src/formats/docbook/DocBookPlugin.h b/reader/src/formats/docbook/DocBookPlugin.h
deleted file mode 100644
index 324b2be..0000000
--- a/reader/src/formats/docbook/DocBookPlugin.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __DOCBOOKPLUGIN_H__
-#define __DOCBOOKPLUGIN_H__
-
-#include "../FormatPlugin.h"
-
-class DocBookPlugin : public FormatPlugin {
-
-public:
- DocBookPlugin();
- ~DocBookPlugin();
- bool providesMetaInfo() const;
- bool acceptsFile(const std::string &extension) const;
- bool readMetaInfo(Book &book) const;
- bool readLanguageAndEncoding(Book &book) const;
- bool readModel(BookModel &model) const;
-};
-
-inline DocBookPlugin::DocBookPlugin() {}
-inline DocBookPlugin::~DocBookPlugin() {}
-inline bool DocBookPlugin::providesMetaInfo() const { return true; }
-
-#endif /* __DOCBOOKPLUGIN_H__ */
diff --git a/reader/src/formats/docbook/DocBookReader.cpp b/reader/src/formats/docbook/DocBookReader.cpp
deleted file mode 100644
index 73c17d1..0000000
--- a/reader/src/formats/docbook/DocBookReader.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <ZLStringUtil.h>
-#include <ZLFile.h>
-#include <ZLDir.h>
-
-#include "DocBookReader.h"
-
-static const DocBookReader::Tag TAGS[] = {
- {"article", DocBookReader::_ARTICLE},
- {"title", DocBookReader::_TITLE},
- {"articleinfo", DocBookReader::_ARTICLEINFO},
- {"author", DocBookReader::_AUTHOR},
- {"firstname", DocBookReader::_FIRSTNAME},
- {"othername", DocBookReader::_OTHERNAME},
- {"surname", DocBookReader::_SURNAME},
- {"affiliation", DocBookReader::_AFFILIATION},
- {"orgname", DocBookReader::_ORGNAME},
- {"ulink", DocBookReader::_ULINK},
- {"address", DocBookReader::_ADDRESS},
- {"email", DocBookReader::_EMAIL},
- {"pubdate", DocBookReader::_PUBDATE},
- {"releaseinfo", DocBookReader::_RELEASEINFO},
- {"copyright", DocBookReader::_COPYRIGHT},
- {"year", DocBookReader::_YEAR},
- {"holder", DocBookReader::_HOLDER},
- {"legalnotice", DocBookReader::_LEGALNOTICE},
- {"para", DocBookReader::_PARA},
- {"revhistory", DocBookReader::_REVHISTORY},
- {"revision", DocBookReader::_REVISION},
- {"revnumber", DocBookReader::_REVNUMBER},
- {"date", DocBookReader::_DATE},
- {"authorinitials", DocBookReader::_AUTHORINITIALS},
- {"revremark", DocBookReader::_REVREMARK},
- {"abstract", DocBookReader::_ABSTRACT},
- {"sect1", DocBookReader::_SECT1},
- {"emphasis", DocBookReader::_EMPHASIS},
- {"blockquote", DocBookReader::_BLOCKQUOTE},
- {"citetitle", DocBookReader::_CITETITLE},
- {"link", DocBookReader::_LINK},
- {"foreignphrase", DocBookReader::_FOREIGNPHRASE},
- {"part", DocBookReader::_PART},
- {"preface", DocBookReader::_PREFACE},
- {"chapter", DocBookReader::_CHAPTER},
- {0, DocBookReader::_UNKNOWN}
-};
-
-const DocBookReader::Tag *DocBookReader::tags() const {
- return TAGS;
-}
-
-const std::vector<std::string> &DocBookReader::externalDTDs() const {
- return EntityFilesCollector::Instance().externalDTDs("docbook");
-}
diff --git a/reader/src/formats/docbook/DocBookReader.h b/reader/src/formats/docbook/DocBookReader.h
deleted file mode 100644
index a18f358..0000000
--- a/reader/src/formats/docbook/DocBookReader.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef __DOCBOOKREADER_H__
-#define __DOCBOOKREADER_H__
-
-#include <ZLXMLReader.h>
-
-class DocBookReader : public ZLXMLReader {
-
-public:
- static std::string DTDDirectory;
-
-public:
- struct Tag {
- const char *tagName;
- int tagCode;
- };
-
-public:
-//protected:
- enum TagCode {
- _ARTICLE,
- _TITLE,
- _ARTICLEINFO,
- _AUTHOR,
- _FIRSTNAME,
- _OTHERNAME,
- _SURNAME,
- _AFFILIATION,
- _ORGNAME,
- _ULINK,
- _ADDRESS,
- _EMAIL,
- _PUBDATE,
- _RELEASEINFO,
- _COPYRIGHT,
- _YEAR,
- _HOLDER,
- _LEGALNOTICE,
- _PARA,
- _REVHISTORY,
- _REVISION,
- _REVNUMBER,
- _DATE,
- _AUTHORINITIALS,
- _REVREMARK,
- _ABSTRACT,
- _SECT1,
- _EMPHASIS,
- _BLOCKQUOTE,
- _CITETITLE,
- _LINK,
- _FOREIGNPHRASE,
- _FIRSTTERM,
- _FILENAME,
- _ITEMIZEDLIST,
- _LISTITEM,
- _PART,
- _PREFACE,
- _CHAPTER,
- _UNKNOWN
- };
-
-protected:
- DocBookReader();
-
-public:
- ~DocBookReader();
- const Tag *tags() const;
-
-protected:
- const std::vector<std::string> &externalDTDs() const;
-};
-
-inline DocBookReader::DocBookReader() {}
-inline DocBookReader::~DocBookReader() {}
-
-#endif /* __DOCBOOKREADER_H__ */