source: main/trunk/greenstone2/runtime-src/src/oaiservr/qualified_dublincore.cpp@ 22289

Last change on this file since 22289 was 22206, checked in by kjdon, 14 years ago

qualified_dublin_core now inherits from dublin_core so that it can use add_custom_metadata for the identifier URL

File size: 4.0 KB
Line 
1
2#include "qualified_dublincore.h"
3
4qualified_dublin_core::qualified_dublin_core() : dublin_core() {
5 // These element names taken from the schema
6 //http://www.greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd
7
8 // We have the following elements already by inheriting from dublin_core
9 /* elementSet.insert("title");
10 elementSet.insert("creator");
11 elementSet.insert("subject");
12 elementSet.insert("description");
13 elementSet.insert("publisher");
14 elementSet.insert("contributor");
15 elementSet.insert("date");
16 elementSet.insert("type");
17 elementSet.insert("format");
18 elementSet.insert("identifier");
19 elementSet.insert("source");
20 elementSet.insert("language");
21 elementSet.insert("relation");
22 elementSet.insert("coverage");
23 elementSet.insert("rights");
24 */
25 elementSet.insert("alternative");
26 elementSet.insert("tableOfContents");
27 elementSet.insert("abstract");
28 elementSet.insert("created");
29 elementSet.insert("valid");
30 elementSet.insert("available");
31 elementSet.insert("issued");
32 elementSet.insert("modified");
33 elementSet.insert("dateAccepted");
34 elementSet.insert("dateCopyrighted");
35 elementSet.insert("dateSubmitted");
36 elementSet.insert("extent");
37 elementSet.insert("medium");
38 elementSet.insert("isVersionOf");
39 elementSet.insert("hasVersion");
40 elementSet.insert("isReplacedBy");
41 elementSet.insert("replaces");
42 elementSet.insert("isRequiredBy");
43 elementSet.insert("requires");
44 elementSet.insert("isPartOf");
45 elementSet.insert("hasPart");
46 elementSet.insert("isReferencedBy");
47 elementSet.insert("references");
48 elementSet.insert("isFormatOf");
49 elementSet.insert("hasFormat");
50 elementSet.insert("conformsTo");
51 elementSet.insert("spatial");
52 elementSet.insert("temporal");
53 elementSet.insert("audience");
54 elementSet.insert("accrualMethod");
55 elementSet.insert("accrualPeriodicity");
56 elementSet.insert("accrualPolicy");
57 elementSet.insert("instructionalMethod");
58 elementSet.insert("provenance");
59 elementSet.insert("rightsHolder");
60 elementSet.insert("mediator");
61 elementSet.insert("educationLevel");
62 elementSet.insert("accessRights");
63 elementSet.insert("license");
64 elementSet.insert("bibliographicCitation");
65}
66const text_t qualified_dublin_core::formatName() {
67 return "gsdl_qdc";
68}
69
70const text_t qualified_dublin_core::formatPrefix() {
71 return "dc";
72}
73
74
75void qualified_dublin_core::output_metadata_header(ostream &output)
76{
77 output << " <metadata>\n";
78
79 if (this->oaiConfigure->getOAIVersion() <= 110){
80 // output dublin core wrapper for OAI v1.1
81 output << " <gsdl_qdc xmlns=\"http://greenstone.org/namespace/gsdl_qdc/1.0/\"\n"
82 << " xmlns:xsi=\"http://www.w3c.org/2001/XMLSchema-instance\"\n"
83 << " xsi:schemaLocation=\"http://greenstone.org/namespace/gsdl_qdc/1.0/ \n"
84 << " http://greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd\">\n";
85 }
86 else {
87 output << " <gsdl_qdc:gsdl_qdc\n"
88 << " xmlns:gsdl_qdc=\"http://greenstone.org/namespace/gsdl_qdc/1.0/\"\n"
89 << " xmlns:dc=\"http://purl.org/dc/terms/\"\n"
90 << " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
91 << " xsi:schemaLocation=\"http://greenstone.org/namespace/gsdl_qdc/1.0/ \n"
92 << " http://greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd\">\n";
93 }
94}
95
96void qualified_dublin_core::output_metadata_footer(ostream &output)
97{
98 if (this->oaiConfigure->getOAIVersion() <= 110) {
99 output << " </gsdl_qdc>" << endl;
100 }
101 else {
102 output << " </gsdl_qdc:gsdl_qdc>" << endl;
103 }
104
105 output << " </metadata>" << endl;
106 output.flush();
107}
108
109bool qualified_dublin_core::output_formatdata(ostream &output)
110{
111 output << " <metadataPrefix>gsdl_qdc</metadataPrefix>" << endl;
112 output << " <schema>http://greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd</schema>" << endl;
113 output << " <metadataNamespace>http://greenstone.org/namespace/gsdl_qdc/1.0/</metadataNamespace>"<<endl;
114 return true;
115}
Note: See TracBrowser for help on using the repository browser.