Bundle-PBib
view release on metacpan or search on metacpan
lib/PBib/Document/OpenOffice.pm view on Meta::CPAN
return $self;
}
# can be used by outDoc objects to access the corresponding inDoc
sub inDoc { my $self = shift; return $self->{inDoc}; }
##############################################
=back
=head1 Formatting Methods
Methods used by PBib to create formatted text.
=over
=cut
sub quote { my ($self, $text) = @_;
# convert $text from internal to external format
# $text =~ s/([\{\}])/\\$1/g;
$text = $self->PBib::Document::XML::quote($text);
$text =~ s/---/$EM_DASH/g;
$text =~ s/--/$EN_DASH/g;
$text =~ s/ - /$EN_DASH/g;
# quote also ordinal numbers like 1st, 2nd, 3rd, NNNth
return $text;
}
sub unquote { my ($self, $text) = @_;
# convert $text from external to internal format
# Any transformation necessary??
return $text;
}
sub quoteFieldId { my ($self, $id) = @_;
#
# return a valid field ID
#
# strip all non-bookmark chars, and add a prefix "r"
#
$id =~ s/[^A-Z0-9]//gi;
return $id;
}
#
#
# text formating methods
#
#
sub formatRange {
my ($self, $text) = @_;
# replace with endash
$text =~ s/\s*-(-?)\s*/$EN_DASH/g if defined $text;
return $text;
}
sub paragraph { my ($self, $text) = @_;
# hmmmmmmm I guess this needs to be mor intelligent .....
return "<text:p>$text</text:p>\n";
}
sub linebreak { my ($self) = @_;
# return code that stands for a line-break
return "<text:line-break/>\n";
}
sub singleQuotes { my ($self, $text) = @_;
# return $text enclosed in single quotes
return "$LQUOTE_EN$text$RQUOTE_EN";
}
sub doubleQuotes { my ($self, $text) = @_;
# return $text enclosed in double quotes
return "$LDBLQUOTE_EN$text$RDBLQUOTE_EN";
}
# fields
sub field {
my ($self, $text, $code) = @_;
return "$text" . $self->comment("field: $code");
}
sub bookmark {
my ($self, $text, $bookmark) = @_;
return $text unless defined($bookmark);
return "<text:bookmark-start text:name=\"$bookmark\"/>$text<text:bookmark-end text:name=\"$bookmark\"/>";
}
sub bookmarkLink {
# return $text marked as a hyperlink to bookmark $id
my ($self, $text, $id) = @_;
return "<text:bookmark-ref text:reference-format=\"text\" text:ref-name=\"$id\">$text</text:bookmark-ref>";
# Alternative:
# return $self->hyperlink($text, "#$id");
}
sub hyperlink {
# return $text marked as bookmark (with $refID as bookmark)
my ($self, $text, $url) = @_;
$url = $text unless( $url );
return "<text:a xlink:type=\"simple\" xlink:href=\"$url\">$text</text:a>";
}
sub bibitems_start { my ($self) = @_; return ""; }
sub bibitems_separator { my ($self) = @_; return $self->linebreak(); }
sub bibitems_end { my ($self) = @_; return ""; }
sub block_start { my ($self) = @_; return ""; }
sub block_separator { my ($self) = @_; return " "; }
sub block_end { my ($self) = @_; return "\n"; }
sub tieConnect { my $self = shift;
# use non-breaking-space
return join($NB_SPACE, @_);
}
sub comment { my ($self, $text) = @_;
( run in 0.919 second using v1.01-cache-2.11-cpan-0d23b851a93 )