/********************************************************************** * * qualified_dublincore.cpp -- * * Copyright (C) 2004-2010 The New Zealand Digital Library Project * * A component of the Greenstone digital library software * from the New Zealand Digital Library Project at the * University of Waikato, New Zealand. * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. * *********************************************************************/ #include "qualified_dublincore.h" qualified_dublin_core::qualified_dublin_core() : dublin_core() { // These element names taken from the schema //http://www.greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd // We have the following elements already by inheriting from dublin_core /* elementSet.insert("title"); elementSet.insert("creator"); elementSet.insert("subject"); elementSet.insert("description"); elementSet.insert("publisher"); elementSet.insert("contributor"); elementSet.insert("date"); elementSet.insert("type"); elementSet.insert("format"); elementSet.insert("identifier"); elementSet.insert("source"); elementSet.insert("language"); elementSet.insert("relation"); elementSet.insert("coverage"); elementSet.insert("rights"); */ elementSet.insert("alternative"); elementSet.insert("tableOfContents"); elementSet.insert("abstract"); elementSet.insert("created"); elementSet.insert("valid"); elementSet.insert("available"); elementSet.insert("issued"); elementSet.insert("modified"); elementSet.insert("dateAccepted"); elementSet.insert("dateCopyrighted"); elementSet.insert("dateSubmitted"); elementSet.insert("extent"); elementSet.insert("medium"); elementSet.insert("isVersionOf"); elementSet.insert("hasVersion"); elementSet.insert("isReplacedBy"); elementSet.insert("replaces"); elementSet.insert("isRequiredBy"); elementSet.insert("requires"); elementSet.insert("isPartOf"); elementSet.insert("hasPart"); elementSet.insert("isReferencedBy"); elementSet.insert("references"); elementSet.insert("isFormatOf"); elementSet.insert("hasFormat"); elementSet.insert("conformsTo"); elementSet.insert("spatial"); elementSet.insert("temporal"); elementSet.insert("audience"); elementSet.insert("accrualMethod"); elementSet.insert("accrualPeriodicity"); elementSet.insert("accrualPolicy"); elementSet.insert("instructionalMethod"); elementSet.insert("provenance"); elementSet.insert("rightsHolder"); elementSet.insert("mediator"); elementSet.insert("educationLevel"); elementSet.insert("accessRights"); elementSet.insert("license"); elementSet.insert("bibliographicCitation"); } const text_t qualified_dublin_core::formatName() { return "gsdl_qdc"; } const text_t qualified_dublin_core::formatPrefix() { return "dc"; } 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/"<