/usr/bin/db5-valid is in publican 4.3.2-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
use utf8;
use strict;
use warnings;
use 5.008;
use Carp;
use XML::LibXSLT;
use XML::LibXML;
use Getopt::Long;
use Pod::Usage;
my $man = 0; # display man page
my $help = 0; # display help
my $file = undef;
my $version = '5.0';
GetOptions(
'help|?' => \$help,
'man' => \$man,
'file=s' => \$file,
'version=s' => \$version,
) || pod2usage( -verbose => 0 );
pod2usage( -verbose => 1 ) if ($help);
pod2usage( -verbose => 2 ) if ($man);
pod2usage( { -message => "file is a mandatory parameter", -exitvalue => 1 } )
unless ($file);
my $parser;
$parser = XML::LibXML->new(
{ pedantic_parser => 1,
suppress_errors => 0,
suppress_warnings => 1,
line_numbers => 1,
expand_xinclude => 1
}
);
my $source;
eval { $source = $parser->parse_file("$file"); };
my $rngschema = XML::LibXML::RelaxNG->new(
location => "http://docbook.org/xml/$version/rng/docbook.rng" );
eval { $rngschema->validate($source); };
if ($@) {
print("RelaxNG Validation failed: ");
croak($@);
}
print("RelaxNG Validation OK\n");
exit;
__END__
=head1 NAME
db5-valid - a tool to run RelaxNG validation for DocBook 5 sources.
=head1 SYNOPSIS
db5-valid [options]
=head1 OPTIONS
=over 4
=item B<--help>
Print a brief help message and exits.
=item B<--man>
Prints the manual page and exits.
=item B<--file=<path>>
The DocBook 5 master file.
=item B<--version=<version>>
The DocBook version to validate against. Deafults to B<5.0>.
=back
=cut
|