Changeset 17026 for gsdl/trunk/perllib/plugins/SplitTextFile.pm
- Timestamp:
- 2008-08-27T20:40:20+12:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/plugins/SplitTextFile.pm
r16700 r17026 234 234 # create a new document 235 235 my $doc_obj = new doc ($filename_full_path, "indexed_doc"); 236 $doc_obj->set_OIDtype ($processor->{'OIDtype'}, $processor->{'OIDmetadata'});237 236 $doc_obj->add_utf8_metadata($doc_obj->get_top_section(), "Language", $language); 238 237 $doc_obj->add_utf8_metadata($doc_obj->get_top_section(), "Encoding", $encoding); … … 248 247 # Calculate a "base" document ID. 249 248 if (!defined $id) { 250 $doc_obj->set_OID(); 251 $id = $doc_obj->get_OID(); 249 $id = $self->get_base_OID($doc_obj); 252 250 } 253 251 … … 274 272 275 273 # add an OID 276 $self-> set_OID($doc_obj, $id, $segment);274 $self->add_OID($doc_obj, $id, $segment); 277 275 278 276 # process the document … … 288 286 } 289 287 290 sub set_OID { 288 sub get_base_OID { 289 my $self = shift(@_); 290 my ($doc_obj) = @_; 291 292 $self->SUPER::add_OID($doc_obj); 293 return $doc_obj->get_OID(); 294 } 295 296 sub add_OID { 291 297 my $self = shift (@_); 292 my ($doc_obj, $id, $segment_number) = @_; 293 294 $doc_obj->set_OID($id . "s" . $segment_number); 295 } 298 my ($doc_obj, $id, $segment) = @_; 299 300 my $full_id = $id . "s" . $segment; 301 if ($self->{'OIDtype'} eq "assigned") { 302 my $identifier = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), $self->{'OIDmetadata'}); 303 if (defined $identifier && $identifier ne "") { 304 $full_id = $identifier; 305 $full_id =~ s/\.//; #remove any periods 306 if ($full_id =~ /^[\d]*$/) { 307 $full_id = "D" . $full_id; 308 print STDERR "OID only contains numbers, adding a D\n"; 309 } 310 } 311 } 312 $doc_obj->set_OID($full_id); 313 } 314 296 315 297 316 1;
Note:
See TracChangeset
for help on using the changeset viewer.