Branch Coverage

blib/lib/Image/ExifTool/XMP.pm
Criterion Covered Total %
branch 466 724 64.3


line true false branch
2673 4403 154 unless $conv
2688 0 0 if ($str =~ /[\0-\x1f]/ or &Image::ExifTool::IsUTF8(\$str) < 0)
2718 122 109 unless (defined $val)
2719 112 10 if ($ch =~ /^#x([0-9a-fA-F]+)$/) { }
10 0 elsif ($ch =~ /^#(\d+)$/) { }
2727 77 154 if $val < 128
2728 154 0 $] >= 5.006001 ? :
2729 0 154 if $enc and $enc ne "UTF8"
2744 1312 25 unless $$strPt =~ /([\x80-\xff])/g
2748 25 0 if ($ch >= 194 and $ch < 248)
2749 0 0 $ch < 240 ? :
25 0 $ch < 224 ? :
2750 25 0 if ($$strPt =~ /\G([\x80-\xbf]{$n})/g)
2751 25 0 if $n == 1
2752 0 0 if ($n == 2) { }
2753 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
2758 0 0 unless $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
2764 0 0 unless defined $bad
2800 7 1 if ($i < $len)
2820 65874 544 $prop =~ /(.*?):(.*)/ ? :
2821 38774 27644 if ($ignoreNamespace{$ns} or $ignoreProp{$prop}) { }
2824 38774 0 unless ($prop =~ /^rdf:(_\d+)$/)
2826 439 2760 if ($structProps and @$structProps and $prop =~ /^rdf:li (\d+)$/)
2831 0 0 if defined $tag
2835 292 27352 unless ($nm =~ /[a-z]/)
2839 55 0 if (ref $info eq "HASH" and $info->{'SubDirectory'})
2842 277 15 unless ($table and $table->{$nm})
2847 11473 16171 if (defined $tag) { }
2853 1378 26266 if ($structProps)
2855 460 918 if $nsList
2859 16462 11182 unless $namespace
2861 3794 12394 if (wantarray) { }
2875 503 28 unless ref $table->{'NAMESPACE'}
2879 0 28 if (ref $nsRef eq 'ARRAY') { }
2887 0 28 if ($Image::ExifTool::XMP::nsURI{$ns} and $Image::ExifTool::XMP::nsURI{$ns} ne $nsRef->{$ns})
2911 5046 0 if (defined $tagID) { }
2916 0 0 unless ref $tagInfo eq "HASH" and $tagInfo->{'Struct'}
2926 4532 514 if $tagInfo->{'Flattened'}
2930 0 514 unless (ref $strTable)
2932 0 0 unless $strTable = $Image::ExifTool::UserDefined::xmpStruct{$strTable}
2933 0 0 unless $strTable->{'STRUCT_NAME'}
2939 155 359 defined $tagInfo->{'FlatName'} ? :
2943 283 231 if $tagInfo->{'Groups'}
2944 231 283 unless $tagG2
2947 1087 4926 if $Image::ExifTool::XMP::specialStruct{$field}
2949 5 4921 if $fieldInfo->{'LangCode'}
2950 44 4877 if $fieldInfo->{'Struct'} and $noSubStruct
2956 314 4563 if ($flatInfo) { }
2957 0 314 unless ref $flatInfo eq "HASH"
2959 4 310 unless (defined $flatInfo->{'Flat'})
2960 4 0 if $flatInfo->{'NotFlat'}
2961 0 0 if $Image::ExifTool::debug
2968 33 226 if $_ eq "PropertyPath" or defined $flatInfo->{$_}
2970 12 214 $_ eq 'Groups' ? :
2974 59 251 if $flatInfo->{'List'}
2979 616 3947 if $fieldInfo->{'FlatName'}
2981 165 4398 if $fieldInfo->{'Groups'}
2987 2681 2192 unless (defined $flatInfo->{'List'})
2988 1674 1007 if $fieldInfo->{'List'} or $tagInfo->{'List'}
2992 177 4696 if ($fieldInfo->{'Groups'} and $fieldInfo->{'Groups'}{'2'}) { }
84 4612 elsif ($strTable->{'GROUPS'} and $strTable->{'GROUPS'}{'2'}) { }
3003 4657 216 unless $flatInfo->{'Struct'}
3004 0 216 if length $flatID > 250
3023 8 99 unless $tagInfo->{'Writable'} and $tagInfo->{'Writable'} eq "lang-alt"
3037 13 40 if $lang =~ /^([a-z]{2,3}|[xi])(-[a-z]{2})\b(.*)/i
3054 0 0 unless defined $buff or $raf->Read($buff, 65536)
3055 0 0 unless (defined $xmp)
3057 0 0 unless ($lastBuff =~ /(<\?xpacket begin=)/g)
3059 0 0 length $buff <= 15 ? :
3068 0 0 if $pos > 0
3069 0 0 if ($xmp =~ /<\?xpacket end=['"][wr]['"]\?>/g) { }
3073 0 0 unless $pos = rindex($xmp, "\0") + 1
3080 0 0 unless ($et->{'VALUE'}{'FileType'})
3106 0 0 unless $make =~ /$mk/i or $alt{$mk} and $make =~ /$alt{$mk}/i
3115 0 0 unless %$convName
3123 0 0 if ($info)
3129 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) { }
3145 0 0 if ($mk eq "Pentax" and $id =~ /^\d+$/)
3151 0 0 if ($mk eq "Nikon")
3153 0 0 if length $id & 1
3154 0 0 if $id =~ s/(..)/$1 /g
3159 0 0 if $used{$lens}
3161 0 0 $i ? :
3180 119 304 if ($val =~ /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}:\d{2})(:\d{2})?\s*(\S*)$/) { }
73 462 elsif (not $unsure and $val =~ /^(\d{4})(-\d{2}){0,2}/) { }
3196 234 204 unless $val =~ m[^(-?\d+)/(-?\d+)$]
3197 202 2 if ($2 != 0) { }
0 2 elsif ($1) { }
3215 0 1 unless @vals == 4
3217 0 4 unless &ConvertRational($_)
3233 672 2981 $et->{'OPTIONS'}{'Struct'} ? :
3234 17 3636 unless $tag
3237 86 3550 if $Image::ExifTool::XMP::stdXlatNS{$ns}
3240 3268 368 if ($info) { }
9 359 elsif ($props->[0] eq 'svg:svg') { }
3241 0 3268 unless $table = $info->{'SubDirectory'}{'TagTable'}
3243 4 5 if (not $ns) { }
5 0 elsif (not grep(/^rdf:/, @$props)) { }
3245 0 4 if $tag eq "id" and $props->[1] eq "svg:metadata"
3256 203 3433 if (not $ns and $grp0 ne 'XMP') { }
4 3429 elsif ($grp0 eq 'XML' and not $table) { }
3262 0 3429 if $grp0 eq "XML"
3264 152 3277 unless $table
3266 3272 157 if ($tagTablePtr->{'NAMESPACE'}) { }
3270 157 0 unless (defined $xns)
3273 0 157 unless ($ns =~ /^[A-Z_a-z\x80-\xff][-.0-9A-Z_a-z\x80-\xff]*$/ or $ns eq "")
3277 0 0 unless $ns =~ /^[A-Z_a-z\x80-\xff]/
3285 14 143 if @structProps
3290 3429 207 if $attrs
3302 220 218 $t ? :
3304 81 357 if defined $addedFlat
3305 312 45 unless $ti = $tagTablePtr->{$t}
3306 0 45 unless ref $ti eq "HASH" and $ti->{'Struct'}
3309 22 23 if $addedFlat
3316 23 173 if (defined $addedFlat)
3321 8 33 unless $ti = $tagTablePtr->{$t}
3322 0 33 unless ref $ti eq "HASH"
3323 10 23 unless my $strTable = $ti->{'Struct'}
3324 0 23 defined $ti->{'FlatName'} ? :
3327 1 22 if $strTable->{'NAMESPACE'} or not exists $strTable->{'NAMESPACE'}
3333 4 18 if $Image::ExifTool::XMP::stdXlatNS{$n}
3337 0 22 if $xn eq ($tagTablePtr->{'NAMESPACE'} || '')
3341 17 5 if (@structProps)
3346 0 22 unless ref $tg eq "HASH" and $tg->{'SubDirectory'}
3347 0 22 unless my $tbl = &GetTagTable($tg->{'SubDirectory'}{'TagTable'})
3349 0 22 if (not $sti or $sti->{'Flat'})
3357 0 0 unless my $ti3 = $tbl->{$t3}
3358 0 0 unless ref $ti3 eq "HASH" and $ti3->{'Struct'}
3359 0 0 unless &AddFlattenedTags($tbl, $t3)
3363 0 0 unless $sti
3372 22 0 if $sti->{'Groups'}
3377 173 23 unless ($tagInfo)
3379 27 146 if ($et->{'ShortenXmpTags'})
3386 122 74 if $xns
3387 78 118 if ($et->{'curURI'}{$ns} and $et->{'curURI'}{$ns} =~ m[^http://ns.exiftool.(?:ca|org)/(.*?)/(.*?)/])
3391 20 58 if ($grps{'1'} =~ /^\d/)
3403 17 171 if (@$props > 2 and $props->[-1] =~ /^rdf:li \d+$/ and $props->[-2] =~ /^rdf:(Bag|Seq|Alt)$/)
3406 12 5 if ($lang and $1 eq 'Alt') { }
3416 180 16 unless $tagTablePtr->{$tagID}
3418 0 7 if (not length $val and $attrs->{'rdf:parseType'} and $attrs->{'rdf:parseType'} eq "Resource")
3425 3433 203 if ($attrs)
3427 1 3432 if ($enc and $enc =~ /base64/)
3429 0 1 unless length $$val > 100 or $$val =~ /[\0-\x08\x0b\0x0c\x0e-\x1f]/
3432 53 3583 if (defined $lang and lc $lang ne "x-default")
3435 53 0 if $langInfo
3439 9 3627 if ($val =~ //gs) { }
3458 1630 2006 if ($fmt or $new)
3460 199 1431 if ($new || $fmt eq 'rational' and &ConvertRational($val)) { }
3463 400 1031 if $new or $fmt eq "date"
3465 0 0 if ($et->{'XmpValidate'} and $fmt and $fmt eq "boolean" and not $val =~ /^True|False$/)
3466 0 0 if ($val =~ /^true|false$/) { }
3473 0 1630 if $new and length $val > 65536
3476 0 3636 unless my $key = $et->FoundTag($tagInfo, $val)
3478 199 3437 if defined $rational
3480 329 339 if (@structProps and @structProps > 1 || defined $structProps[0][1] and not $et->{'NO_STRUCT'})
3486 0 3636 if ($xmlGroups) { }
3320 523 elsif ($ns and not $tagInfo->{'StaticGroup1'}) { }
3493 1 3635 if ($et->{'OPTIONS'}{'Verbose'})
3494 0 1 if ($added)
3496 0 0 if (@$added > 1) { }
3510 0 3636 if ($tagInfo->{'SubDirectory'} and not $et->{'IsWriting'})
3512 0 0 ref $et->{'VALUE'}{$key} ? :
3514 0 0 if $tagInfo->{'Encoding'} and $tagInfo->{'Encoding'} eq "Base64"
3524 0 0 if $subdir->{'ByteOrder'}
3554 154 7565 if ($et->{'XMPParseOpts'}) { }
3560 188 7531 unless $start
3561 0 7719 unless $end
3562 280 7439 unless $propList
3566 280 7439 unless $blankInfo
3577 4661 11246 if pos $$dataPt > $end - 4
3581 2983 8263 if not $$dataPt =~ m[<([?/]?)([-\w:.\x80-\xff]+|!--)([^>]*)>]gs or pos $$dataPt > $end
3584 564 7699 if $1
3587 158 7541 if ($prop eq "!--")
3588 158 0 if $attrs =~ /--$/ or $$dataPt =~ /-->/gs
3595 7420 121 if (not $attrs =~ s[/$][]) { }
3604 0 7742 if (not $$dataPt =~ m[<(/?)$prop([-\w:.\x80-\xff]*)(.*?(/?))>]gs or pos $$dataPt > $end)
3610 38 7704 if $2
3611 7560 144 if ($1)
3612 140 7420 if --$nesting
3617 140 4 unless $4
3625 0 0 if ($et->{'EXCL_XMP_LOOKUP'} and not $isWriting and $prop =~ /^(.+):(.*)/)
3627 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"})
3640 3811 483 if ($attr =~ /(.*?):/)
3641 1538 2273 if ($1 eq 'xmlns') { }
3645 1519 19 unless $et->{'definedNS'}{$ns}
3646 46 1492 unless ($stdNS)
3649 14 32 unless $try =~ s[/$][]
3651 0 46 if ($stdNS) { }
3659 0 46 if ($good)
3667 1492 46 if ($stdNS) { }
0 46 elsif ($et->{'curNS'}{$val}) { }
3669 202 1290 if ($stdNS ne $ns) { }
2 1288 elsif ($xlatNS->{$ns}) { }
3677 0 0 if $et->{'curNS'}{$val} ne $ns
3683 2 44 if ($curURI->{$ns} or $Image::ExifTool::XMP::nsURI{$ns})
3693 206 1332 if (defined $newNS)
3696 79 127 unless $saveNS
3697 204 2 if (length $newNS) { }
3703 187 0 unless /(.*?):/ and $1 eq $ns and $1 ne $newNS
3714 92 2181 if $xlatNS->{$1}
3721 7196 345 if ($prop =~ /(.*?):/)
3724 241 6955 if $xlatNS->{$1}
3727 1416 6125 if ($prop eq 'rdf:li') { }
755 5370 elsif ($prop eq 'rdf:Description') { }
0 5370 elsif ($prop eq 'xmp:xmpmeta') { }
3729 0 1416 if ($nItems == 1000)
3731 0 0 if ($isWriting) { }
0 0 elsif (not $et->{'OPTIONS'}{'IgnoreMinorErrors'}) { }
3749 785 71 unless ($nItems or grep /^rdf:li /, @$propList)
3756 4 751 if (grep /^rdf:Description$/, @$propList)
3764 0 0 if $et->{'XmpValidate'}
3769 58 7483 if ($attrProc)
3771 53 5 if (&$attrProc(\@attrs, \%attrs, \$prop, \$val))
3778 16 7525 if (defined $attrs{'rdf:nodeID'})
3786 7541 0 unless $parseResource
3788 16 7525 if ($isSVG) { }
13 7512 elsif ($et->{'XmpIgnoreProps'}) { }
3790 16 0 unless ($et->{'OPTIONS'}{'Unknown'} > 1 or $et->{'OPTIONS'}{'Verbose'})
3791 0 16 if (@$propList > 1 and not $propList->[1] =~ /\b(metadata|desc|title)$/)
3796 2 14 if ($prop eq "svg" or $prop eq "metadata")
3802 2 36 unless @$propList
3803 2 34 if $_ eq $propList->[0]
3811 16 4172 unless defined $attrs{$shortName}
3814 3795 377 if ($propName =~ /(.*?):(.*)/) { }
250 127 elsif ($prop =~ /(\S*?):/) { }
3828 741 3431 if ($propName eq "rdf:about")
3829 456 285 if (not $et->{'XmpAbout'}) { }
0 285 elsif ($et->{'XmpAbout'} ne $attrs{$shortName}) { }
3832 0 0 if ($isWriting) { }
0 0 elsif ($et->{'XmpValidate'}) { }
3834 0 0 unless ($et->{'WARNED_ONCE'}{$str})
3843 1232 2940 if ($isWriting)
3845 344 888 if ($ns eq 'xmlns') { }
205 683 elsif ($recognizedAttrs{$propName}) { }
3847 278 66 unless ($stdNS and $stdNS eq 'x' || $stdNS eq 'iX')
3849 275 3 unless defined $nsUsed->{$name}
3858 2821 802 if ($ignoreNamespace{$ns} or $ignoreProp{$prop})
3861 469 2352 if (ref $recognizedAttrs{$propName} and $shortVal)
3864 238 231 unless (defined $et->{'VALUE'}{$name} and $et->{'VALUE'}{$name} eq $tval)
3873 4 798 if (defined $nodeID) { }
512 286 elsif ($isWriting) { }
3878 0 286 if $et->{'XmpValidate'}
3884 1228 6313 if ($isWriting) { }
3885 584 644 if (&ParseXMPElement($et, $tagTablePtr, $dataPt, $valStart, $valEnd, $propList, $blankInfo)) { }
626 18 elsif (not $shorthand or $valEnd != $valStart) { }
3890 0 584 if $ignored
3894 8 618 if ($prop eq "rdf:Description")
3897 13 613 if (defined $nodeID) { }
3905 3627 2686 if ($valStart == $valEnd or not &ParseXMPElement($et, $tagTablePtr, $dataPt, $valStart, $valEnd, $propList, $blankInfo))
3910 3574 53 unless (defined $val)
3913 16 3558 if ($prop eq "rdf:Description" and $val)
3918 17 48 if ($val eq "" and $attrs =~ /\brdf:(?:value|resource)=(['"])(.*?)\1/ || $attrs =~ /\brdf:about=(['"])(.*?)\1/)
3927 3614 13 if (length $val or not $shorthand)
3929 0 3614 unless defined $lastProp
3930 13 3601 if (defined $nodeID) { }
8 3593 elsif ($lastProp eq 'rdf:type' and $wasEmpty) { }
0 3593 elsif ($lastProp =~ /^et:(desc|prt|val)$/ and $count || $1 eq 'desc') { }
3938 0 3593 if $et->{'XmpValidate'}
3944 7541 0 unless $parseResource
3948 0 7541 if ($et->{'XmpValidate'})
3950 0 0 if $et->{'definedNS'}{$_} or $_ eq "xml"
3951 0 0 if (defined $et->{'definedNS'}{$_}) { }
3964 75 7466 if $start >= $end
3971 4 7715 if ($processBlankInfo and %{$blankInfo->{'Prop'};})
3976 79 7640 if $saveNS
4016 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')
4020 0 7 if $et->{'OPTIONS'}{'Validate'}
4022 0 0 if ($nonStd and $Image::ExifTool::MWG::strict)
4026 0 7 if ($nonStd) { }
7 0 elsif (not $dirInfo->{'IsExtended'}) { }
4029 0 7 if $et->{'DIR_COUNT'}{'XMP'}
4033 220 83 if ($dataPt) { }
4039 0 220 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
4043 0 83 unless my $raf = $dirInfo->{'RAF'}
4044 16 67 unless $raf->Read($buff, 256)
4049 0 0 if ($buf2 =~ s/^\s*\s+//s) { }
4051 0 0 if length $buf2 > 128
4054 0 0 if length $buf2 > 10000
4056 0 0 unless $raf->Read($buf3, 256)
4063 53 14 if ($buf2 =~ /^\s*(<\?xpacket begin=|
4067 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) { }
4078 0 7 if $1
4079 7 0 if ($2 eq '
0 0 elsif ($2 eq '
0 0 elsif ($2 eq '
4080 1 6 if (defined $fmt and not $fmt and $buf2 =~ /^[^\n\r]*[\n\r]+<\?aid /s) { }
0 6 elsif ($buf2 =~ /
4082 0 1 if ($et->{'XMP_CAPTURE'})
4092 2 4 if ($buf2 =~ /
1 3 elsif ($buf2 =~ /]/) { }
3 0 elsif ($buf2 =~ /
0 0 elsif ($buf2 =~ /]/) { }
4093 0 2 if ($1 eq 'svg') { }
2 0 elsif ($1 eq 'plist') { }
0 0 elsif ($1 eq 'REDXIF') { }
0 0 elsif ($1 ne 'fcpxml') { }
4117 0 1 if ($isSVG and $et->{'XMP_CAPTURE'})
4121 0 7 if ($buff =~ /^\0\0/) { }
0 7 elsif ($buff =~ /^..\0\0/s) { }
7 0 elsif (not $fmt) { }
4126 0 7 if ($buff =~ /^\0/) { }
0 7 elsif ($buff =~ /^.\0/s) { }
4134 3 57 if ($type) { }
4135 2 1 if ($type eq "PLIST")
4137 0 2 if $ext and $ext eq "MODD"
4142 1 56 if ($isSVG) { }
0 56 elsif ($isXML and not $hasXMP and not $isRDF) { }
4147 0 0 if $ext and $ext eq "COS"
4153 0 60 if $fast and $fast == 3
4155 1 59 if ($type and $type eq 'INX') { }
4159 0 1 unless $raf->Seek(0, 0)
4160 0 1 unless $raf->Read($buff, 65536)
4162 1 0 if $buff =~ /
4163 0 0 unless $raf->Read($buf2, 65536)
4168 1 0 if $buff =~ /<\?xpacket end="[rw]"\?>\]\]>/g
4170 0 0 unless $raf->Read($buf2, 65536)
4178 0 59 unless $raf->Seek(0, 2)
4179 0 59 unless $size = $raf->Tell
4180 0 59 unless $raf->Seek(0, 0)
4181 0 59 unless $raf->Read($buff, $size) == $size
4189 0 280 if ($double)
4196 0 0 if ($double eq "\357\273\277") { }
4201 0 0 if (length $double == 2) { }
4202 0 0 $double eq "\376\377" ? :
4204 0 0 $double eq "\000\000\376\377" ? :
4208 0 0 if (&Image::ExifTool::GetWarning()) { }
4220 5 275 $dirInfo->{'BlockInfo'} ? :
4222 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)
4228 0 40 if $blockExtract and $blockExtract > 1
4231 58 222 unless $tagTablePtr
4232 1 279 if ($et->Options("Verbose") and not $et->{'XMP_CAPTURE'})
4233 0 1 $isSVG ? :
4244 7 273 if ($isXML or $isRDF) { }
206 67 elsif ($$dataPt =~ /\G\Q$begin\E/cg) { }
1 66 elsif ($$dataPt =~ / $dirStart and pos $$dataPt < $dirEnd) { }
4260 34 32 if ($$dataPt =~ /\G(\0)?\Q$begin\E\0./gs) { }
4262 34 0 if ($1) { }
4264 34 0 if $$dataPt =~ /\G\xfe\xff/g
4266 0 0 if $$dataPt =~ /\G\0\xff\xfe/g
4272 32 0 if (not $$dataPt =~ /\G(\0\0\0)?\Q$begin\E\0\0\0./gs) { }
0 0 elsif ($1) { }
4276 0 0 if $$dataPt =~ /\G\0\0\xfe\xff/g
4278 0 0 if $$dataPt =~ /\G\0\0\0\xff\xfe\0\0/g
4281 0 66 unless defined $fmt
4284 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'})
4290 34 246 if ($fmt)
4292 33 1 if ($dirStart or $dirEnd != length $$dataPt)
4297 34 0 if ($] >= 5.006001) { }
4308 248 32 if $tagTablePtr eq \%Image::ExifTool::XMP::Main
4314 0 280 if ($dirInfo->{'IgnoreProp'}) { }
4322 36 244 if ($et->{'OPTIONS'}{'Struct'})
4323 21 15 if ($et->{'OPTIONS'}{'Struct'} eq '2') { }
4335 5 275 if $dirInfo->{'BlockInfo'} or $dirInfo->{'NoStruct'}
4338 280 0 if (&ParseXMPElement($et, $tagTablePtr, $dataPt, $dirStart, $dirEnd)) { }
0 0 elsif ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq 'XMP') { }
4344 0 0 if ($xmp =~ /^ *\0*$/) { }
4354 66 214 if $rtnVal and $dirInfo->{'RAF'}
4357 28 252 if ($et->{'IsStruct'})