Index: /gsdl/trunk/runtime-src/src/oaiservr/Makefile.in
===================================================================
--- /gsdl/trunk/runtime-src/src/oaiservr/Makefile.in (revision 18857)
+++ /gsdl/trunk/runtime-src/src/oaiservr/Makefile.in (revision 18858)
@@ -80,4 +80,5 @@
abstractlistaction.cpp \
dublincore.cpp \
+ qualified_dublincore.cpp \
identifyaction.cpp \
listidsaction.cpp \
@@ -99,4 +100,5 @@
abstractlistaction.o \
dublincore.o \
+ qualified_dublincore.o \
identifyaction.o \
listidsaction.o \
Index: /gsdl/trunk/runtime-src/src/oaiservr/qualified_dublincore.cpp
===================================================================
--- /gsdl/trunk/runtime-src/src/oaiservr/qualified_dublincore.cpp (revision 18858)
+++ /gsdl/trunk/runtime-src/src/oaiservr/qualified_dublincore.cpp (revision 18858)
@@ -0,0 +1,58 @@
+
+#include "qualified_dublincore.h"
+
+const text_t qualified_dublin_core::formatName() {
+ return "gsdl_qdc";
+}
+
+const text_t qualified_dublin_core::formatPrefix() {
+ return "dc";
+}
+
+bool qualified_dublin_core::output_record(ostream &output, recptproto *protocol, const text_t &collection,
+ const text_t &record_OID)
+{
+ return metaformat::output_record(output, protocol, collection, record_OID);
+}
+
+void qualified_dublin_core::output_metadata_header(ostream &output)
+{
+ output << " \n";
+
+ if (this->oaiConfigure->getOAIVersion() <= 110){
+ // output dublin core wrapper for OAI v1.1
+ output << " \n";
+ }
+ else {
+ output << " \n";
+ }
+}
+
+void qualified_dublin_core::output_metadata_footer(ostream &output)
+{
+ if (this->oaiConfigure->getOAIVersion() <= 110) {
+ output << " " << endl;
+ }
+ else {
+ output << " " << endl;
+ }
+
+ output << " " << endl;
+ output.flush();
+}
+
+bool qualified_dublin_core::output_formatdata(ostream &output)
+{
+ output << " gsdl_qdc" << endl;
+ output << " http://greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd" << endl;
+ output << " http://greenstone.org/namespace/gsdl_qdc/1.0"<