This chapter covers the following topics:
Validating your XML files
Basic command syntax for generating output formats
Output formats you can generate with DAPS
Generating partial builds of your documentation
Specifying the MAIN file at the command line (instead of using a DC file)
Generating any output requires that your XML files are valid. As soon as any output command is executed, DAPS automatically runs a validation check first. If it fails, DAPS returns the parser errors, including information about the type of error, the respective file name and the line number where the error occurred. In addition, DAPS shows the path to the profiled XML sources and the total number of errors.
xref
to unknown ID) #daps_user_concept.xml:60: element xref: validity error: IDREF attribute linkend references an unknown ID "itl.daps.user.inst.other.req" Document /local/svn/daps-svn/daps/doc/build/.profiled/x86-amd64-em64t_osuse_/ MAIN.DAPS.xml does not validate make: *** [validate] Error 3
Validation is always done in the build
directory and in the profiled sources, as indicated by
the path above (/local/[...]/build/.profiled/[...]/MAIN.DAPS.xml
). However, you need to fix the validation error in the sources located in your
xml
directory, otherwise the fixes will not take effect.
Profiling is similar to conditional text. For details, refer to the chapter
about modularizing document projects in the DAPS User Guide.
Using profiling in your DocBook sources makes validation
unreliable. Furthermore, validating XML files within a
book
or set
often exceeds validation
of the current XML file, as links (xref
elements) or
XIncludes need to be resolved, too.
DAPS can handle all those cases because of the built-in
xmllint
validator. By default,
remark
elements and XML comments are ignored during
validation. However, if you intend to create a (draft) output including
remarks or comments, you need to include them for validation—see
the example commands below.
To validate all files that belong to your documentation project,
DAPS only needs to know which DC file to use. Use the
-d
option to specify it.
tux:~>
daps
-d PATH_TO_DC_FILE validate
If the XML files are not valid, DAPS will return the parser
errors. If validation was successful, DAPS returns: All
files are valid.
remark
Elementstux:~>
daps
-d PATH_TO_DC_FILE validate --remarks
xref
)tux:~>
daps
-d PATH_TO_DC_FILE validate --norefcheck
This option only affects DocBook 5 sources and is ignored when processing DocBook 4.
DAPS supports a number of different output formats, including also “exotic” formats like man pages or simple text. Table 4.1 gives an overview.
You can build several output formats (without them interfering with each
other in the build
directory), build your complete
documentation project (set, book, or article), or only a part of it (for
example, a specific chapter).
Independent of the individual output format you want to create, you need to specify the DC file to use:
tux:~>
daps
-d PATH_TO_DC_FILE OUTPUT_FORMAT
For example:
tux:~>
daps
-d DC-daps-example pdf
At the end of the transformation process, DAPS shows a message where to find the generated output.
The following table lists the main output formats and their characteristics, and the DAPS subcommands to generate them. Refer to Section 4.2 for the commands' basic syntax.
Subcommand |
Output/Note |
---|---|
|
Creates a color PDF. Open the result in a PDF viewer. Requires an FO formatter. |
pdf --grayscale |
Creates a black-and-white PDF. Open the result in a PDF viewer.
Requires an FO formatter. All color images are automatically
converted to grayscale images. If you need a PDF for a printing shop, add the
|
html |
Creates a subdirectory containing individual HTML files for all
chapters of a book (including also preface, glossary or appendix
files). The HTML files are named according to the ID of the
respective root element.
Open the generated
Images and CSS files are only linked in the resulting directory
that contains the HTML files. To copy these files to the same
location as the HTML files, use the |
html --single |
Creates a single HTML file, named after the DC file used to
create the output. Open the generated
Single HTML files are more convenient for full text searches.
Images and CSS files are only linked in the resulting directory
that contains the HTML files. To copy these files to the same
location like the HTML files, use the |
epub |
Creates an EPUB 2 document. Open the resulting file in a portable e-book reader (or with a software like Calibre). If you need an EPUB 3 document, add the |
mobi |
Creates an Amazon Kindle e-book in Mobipocket format. Open the resulting file in a portable e-book reader (or with a software like Calibre). Requires Calibre. DAPS first generates an EPUB file which is then converted
to |
webhelp |
Creates a DocBook Web Help output. Open the resulting
Experimental feature. Requires the most recent version of the DocBook stylesheets. DocBook Web Help consists of HTML pages with an additional pane, featuring a table of contents and a search function. The table of contents can be expanded and collapsed, and is automatically synchronized with the contents pane. The search function orders the search results so that the most relevant results are listed first. |
text |
Creates an ASCII text output. Open the resulting file in a text editor. All images are removed from the output, but their location is indicated in the text by the respective image base name printed in square brackets. A table of contents is automatically generated and is inserted at the beginning of the text document. |
man |
Creates one or multiple man pages.
To create man pages, your XML files must contain at least one
|
The number of output formats may be extended in the future, depending on
the output formats that are supported by DocBook stylesheets. For an
overview of all output formats, run daps help
.
The available output formats are listed below › .
By default, DAPS uses the regular DocBook stylesheets, but DAPS also allows you to customize your output formats in a very flexible way. For details, refer to Chapter 9, Customizing Layout of the Output Formats.
In the following, find some example commands for special use cases, like doing partial builds of your documentation project or specifying no further parameters than the MAIN file for an output. In the last case, you can do completely without a DC file.
For more advanced output options like including remarks or draft watermarks in the output, creating one big XML file or creating distributable archives, refer to Chapter 7, Review and Translation Processes.
tux:~>
daps
-d DC-daps-example pdf --rootid=cha.template.examples
Instead of always building your complete documentation project
(set
, book
, or
article
), DAPS also allows you to build only
individual parts. The “starting point” of your documentation
project is usually defined by the root element of the MAIN file that
is referenced in the respective Doc Config. To build only a part of your
documentation project, use the --rootid
option to specify
the ID of an individual book
, article
,
glossary
, appendix
,
part
, or chapter
.
tux:~>
daps
-m PATH_TO_MAIN_FILE
If you do not need to specify any further parameters than the MAIN
file, you can do completely without a DC file. With the
-m
option you can specify the MAIN file defining
your document. The options -m
and -d
exclude each other.
tux:~>
evince
$(daps -d DC-daps-example pdf) &
Use the syntax above to open the PDF output directly in a PDF viewer (for example, Evince).
By default DAPS, only provides the path to the resulting file as
output. To set higher verbosity levels, use the global options
-v
, -vv
, -vvv
, and
--debug
.
Output verbosity ranges from -v
(print one line of
results) to -vvv
(print all commands, very verbose).
For example, the following command will print all files created during
the build process:
tux:~>
daps
-vv -d DC-daps-example pdf
For debug output, use the following command:
tux:~>
daps
--debug -d DC-daps-example pdf
By default DAPS uses as many jobs as there are CPU cores
available. Use the option --jobs
to define the number
of parallel jobs used for the build process. Higher numbers will lower
the build time, but will also increase CPU load. For example, the
following command will use 16 jobs for the build process:
tux:~>
daps
--jobs=16 -d DC-daps-example pdf
It can be useful to have properly formatted XML sources.
A homogeneous formatting facilitates collaboration and makes diffs more readable.
If done consistently, xmlformat
reduces the amount of changes
that need to be stored in version control systems which leads to smaller repositories.
tux:~>
daps
-d DC-daps-example xmlformat
tux:~>
daps
-d DC-daps-example xmlformat --file=xml/example.xml
tux:~>
daps
-d DC-daps-example xmlformat --rootid=cha.template.examples
xmlformat
Alters Source XML Files
This command reformats your XML files in place, replacing their contents with the reformatted XML.
To keep the files with the previous formatting, make a backup before running daps xmlformat
.
To get information about the build date and time, you can use the <?dbtimestamp>
tag.
The processing instruction <?dbtimestamp>
is processed by daps, when the document
is built. The date and time will then show up in the final document, based on how you've set the date/time format.
<para>Current date: <?dbtimestamp?>.</para>
The format of the date/time can be customized via the format parameter.
<para>Current date: <?dbtimestamp format="A, d B Y"?>.</para>
For further information about the format elements look at this site: http://www.sagehill.net/docbookxsl/Datetime.html