MLBookProc 2.1
Loading...
Searching...
No Matches
DublinCoreParser.h
1/*
2 * Copyright (C) 2025 Yury Bobylev <bobilev_yury@mail.ru>
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the Free
6 * Software Foundation, version 3.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along with
14 * this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16#ifndef DUBLINCOREPARSER_H
17#define DUBLINCOREPARSER_H
18
19#include <BaseID.h>
20#include <UDBElement.h>
21#include <XMLParserCPP.h>
22
31
33{
34public:
39
40 virtual ~DublinCoreParser();
41
49 std::vector<UDBElement>
50 dcTitle(const std::vector<XMLElement> &elements);
51
59 std::vector<UDBElement>
60 dcAuthor(const std::vector<XMLElement> &elements);
61
69 std::vector<UDBElement>
70 dcGenre(const std::vector<XMLElement> &elements);
71
79 std::vector<UDBElement>
80 dcDate(const std::vector<XMLElement> &elements);
81
89 std::string
90 dcDescription(const std::vector<XMLElement> &elements);
91
99 std::vector<UDBElement>
100 dcLanguage(const std::vector<XMLElement> &elements);
101
109 std::vector<UDBElement>
110 dcTranslator(const std::vector<XMLElement> &elements);
111
119 std::vector<UDBElement>
120 dcPublisher(const std::vector<XMLElement> &elements);
121
129 std::vector<UDBElement>
130 dcIdentifier(const std::vector<XMLElement> &elements);
131
139 std::vector<UDBElement>
140 dcSource(const std::vector<XMLElement> &elements);
141
142private:
143 std::vector<UDBElement>
144 getAuthor1(const std::vector<XMLElement> &elements);
145
146 std::vector<UDBElement>
147 getAuthor2(const std::vector<XMLElement> &elements);
148
149 std::vector<UDBElement>
150 getTranslator1(const std::vector<XMLElement> &elements);
151
152 std::vector<UDBElement>
153 getTranslator2(const std::vector<XMLElement> &elements);
154
155 void
156 normalizeString(std::string &str);
157
158 XMLParserCPP *xml_parser;
159
160 BaseID bid;
161};
162
163#endif // DUBLINCOREPARSER_H
The BaseID class.
Definition BaseID.h:28
std::vector< UDBElement > dcGenre(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcTranslator(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcPublisher(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcSource(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcAuthor(const std::vector< XMLElement > &elements)
DublinCoreParser()
DublinCoreParser constructor.
std::vector< UDBElement > dcTitle(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcLanguage(const std::vector< XMLElement > &elements)
std::string dcDescription(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcIdentifier(const std::vector< XMLElement > &elements)
std::vector< UDBElement > dcDate(const std::vector< XMLElement > &elements)