Changeset 17054
- Timestamp:
- 2008-08-28T13:18:10+12:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/plugins/GreenstoneMETSPlugin.pm
r17028 r17054 132 132 my $self = shift(@_); 133 133 my ($expat, $element) = @_; 134 135 134 $self->{'element'} = $element; 136 137 135 #**deal with dmdSection 138 if ($element eq "mets:dmdSec" || $element eq "gsdl3:Metadata"){136 if ($element =~ /^(mets:)?dmdSec$/ || $element =~ /(gsdl3:)?Metadata$/){ 139 137 $self->xml_dmd_start_tag (@_); 140 } elsif ($element eq "mets:file") {138 } elsif ($element =~ /^(mets:)?file$/) { 141 139 $_{'ID'} =~ m/FILE(.*)/; 142 140 $self->{'file_Id'} = $1; 143 } elsif ($element eq "mets:FLocat"){141 } elsif ($element =~ /^(mets:)?FLocat$/){ 144 142 #***deal with fileSection 145 143 $self->xml_fileloc_start_tag (@_); 146 } elsif ($element eq "mets:div"){144 } elsif ($element =~ /^(mets:)?div$/){ 147 145 #***deal with StrucMap Section 148 146 $self->xml_strucMap_start_tag (@_); … … 154 152 my ($expat, $element) = @_; 155 153 156 if ($element eq "mets:dmdSec"){154 if ($element =~ /^(mets:)?dmdSec$/){ 157 155 my ($section_num) = ($_{'ID'} =~ m/DM(.*)/); 158 156 $self->{'dmdSec_table'}->{"$section_num"}=[]; 159 157 $self->{'dmdSec_table'}->{'section_num'}=$section_num; 160 } elsif ($element eq "gsdl3:Metadata") {158 } elsif ($element =~ /^(gsdl3:)?Metadata$/) { 161 159 $self->{'metadata_name'} = $_{'name'}; 162 160 } … … 168 166 169 167 my $xlink = $_{'xlink:href'}; 168 if (!defined $xlink) { 169 # try without namespace 170 $xlink = $_{'href'}; 171 } 170 172 #my ($section_num) = ($_{'ID'} =~ m/^FLOCAT(.*)$/); 171 173 my $section_num = $self->{'file_Id'}; 172 173 174 return if (!defined $section_num); 174 175 #**return if the section_num is not defined or not deal with the whole section (ID="default.*") … … 178 179 179 180 my ($filename,$xpath_expr)=($xlink =~ m/^file:(.*)\#xpointer\((.*)\)$/); 180 181 181 my $nodeset = $self->{'parsed_xml'}->findnodes ($xpath_expr); 182 182 my $node_size= $nodeset->size; … … 189 189 my $xml_content = XML::XPath::XMLParser::as_string($node); 190 190 my $unescaped_xml_content = &ghtml::unescape_html($xml_content); 191 192 191 my $section_content={'section_content'=> $unescaped_xml_content}; 193 192 … … 244 243 my ($expat, $element) = @_; 245 244 246 if ($element eq "gsdl3:Metadata") {245 if ($element =~ /^(gsdl3:)?Metadata$/) { 247 246 my $section_num = $self->{'dmdSec_table'}->{'section_num'}; 248 247 my $metadata_name=$self->{'metadata_name'}; … … 258 257 $self->{'metadata_name'} = ""; 259 258 $self->{'metadata_value'} = ""; 260 } elsif ($element eq "mets:file"){259 } elsif ($element =~ /^(mets:)?file$/){ 261 260 $self->{'file_id'} = ""; 262 261 } … … 264 263 265 264 #*** StrucMap Section 266 if ($element eq "mets:div") {265 if ($element =~ /^(mets:)?div$/) { 267 266 $self->{'section_level'}--; 268 267 $self->{'section'} = $self->{'doc_obj'}->get_parent_section($self->{'section'}); … … 276 275 my ($expat) = @_; 277 276 278 if ($self->{'element'} eq "gsdl3:Metadata") {277 if ($self->{'element'} =~ /^(gsdl3:)?Metadata$/) { 279 278 $self->{'metadata_value'} .= $_; 280 279 }
Note:
See TracChangeset
for help on using the changeset viewer.