--- trunk/Estraier.pm 2006/01/04 15:28:39 9 +++ trunk/Estraier.pm 2006/01/04 19:37:38 13 @@ -181,18 +181,53 @@ sub texts { my $self = shift; - confess "attr_names return array, not scalar" if (! wantarray); - return $self->{dtexts}; + confess "texts return array, not scalar" if (! wantarray); + return @{ $self->{dtexts} }; +} + +=head2 cat_texts + +Return whole text as single scalar. + + my $text = $doc->cat_texts; + +=cut + +sub cat_texts { + my $self = shift; + return join(' ',@{ $self->{dtexts} }); } =head2 dump_draft +Dump draft data from document object. + print $doc->dump_draft; =cut sub dump_draft { - return 'FIXME'; + my $self = shift; + my $draft; + + foreach my $attr_name (sort keys %{ $self->{attrs} }) { + $draft .= $attr_name . '=' . $self->{attrs}->{$attr_name} . "\n"; + } + + if ($self->{kwords}) { + $draft .= '%%VECTOR'; + while (my ($key, $value) = each %{ $self->{kwords} }) { + $draft .= "\t$key\t$value"; + } + $draft .= "\n"; + } + + $draft .= "\n"; + + $draft .= join("\n", @{ $self->{dtexts} }) . "\n"; + $draft .= "\t" . join("\n\t", @{ $self->{htexts} }) . "\n"; + + return $draft; } =head2 delete @@ -210,6 +245,8 @@ delete($self->{$data}); } + $self->{id} = -1; + return 1; }