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 )