Data-Edit-Xml-Xref
view release on metacpan or search on metacpan
lib/Data/Edit/Xml/Xref.pm view on Meta::CPAN
{} # Multiverse to universe
} # createOxygenProjectMapFiles
sub oneBadRef($$$) #P Check one reference and return the first error encountered or B<undef> if no errors encountered. Relies on L<topicIds> to test files present and test the B<topicId> is...
{my ($xref, $file, $href) = @_; # Cross referencer, file containing reference, reference
my $fileExists = sub # Check that the specified file exists by looking for the topic id which L<Dita> guarantees will exist
{my ($file) = @_; # File to check
return 1 if $xref->topicIds->{$file}; # File exists
my $decodedTarget = wwwDecode($file); # Decode file name by expanding % signs to see if we can get a match
return 2 if $xref->topicIds->{$decodedTarget}; # File exists after decoding % signs
return 3 if -e $file; # Images
undef # Cannot locate file
};
if ($href =~ m(#)) # Full Dita href
{my $sourceTopicId = $xref->topicIds->{$file}; # Source id for referencing file
my ($target, $topicId, $id) = parseDitaRef($href, $file, $sourceTopicId); # Parse full Dita href
my $targetFile = absFromAbsPlusRel($file, $target//$file); # Absolute target file which might be the current file
my $targetTopicId = $xref->topicIds->{$targetFile}; # Topic Id of target file
( run in 0.226 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )