From ArchWiki

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: missing introduction (Discuss in Talk:DocBook)


Install docbook-xml and docbook-xsl.

Validating XML file

To validate the XML file use:

$ xmllint --valid --noout /path/to/file.xml

This will generate no output if the file is proper XML.

Converting into XHTML

Single file

To convert into a XHTML file (single file) use:

$ xsltproc /usr/share/xml/docbook/$(pacman -Q docbook-xsl | cut -d ' ' -f 2 | cut -d '-' -f 1)/xhtml/docbook.xsl /path/to/file.xml > output.html


To convert into a segmented XHTML file (each section in its own file) use:

$ xsltproc /usr/share/xml/docbook/$(pacman -Q docbook-xsl | cut -d ' ' -f 2 | cut -d '-' -f 1)/xhtml/chunk.xsl /path/to/file.xml


You can add these to ~/.bashrc (or similar shell startup file):

alias doc2html1="xsltproc /usr/share/xml/docbook/xhtml/docbook.xsl"
alias doc2multihtml="xsltproc /usr/share/xml/docbook/xhtml/chunk.xsl"
alias docvalidate="xmllint --valid --noout"


Compilation errors

If you have already installed the packages above, but begin to see compilation errors such as:

GEN    appdata-validate.1
I/O error : Attempt to load network entity
warning: failed to load external entity ""
cannot parse

Then reinstall docbook-xml and docbook-xsl. If something has corrupted the catalog file, this will run xmlcatalog and rebuild /etc/xml/catalog, which may resolve these compile errors.

Tips and tricks


Comments are somewhat problematic within an XML file. One possibility is to use a non-existing processing-instruction, e.g.:

comment line 1: can be a valid xml line
comment line 2: can be a valid xml line

More details at

See also