Changeset 10738


Ignore:
Timestamp:
2005-10-20T10:36:24+13:00 (19 years ago)
Author:
kjdon
Message:

now use utf8outconvertclass when outputting metadata so that its in the right encoding

Location:
trunk/gsdl/src/oaiservr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/oaiservr/metaformat.cpp

    r9608 r10738  
    11#include "metaformat.h"
    2 
     2#include "gsdlunicode.h"
    33#include <fstream>
    44
     
    1818}
    1919
    20 void metaformat::output_item(ostream &output, bool &headerDone, const text_t &label,
     20void metaformat::output_item(ostream &output, outconvertclass &outconvert,
     21                 bool &headerDone, const text_t &label,
    2122                 const text_tarray &values)
    2223{
     24
    2325  if (!headerDone && (values.size() > 0)) {
    2426    this->output_metadata_header(output);
     
    2830  for (int item = 0; item < values.size(); ++item) {
    2931    if (this->oaiConfigure->getOAIVersion() >= 200) { // TODO: GRB: This code may need to be subclassed by dc for 200 and later...
    30       output << "        <" << this->formatPrefix() << ":" << label << ">" << values[item] << "</" << this->formatPrefix() << ":" << label << ">\n";
     32      output << outconvert << "        <" << this->formatPrefix() << ":" << label << ">" << values[item] << "</" << this->formatPrefix() << ":" << label << ">\n";
    3133    }
    3234    else {
    33       output << "        <" << label << ">" << values[item] << "</" << label << ">\n";
     35      output << outconvert << "        <" << label << ">" << values[item] << "</" << label << ">\n";
    3436    }
    3537  }
     
    4244  MetadataInfo_tmap::iterator here = docInfo.metadata.begin();
    4345  MetadataInfo_tmap::iterator end = docInfo.metadata.end();
     46
     47  utf8outconvertclass utf8convert; // we want to output metadata in utf8
    4448
    4549  // metaItem is used initially to identify the rfc1807 (etc) metadata items. It is
     
    6670
    6771      if (doOutput) {
    68     this->output_item(output, headerDone, metaItem, here->second.values);
     72    this->output_item(output, utf8convert, headerDone, metaItem, here->second.values);
    6973      }
    7074      else {
     
    8084    // particular metadata is stuff we don't want?
    8185    if (doOutput) {
    82       this->output_item(output, headerDone, mapTo, here->second.values);
     86      this->output_item(output, utf8convert, headerDone, mapTo, here->second.values);
    8387    }
    8488    else {
  • trunk/gsdl/src/oaiservr/metaformat.h

    r8306 r10738  
    1919 protected:
    2020  virtual void output_metadata_header(ostream &output) = 0;
    21   virtual void output_item(ostream &output, bool &headerDone, const text_t &label,
     21  virtual void output_item(ostream &output, outconvertclass &outconvert, bool &headerDone, const text_t &label,
    2222               const text_tarray &values);
    2323  virtual void output_metadata_footer(ostream &output) = 0;
Note: See TracChangeset for help on using the changeset viewer.