source: gsdl/trunk/runtime-src/src/oaiservr/rfc1807.cpp@ 20542

Last change on this file since 20542 was 20542, checked in by mdewsnip, 15 years ago

Added correct namespace for rfc1807 according to OAI documentation, even though the link seems to be broken.

  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1#include "rfc1807.h"
2
3rfc1807::rfc1807() : metaformat(){
4 // These element names taken from the schema
5 // http://www.openarchives.org/OAI/1.1/rfc1807.xsd
6 elementSet.insert("bib-version");
7 elementSet.insert("id");
8 elementSet.insert("entry");
9 elementSet.insert("organization");
10 elementSet.insert("title");
11 elementSet.insert("type");
12 elementSet.insert("revision");
13 elementSet.insert("withdraw");
14 elementSet.insert("author");
15 elementSet.insert("corp-author");
16 elementSet.insert("contact");
17 elementSet.insert("date");
18 elementSet.insert("pages");
19 elementSet.insert("copyright");
20 elementSet.insert("handle");
21 elementSet.insert("other_access");
22 elementSet.insert("retrieval");
23 elementSet.insert("keyword");
24 elementSet.insert("cr-category");
25 elementSet.insert("period");
26 elementSet.insert("series");
27 elementSet.insert("monitoring");
28 elementSet.insert("funding");
29 elementSet.insert("contract");
30 elementSet.insert("grant");
31 elementSet.insert("language");
32 elementSet.insert("notes");
33 elementSet.insert("abstract");
34
35};
36
37const text_t rfc1807::formatName()
38{
39 return "rfc1807";
40}
41
42const text_t rfc1807::formatPrefix() {
43 return "rfc1807";
44}
45
46bool rfc1807::output_record(ostream &output, recptproto *protocol, const text_t &collection,
47 const text_t &record_OID)
48{
49 return metaformat::output_record(output, protocol, collection, record_OID);
50}
51
52void rfc1807::output_metadata_header(ostream &output)
53{
54 output << "<metadata>\n";
55
56 if(this->oaiConfigure->getOAIVersion() <= 110){
57 // output rfc1807 wrapper for OAI v1.1
58 output << "<rfc1807 xmlns=\"http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1807.txt\"" << endl;
59 output << " xmlns:xsi=\"http://www.w3c.org/2001/XMLSchema-instance\"" << endl;
60 output << " xsi:schemaLocation=\"http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1807.txt"
61 << endl;
62 output << " http://www.openarchives.org/OAI/1.1/rfc1807.xsd\">" << endl;
63 }
64 else {
65 // TODO: output rfc1807 wrapper for OAI v2.0
66 output << "<rfc1807 xmlns=\"http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1807.txt\"" << endl;
67 output << " xmlns:xsi=\"http://www.w3c.org/2001/XMLSchema-instance\"" << endl;
68 output << " xsi:schemaLocation=\"http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1807.txt"
69 << endl;
70 output << " http://www.openarchives.org/OAI/1.1/rfc1807.xsd\">" << endl;
71 }
72}
73
74void rfc1807::output_metadata_footer(ostream &output)
75{
76 // end rfc1807 wrapper
77 output << "</rfc1807>" << endl;
78
79 output << "</metadata>\n";
80}
81
82bool rfc1807::output_formatdata(ostream &output)
83{
84 // Both versions of the protocol use the same schema (yes?)
85 output << " <metadataPrefix>rfc1807</metadataPrefix>" << endl;
86 output << " <schema>http://www.openarchives.org/OAI/1.1/rfc1807.xsd</schema>" << endl;
87 // Correct namespace for rfc1807 according to OAI documentation, even though this link seems to be broken
88 output << " <metadataNamespace>http://info.internet.isi.edu/in-notes/rfc/files/rfc1807.txt</metadataNamespace>" << endl;
89
90 return true;
91}
92
93
Note: See TracBrowser for help on using the repository browser.