EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #02598


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: Creating new citation formats....


I cheated :)

In
    <PATH_TO_ARCHIVE_ID>/cfg/plugins/EPrints/Plugin/Export/MyExporter.pm

sub output_dataobj {
  my ( $plugin, $dataobj ) = @_;

  my $exporter = 'Text';

  my $session = $plugin->{session};
  my $link;
  my $cite = $dataobj->render_citation('myCitation');
  my $text = EPrints::Utils::tree_to_utf8($cite) . "\n";

  $text .= $dataobj->get_url() . "\n";

  my @plugins = $session->plugin_list(
    type          => "Export",
    can_accept    => "dataobj/eprint",
    is_advertised => 1,
    is_visible    => "all"
  );
  if ( scalar @plugins > 0 ) {
    foreach my $plugin_id (@plugins) {
      $plugin_id =~ m/^[^:]+::(.*)$/;
      my $id = $1;
      next unless $id eq $exporter;
      my $plugin = $session->plugin($plugin_id);
      $link = $plugin->dataobj_export_url($dataobj);
      $text .= $link;
    } ## end foreach my $plugin_id (@plugins)
  } ## end if ( scalar @plugins >...)

  $text .= "\n\n";
  return $text;
} ## end sub output_dataobj


On 04/02/14 15:05, John Salter wrote:
If the output of your export uses EPrints::Utils::tree_to_utf8 (text.pm does in 3.3.10), then you should (according to the documentation) be able to add an html line break, that will get converted to a newline:
 From ~/perl_lib/EPrints/Utils.pm:
"$string = EPrints::Utils::tree_to_utf8( $tree, $width, [$pre], [$whitespace_before], [$ignore_a] )

Convert a XML DOM tree to a utf-8 encoded string.
If $width is set then word-wrap at that many characters.
XHTML elements are removed with the following exceptions:
<br /> is converted to a newline.
<p>...</p> will have a blank line above and below.
<img /> will be replaced with the content of the alt attribute.
<hr /> will, if a width was specified, insert a line of dashes.
<a href="foo">bar</a> will be converted into "bar <foo>" unless ignore_a is set.
"
  - might just work!?


--

Ian Stuart.
Developer: ORI, RJ-Broker, and OpenDepot.org
Bibliographics and Multimedia Service Delivery team,
EDINA,
The University of Edinburgh.

http://edina.ac.uk/

This email was sent via the University of Edinburgh.

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.