1. Shlomi Fish
  2. Docmake


Docmake / modules / App-XML-DocBook-Docmake / script / docmake


use strict;
use warnings;

use App::XML::DocBook::Docmake;

my $docmake = App::XML::DocBook::Docmake->new({argv => [@ARGV]});



=head1 NAME

docmake - a tool to render DocBook/XML into various output formats.


    # To render input.xml file into XHTML
    docmake -o output.xhtml xhtml input.xml

    # Same with more verbose output
    docmake -v -o output.xhtml xhtml input.xml

    # Render into pdf
    docmake -v -o output.pdf pdf input.xml

    # Same while not rebuilding if not necessary
    docmake -v --make -o output.pdf pdf input.xml

    # Render using a Stylesheet
    docmake -v -o output.xhtml -x my-stylesheets.xsl xhtml input.xml


B<docmake> is a tool to render DocBook/XML into its resultant formats
using XSLT: XHTML, XSL-FO, PDF, RTF, etc. For a brief help type
C<docmake help> .

It aims to be a replacement for xmlto -
L<http://cyberelk.net/tim/software/xmlto/> . As opposed to xmlto,
it is written in Perl, which is easier to get right than xmlto's Bash, and
xmlto hasn't been updated for a long time when I started work on docmake.

=head1 USAGE

The basic invocation of docmake is:

    docmake [flags] MODE input.xml

=head2 MODES

The available modes are:

=over 4

=item * help

To get help.

=item * fo

Convert to XSL-FO.

=item * rtf

Convert to Word/RTF.

=item * xhtml

Convert to XHTML.

=item * pdf

Convert to PDF.


=head2 FLAGS

The available flags are:

=over 4

=item * -h ; --help

Display some rudimentary help.

=item * --man

Display the man page.

=item * -v ; --verbose

Verbose - output the commands' invocation as they are executed.

=item * -o OUTPUT_PATH

Put the result in B<OUTPUT_PATH> .

=item * -x STYLESHEET ; --stylesheet STYLESHEET

Use the XSLT stylesheet B<STYLESHEET> for performing XSLT transformations.

=item * --basepath PATH

This is the base path for the DocBook stylesheets. The appropriate XSLT mode
will be appended to it. This is for example, useful for building DocBook 5
documents by specifying the path to their stylesheets.

=item * --stringparam KEY=VALUE

Specify the string parameter of B<KEY> as B<VALUE>. Note that as opposed to
xsltproc, B<KEY> and B<VALUE> cannot be specified as different command line
arguments, but rather should be on the same one, delimited by an equal sign ("C<=>").

=item * --make

Behave like make in building files only if their dependencies are newer.



There are some examples for sample invocation in the Synopsis.

=head1 SUPPORT

You can look for information at:

=over 4

=item * Search CPAN


=item * AnnoCPAN: Annotated CPAN documentation


=item * CPAN Ratings


=item * RT: CPAN's request tracker



=head1 SEE ALSO

=over 4

=item * DocBook on the Wikipedia - L<http://en.wikipedia.org/wiki/DocBook>

=item * DocBook/XSL - The Complete Guide - L<http://www.sagehill.net/docbookxsl/>

=item * The DocBook Homepage - L<http://www.docbook.org/>

=item * xmlto - L<http://cyberelk.net/tim/software/xmlto/>



Copyright 2008 Shlomi Fish, all rights reserved.

This program is released under the following license: MIT/X11 License.
( L<http://www.opensource.org/licenses/mit-license.php> ).

=head1 AUTHOR

Shlomi Fish , L<http://www.shlomifish.org/> .