Branch Coverage

blib/lib/Image/ExifTool/XMP.pm
Criterion Covered Total %
branch 495 762 64.9


line true false branch
2852 4505 154 unless $conv
2867 0 0 if ($str =~ /[\0-\x1f]/ or &Image::ExifTool::IsUTF8(\$str) < 0)
2897 122 107 unless (defined $val)
2898 112 10 if ($ch =~ /^#x([0-9a-fA-F]+)$/) { }
10 0 elsif ($ch =~ /^#(\d+)$/) { }
2906 75 154 if $val < 128
2907 154 0 $] >= 5.006001 ? :
2908 0 154 if $enc and $enc ne "UTF8"
2923 1369 26 unless $$strPt =~ /([\x80-\xff])/g
2927 26 0 if ($ch >= 194 and $ch < 248)
2928 0 0 $ch < 240 ? :
26 0 $ch < 224 ? :
2929 26 0 if ($$strPt =~ /\G([\x80-\xbf]{$n})/g)
2930 26 0 if $n == 1
2931 0 0 if ($n == 2) { }
2932 0 0 unless $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160 or $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
2937 0 0 unless $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
2943 0 0 unless defined $bad
2979 8 1 if ($i < $len)
2999 73869 605 $prop =~ /(.*?):(.*)/ ? :
3000 43067 31407 if ($ignoreNamespace{$ns} or $ignoreProp{$prop} or $ignoreEtProp{$prop}) { }
3003 43067 0 unless ($prop =~ /^rdf:(_\d+)$/)
3005 440 2778 if ($structProps and @$structProps and $prop =~ /^rdf:li (\d+)$/)
3010 0 0 if defined $tag
3014 301 31106 unless ($nm =~ /[a-z]/)
3018 63 0 if (ref $info eq "HASH" and $info->{'SubDirectory'})
3021 286 15 unless ($table and $table->{$nm})
3026 13235 18172 if (defined $tag) { }
3032 1393 30014 if ($structProps)
3034 475 918 if $nsList
3038 18482 12925 unless $namespace
3040 3892 14297 if (wantarray) { }
3054 540 32 unless ref $table->{'NAMESPACE'}
3058 0 32 if (ref $nsRef eq 'ARRAY') { }
3066 0 32 if ($Image::ExifTool::XMP::nsURI{$ns} and $Image::ExifTool::XMP::nsURI{$ns} ne $nsRef->{$ns})
3090 5682 0 if (defined $tagID) { }
3095 0 0 unless ref $tagInfo eq "HASH" and $tagInfo->{'Struct'}
3105 5124 558 if $tagInfo->{'Flattened'}
3109 0 558 unless (ref $strTable)
3111 0 0 unless $strTable = $Image::ExifTool::UserDefined::xmpStruct{$strTable}
3112 0 0 unless $strTable->{'STRUCT_NAME'}
3118 176 382 defined $tagInfo->{'FlatName'} ? :
3122 310 248 if $tagInfo->{'Groups'}
3123 248 310 unless $tagG2
3126 1183 5550 if $Image::ExifTool::XMP::specialStruct{$field}
3128 5 5545 if $fieldInfo->{'LangCode'}
3129 52 5493 if $fieldInfo->{'Struct'} and $noSubStruct
3135 315 5178 if ($flatInfo) { }
3136 0 315 unless ref $flatInfo eq "HASH"
3138 4 311 unless (defined $flatInfo->{'Flat'})
3139 4 0 if $flatInfo->{'NotFlat'}
3140 0 0 if $Image::ExifTool::debug
3147 33 229 if $_ eq "PropertyPath" or defined $flatInfo->{$_}
3149 12 217 $_ eq 'Groups' ? :
3153 59 252 if $flatInfo->{'List'}
3158 5178 0 unless $hidden
3159 648 4530 if $fieldInfo->{'FlatName'}
3161 165 5013 if $fieldInfo->{'Groups'}
3167 2971 2518 unless (defined $flatInfo->{'List'})
3168 1816 1155 if $fieldInfo->{'List'} or $tagInfo->{'List'}
3172 177 5312 if ($fieldInfo->{'Groups'} and $fieldInfo->{'Groups'}{'2'}) { }
91 5221 elsif ($strTable->{'GROUPS'} and $strTable->{'GROUPS'}{'2'}) { }
3183 5246 243 unless $flatInfo->{'Struct'}
3184 0 243 if length $flatID > 250
3203 12 107 unless $tagInfo->{'Writable'} and $tagInfo->{'Writable'} eq "lang-alt"
3217 13 40 if $lang =~ /^([a-z]{2,3}|[xi])(-[a-z]{2})\b(.*)/i
3234 0 0 unless defined $buff or $raf->Read($buff, 65536)
3235 0 0 unless (defined $xmp)
3237 0 0 unless ($lastBuff =~ /(<\?xpacket begin=)/g)
3239 0 0 length $buff <= 15 ? :
3248 0 0 if $pos > 0
3249 0 0 if ($xmp =~ /<\?xpacket end=['"][wr]['"]\?>/g) { }
3253 0 0 unless $pos = rindex($xmp, "\0") + 1
3260 0 0 unless ($et->{'FileType'})
3286 0 0 unless $make =~ /$mk/i or $alt{$mk} and $make =~ /$alt{$mk}/i
3295 0 0 unless %$convName
3303 0 0 if ($info)
3309 0 0 if ($mk eq 'Sony' and $focalLength && ($sf && $focalLength < $sf - 0.5 || $lf && $focalLength > $lf + 0.5) || $maxAv && ($sa && $maxAv < $sa - 0.15 || $la && $maxAv > $la + 0.15)) { }
0 0 elsif ($maxAv) { }
3325 0 0 if ($mk eq "Pentax" and $id =~ /^\d+$/)
3331 0 0 if ($mk eq "Nikon")
3333 0 0 if length $id & 1
3334 0 0 if $id =~ s/(..)/$1 /g
3339 0 0 if $used{$lens}
3341 0 0 $i ? :
3360 124 311 if ($val =~ /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}:\d{2})(:\d{2})?\s*(\S*)$/) { }
74 474 elsif (not $unsure and $val =~ /^(\d{4})(-\d{2}){0,2}/) { }
3363 110 14 if wantarray
3377 240 204 unless $val =~ m[^(-?\d+)/(-?\d+)$]
3378 202 2 if ($2 != 0) { }
0 2 elsif ($1) { }
3396 0 1 unless @vals == 4
3398 0 4 unless &ConvertRational($_)
3414 672 3073 $et->{'OPTIONS'}{'Struct'} ? :
3415 17 3728 unless $tag
3418 92 3636 if $Image::ExifTool::XMP::stdXlatNS{$ns}
3421 3339 389 if ($info) { }
10 379 elsif ($props->[0] eq 'svg:svg') { }
3422 0 3339 unless $table = $info->{'SubDirectory'}{'TagTable'}
3424 4 6 if (not $ns) { }
6 0 elsif (not grep(/^rdf:/, @$props)) { }
3426 0 4 if $tag eq "id" and $props->[1] eq "svg:metadata"
3437 219 3509 if (not $ns and $grp0 ne 'XMP') { }
4 3505 elsif ($grp0 eq 'XML' and not $table) { }
3443 0 3505 if $grp0 eq "XML"
3445 156 3349 unless $table
3447 3343 162 if ($tagTablePtr->{'NAMESPACE'}) { }
3451 162 0 unless (defined $xns)
3454 0 162 unless ($ns =~ /^[A-Z_a-z\x80-\xff][-.0-9A-Z_a-z\x80-\xff]*$/ or $ns eq "")
3458 0 0 unless $ns =~ /^[A-Z_a-z\x80-\xff]/
3466 14 148 if @structProps
3471 3495 233 if $attrs
3483 224 227 $t ? :
3485 81 370 if defined $addedFlat
3486 322 48 unless $ti = $tagTablePtr->{$t}
3487 2 46 unless ref $ti eq "HASH" and $ti->{'Struct'}
3490 23 23 if $addedFlat
3497 23 181 if (defined $addedFlat)
3502 8 33 unless $ti = $tagTablePtr->{$t}
3503 0 33 unless ref $ti eq "HASH"
3504 10 23 unless my $strTable = $ti->{'Struct'}
3505 0 23 defined $ti->{'FlatName'} ? :
3508 1 22 if $strTable->{'NAMESPACE'} or not exists $strTable->{'NAMESPACE'}
3514 4 18 if $Image::ExifTool::XMP::stdXlatNS{$n}
3518 0 22 if $xn eq ($tagTablePtr->{'NAMESPACE'} || '')
3522 17 5 if (@structProps)
3527 0 22 unless ref $tg eq "HASH" and $tg->{'SubDirectory'}
3528 0 22 unless my $tbl = &GetTagTable($tg->{'SubDirectory'}{'TagTable'})
3530 0 22 if (not $sti or $sti->{'Flat'})
3538 0 0 unless my $ti3 = $tbl->{$t3}
3539 0 0 unless ref $ti3 eq "HASH" and $ti3->{'Struct'}
3540 0 0 unless &AddFlattenedTags($tbl, $t3)
3544 0 0 unless $sti
3547 15 7 if ($tagTablePtr->{$tagID}) { }
3557 7 0 if $sti->{'Groups'}
3563 181 23 unless ($tagInfo)
3565 27 154 if ($et->{'ShortenXmpTags'})
3572 128 76 if $xns
3573 84 120 if ($et->{'curURI'}{$ns} and $et->{'curURI'}{$ns} =~ m[^http://ns.exiftool.(?:ca|org)/(.*?)/(.*?)/])
3577 7 77 if ($grps{'1'} eq 'System') { }
17 60 elsif ($grps{'1'} =~ /^\d/) { }
3592 17 179 if (@$props > 2 and $props->[-1] =~ /^rdf:li \d+$/ and $props->[-2] =~ /^rdf:(Bag|Seq|Alt)$/)
3595 12 5 if ($lang and $1 eq 'Alt') { }
3604 188 16 unless ($tagTablePtr->{$tagID} and $tagTablePtr->{$tagID} eq $tagInfo)
3606 188 0 unless $tagTablePtr->{$tagID}
3608 0 7 if (not length $val and $attrs->{'rdf:parseType'} and $attrs->{'rdf:parseType'} eq "Resource")
3609 0 0 unless $tagInfo->{'Struct'}
3617 3499 229 if ($attrs)
3619 0 3499 if ($enc and $enc =~ /base64/)
3621 0 0 unless length $$val > 100 or $$val =~ /[\0-\x08\x0b\0x0c\x0e-\x1f]/
3624 53 3675 if (defined $lang and lc $lang ne "x-default")
3627 53 0 if $langInfo
3631 9 3719 if ($val =~ //gs) { }
3650 1653 2075 if ($fmt or $new)
3652 199 1454 if ($new || $fmt eq 'rational' and &ConvertRational($val)) { }
3656 410 1044 if $new or $fmt eq "date"
3657 2 1452 if ($stdDate and $added)
3662 0 0 if ($et->{'XmpValidate'} and $fmt and $fmt eq "boolean" and not $val =~ /^True|False$/)
3663 0 0 if ($val =~ /^true|false$/) { }
3670 0 1653 if $new and length $val > 65536
3672 1 3727 if ($et->{'OPTIONS'}{'Verbose'})
3677 0 3728 unless my $key = $et->FoundTag($tagInfo, $val)
3679 199 3529 if defined $rational
3681 329 339 if (@structProps and @structProps > 1 || defined $structProps[0][1] and not $et->{'NO_STRUCT'})
3687 0 3728 if ($xmlGroups) { }
3392 559 elsif ($ns and not $tagInfo->{'StaticGroup1'}) { }
3694 0 188 if ($added and $et->{'OPTIONS'}{'Verbose'})
3696 0 0 if (@$added > 1) { }
3707 2 3726 if ($tagInfo->{'SubDirectory'} and not $et->{'IsWriting'})
3709 1 1 ref $et->{'VALUE'}{$key} ? :
3711 0 2 if $tagInfo->{'Encoding'} and $tagInfo->{'Encoding'} eq "Base64"
3724 1 1 if $subdir->{'ByteOrder'}
3754 164 7722 if ($et->{'XMPParseOpts'}) { }
3760 195 7691 unless $start
3761 0 7886 unless $end
3762 294 7592 unless $propList
3766 294 7592 unless $blankInfo
3777 4772 11479 if pos $$dataPt > $end - 4
3781 3037 8442 if not $$dataPt =~ m[<([?/]?)([-\w:.\x80-\xff]+|!--)([^>]*)>]gs or pos $$dataPt > $end
3784 584 7858 if $1
3787 159 7699 if ($prop eq "!--")
3788 159 0 if $attrs =~ /--$/ or $$dataPt =~ /-->/gs
3795 7573 126 if (not $attrs =~ s[/$][]) { }
3804 0 7895 if (not $$dataPt =~ m[<(/?)$prop([-\w:.\x80-\xff]*)(.*?(/?))>]gs or pos $$dataPt > $end)
3810 38 7857 if $2
3811 7713 144 if ($1)
3812 140 7573 if --$nesting
3817 140 4 unless $4
3825 0 0 if ($et->{'EXCL_XMP_LOOKUP'} and not $isWriting and $prop =~ /^(.+):(.*)/)
3827 0 0 if ($et->{'EXCL_XMP_LOOKUP'}{"xmp-${ns}:all"} or $et->{'EXCL_XMP_LOOKUP'}{"xmp-${ns}:$nm"} or $et->{'EXCL_XMP_LOOKUP'}{"xmp-all:$nm"})
3843 11523 631 if (length $attrs < 2000) { }
3844 7687 3836 unless $attrs =~ /(\S+?)\s*=\s*(['"])/g
3848 12 619 unless $attrs =~ /=\s*(['"])/g
3850 330 289 pos $attrs > 1000 ? :
3852 0 619 unless $tmp =~ /(\S+)\s*=\s*$quote$/
3856 0 4455 unless $attrs =~ /$quote/g
3859 3948 507 if ($attr =~ /(.*?):/)
3860 1602 2346 if ($1 eq 'xmlns') { }
3864 1583 19 unless $et->{'definedNS'}{$ns}
3865 50 1552 unless ($stdNS)
3868 15 35 unless $try =~ s[/$][]
3870 0 50 if ($stdNS) { }
0 50 elsif ($val =~ m[^http://ns.nikon.com/BASIC_PARAM]) { }
3880 0 50 if ($good)
3888 1552 50 if ($stdNS) { }
0 50 elsif ($et->{'curNS'}{$val}) { }
3890 209 1343 if ($stdNS ne $ns) { }
2 1341 elsif ($xlatNS->{$ns}) { }
3898 0 0 if $et->{'curNS'}{$val} ne $ns
3904 2 48 if ($curURI->{$ns} or $Image::ExifTool::XMP::nsURI{$ns})
3914 213 1389 if (defined $newNS)
3917 86 127 unless $saveNS
3918 211 2 if (length $newNS) { }
3924 208 0 unless /(.*?):/ and $1 eq $ns and $1 ne $newNS
3935 98 2248 if $xlatNS->{$1}
3942 7343 356 if ($prop =~ /(.*?):/)
3945 244 7099 if $xlatNS->{$1}
3948 1435 6264 if ($prop eq 'rdf:li') { }
773 5491 elsif ($prop eq 'rdf:Description') { }
0 5491 elsif ($prop eq 'xmp:xmpmeta') { }
3950 0 1435 if ($nItems == 1000)
3952 0 0 if ($isWriting) { }
0 0 elsif (not $et->{'OPTIONS'}{'IgnoreMinorErrors'}) { }
3970 798 71 unless ($nItems or grep /^rdf:li /, @$propList)
3977 4 769 if (grep /^rdf:Description$/, @$propList)
3985 0 0 if $et->{'XmpValidate'}
3990 69 7630 if ($attrProc)
3992 54 15 if (&$attrProc(\@attrs, \%attrs, \$prop, \$val))
3999 16 7683 if (defined $attrs{'rdf:nodeID'})
4007 7699 0 unless $parseResource
4009 17 7682 if ($isSVG) { }
13 7669 elsif ($et->{'XmpIgnoreProps'}) { }
4011 17 0 unless ($et->{'OPTIONS'}{'Unknown'} > 1 or $et->{'OPTIONS'}{'Verbose'})
4012 0 17 if (@$propList > 1 and not $propList->[1] =~ /\b(metadata|desc|title)$/)
4017 2 15 if ($prop eq "svg" or $prop eq "metadata")
4023 2 36 unless @$propList
4024 2 34 if $_ eq $propList->[0]
4032 16 4320 unless defined $attrs{$shortName}
4035 3932 388 if ($propName =~ /(.*?):(.*)/) { }
250 138 elsif ($prop =~ /(\S*?):/) { }
4049 759 3561 if ($propName eq "rdf:about")
4050 474 285 if (not $et->{'XmpAbout'}) { }
0 285 elsif ($et->{'XmpAbout'} ne $attrs{$shortName}) { }
4053 0 0 if ($isWriting) { }
0 0 elsif ($et->{'XmpValidate'}) { }
4055 0 0 unless ($et->{'WAS_WARNED'}{$str})
4064 1268 3052 if ($isWriting)
4066 360 908 if ($ns eq 'xmlns') { }
211 697 elsif ($recognizedAttrs{$propName}) { }
4068 291 69 unless ($stdNS and $stdNS eq 'x' || $stdNS eq 'iX')
4070 288 3 unless defined $nsUsed->{$name}
4081 205 837 if ($ignoreNamespace{$ns} or $ignoreProp{$prop} or $ignoreEtProp{$propName})
4084 479 2433 if (ref $recognizedAttrs{$propName} and $shortVal)
4087 247 232 unless (defined $et->{'VALUE'}{$name} and $et->{'VALUE'}{$name} eq $tval)
4096 4 833 if (defined $nodeID) { }
521 312 elsif ($isWriting) { }
4101 0 312 if $et->{'XmpValidate'}
4107 1252 6447 if ($isWriting) { }
4108 599 653 if (&ParseXMPElement($et, $tagTablePtr, $dataPt, $valStart, $valEnd, $propList, $blankInfo)) { }
635 18 elsif (not $shorthand or $valEnd != $valStart) { }
4113 0 599 if $ignored
4117 8 627 if ($prop eq "rdf:Description")
4120 13 622 if (defined $nodeID) { }
4128 3697 2750 if ($valStart == $valEnd or not &ParseXMPElement($et, $tagTablePtr, $dataPt, $valStart, $valEnd, $propList, $blankInfo))
4133 3636 61 unless (defined $val)
4136 16 3620 if ($prop eq "rdf:Description" and $val)
4141 18 50 if ($val eq "" and $attrs =~ /\brdf:(?:value|resource)=(['"])(.*?)\1/ || $attrs =~ /\brdf:about=(['"])(.*?)\1/)
4150 3680 17 if (length $val or not $shorthand)
4152 0 3680 unless defined $lastProp
4153 13 3667 if (defined $nodeID) { }
8 3659 elsif ($lastProp eq 'rdf:type' and $wasEmpty) { }
0 3659 elsif ($lastProp =~ /^et:(desc|prt|val)$/ and $count || $1 eq 'desc') { }
4161 0 3659 if $et->{'XmpValidate'}
4167 7699 0 unless $parseResource
4171 0 7699 if ($et->{'XmpValidate'})
4173 0 0 if $et->{'definedNS'}{$_} or $_ eq "xml"
4174 0 0 if (defined $et->{'definedNS'}{$_}) { }
4187 77 7622 if $start >= $end
4194 4 7882 if ($processBlankInfo and %{$blankInfo->{'Prop'};})
4199 86 7800 if $saveNS
4239 7 2 if ($Image::ExifTool::MWG::strict || $et->{'OPTIONS'}{'Validate'} and not $et->{'XMP_CAPTURE'} || $et->{'DOC_NUM'} and ($dirInfo->{'DirName'} || '') eq 'XMP' || $et->{'FILE_TYPE'} eq 'XMP')
4243 0 7 if $et->{'OPTIONS'}{'Validate'}
4245 0 0 if ($nonStd and $Image::ExifTool::MWG::strict)
4249 0 7 if ($nonStd) { }
7 0 elsif (not $dirInfo->{'IsExtended'}) { }
4252 0 7 if $et->{'DIR_COUNT'}{'XMP'}
4256 233 85 if ($dataPt) { }
4262 0 233 if ($$dataPt =~ /\G((\0\0)?\xfe\xff|\xff\xfe(\0\0)?|\xef\xbb\xbf)\0*<\0*\?\0*x\0*p\0*a\0*c\0*k\0*e\0*t/g) { }
4267 0 233 if ($$dataPt =~ /\G((\0\0)?\xfe\xff|\xff\xfe(\0\0)?|\xef\xbb\xbf)\0*<\0*\?\0*x\0*m\0*l\0* /g)
4269 0 0 $tmp =~ /\xfe\xff/ ? :
4270 0 0 if $tmp =~ /\0\0/
4277 0 85 unless my $raf = $dirInfo->{'RAF'}
4278 17 68 unless $raf->Read($buff, 256)
4283 0 0 if ($buf2 =~ s/^\s*\s+//s) { }
4285 0 0 if length $buf2 > 128
4288 0 0 if length $buf2 > 10000
4290 0 0 unless $raf->Read($buf3, 256)
4297 54 14 if ($buf2 =~ /^\s*(<\?xpacket begin=|
4301 0 14 if ($buf2 =~ /^(\xfe\xff)(<\?xml|
0 14 elsif ($buf2 =~ /^(\xff\xfe)(<\?xml|
7 7 elsif ($buf2 =~ /^(\xef\xbb\xbf)?(<\?xml|
0 7 elsif ($buf2 =~ /^(\xfe\xff|\xff\xfe|\xef\xbb\xbf)(<\?xpacket begin=)/g) { }
4312 0 7 if $1
4313 7 0 if ($2 eq '
0 0 elsif ($2 eq '
0 0 elsif ($2 eq '
4314 1 6 if (defined $fmt and not $fmt and $buf2 =~ /^[^\n\r]*[\n\r]+<\?aid /s) { }
0 6 elsif ($buf2 =~ /
4316 0 1 if ($et->{'XMP_CAPTURE'})
4326 2 4 if ($buf2 =~ /
1 3 elsif ($buf2 =~ /]/) { }
3 0 elsif ($buf2 =~ /
0 0 elsif ($buf2 =~ /]/) { }
4327 0 2 if ($1 eq 'svg') { }
2 0 elsif ($1 eq 'plist') { }
0 0 elsif ($1 eq 'REDXIF') { }
0 0 elsif ($1 ne 'fcpxml') { }
4351 0 1 if ($isSVG and $et->{'XMP_CAPTURE'})
4355 0 7 if ($buff =~ /^\0\0/) { }
0 7 elsif ($buff =~ /^..\0\0/s) { }
7 0 elsif (not $fmt) { }
4360 0 7 if ($buff =~ /^\0/) { }
0 7 elsif ($buff =~ /^.\0/s) { }
4368 3 58 if ($type) { }
4369 2 1 if ($type eq "PLIST")
4371 0 2 if $ext and $ext eq "MODD"
4376 1 57 if ($isSVG) { }
0 57 elsif ($isXML and not $hasXMP and not $isRDF) { }
4381 0 0 if $ext and $ext eq "COS"
4387 0 61 if $fast and $fast == 3
4389 1 60 if ($type and $type eq 'INX') { }
4393 0 1 unless $raf->Seek(0, 0)
4394 0 1 unless $raf->Read($buff, 65536)
4396 1 0 if $buff =~ /
4397 0 0 unless $raf->Read($buf2, 65536)
4402 1 0 if $buff =~ /<\?xpacket end="[rw]"\?>\]\]>/g
4404 0 0 unless $raf->Read($buf2, 65536)
4412 0 60 unless $raf->Seek(0, 2)
4413 0 60 unless $size = $raf->Tell
4414 0 60 unless $raf->Seek(0, 0)
4415 0 60 unless $raf->Read($buff, $size) == $size
4423 0 294 if ($double)
4430 0 0 if ($double eq "\357\273\277") { }
4435 0 0 if (length $double == 2) { }
4436 0 0 $double eq "\376\377" ? :
4438 0 0 $double eq "\000\000\376\377" ? :
4442 0 0 if (&Image::ExifTool::GetWarning()) { }
4443 0 0 unless $dirInfo->{'RAF'}
4454 5 289 $dirInfo->{'BlockInfo'} ? :
4456 40 5 if ($et->{'REQ_TAG_LOOKUP'}{lc $blockName} || $et->{'TAGS_FROM_FILE'} && !$et->{'EXCL_TAG_LOOKUP'}{lc $blockName} || $blockExtract and $et->{'FileType'} eq 'XMP' && $blockName eq 'XMP' || $dirInfo->{'DirName'} && $dirInfo->{'DirName'} eq $blockName)
4462 0 40 if $blockExtract and $blockExtract > 1
4465 59 235 unless $tagTablePtr
4466 1 293 if ($et->Options("Verbose") and not $et->{'XMP_CAPTURE'})
4467 0 1 $isSVG ? :
4478 7 287 if ($isXML or $isRDF) { }
217 70 elsif ($$dataPt =~ /\G\Q$begin\E/cg) { }
3 67 elsif ($$dataPt =~ / $dirStart and pos $$dataPt < $dirEnd) { }
4495 34 33 if ($$dataPt =~ /\G(\0)?\Q$begin\E\0./gs) { }
4497 34 0 if ($1) { }
4500 0 34 unless $$dataPt =~ /\G\xfe\xff/g
4503 0 0 unless $$dataPt =~ /\G\0\xff\xfe/g
4509 33 0 if (not $$dataPt =~ /\G(\0\0\0)?\Q$begin\E\0\0\0./gs) { }
0 0 elsif ($1) { }
4514 0 0 unless $$dataPt =~ /\G\0\0\xfe\xff/g
4517 0 0 unless $$dataPt =~ /\G\0\0\0\xff\xfe\0\0/g
4520 0 67 if $badEnc
4523 0 0 if ($et->{'XMP_NO_XPACKET'} and $et->{'OPTIONS'}{'Validate'} and $stdPath{$et->{'FILE_TYPE'}} and $path eq $stdPath{$et->{'FILE_TYPE'}} and not $dirInfo->{'IsExtended'} and not $et->{'DOC_NUM'})
4529 34 260 if ($fmt)
4531 33 1 if ($dirStart or $dirEnd != length $$dataPt)
4536 34 0 if ($] >= 5.006001) { }
4547 261 33 if $tagTablePtr eq \%Image::ExifTool::XMP::Main
4553 1 293 if ($dirInfo->{'IgnoreProp'}) { }
4561 36 258 if ($et->{'OPTIONS'}{'Struct'})
4562 21 15 if ($et->{'OPTIONS'}{'Struct'} eq '2') { }
4574 5 289 if $dirInfo->{'BlockInfo'} or $dirInfo->{'NoStruct'}
4577 294 0 if (&ParseXMPElement($et, $tagTablePtr, $dataPt, $dirStart, $dirEnd)) { }
0 0 elsif ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq 'XMP') { }
4583 0 0 if ($xmp =~ /^ *\0*$/) { }
4593 67 227 if $rtnVal and $dirInfo->{'RAF'}
4596 28 266 if ($et->{'IsStruct'})
4597 28 0 unless ($dirInfo->{'NoStruct'})