Mercurial > mplayer.hg
view DOCS/xml/README @ 36913:9d89aa330d63
Update documentation.
author | ib |
---|---|
date | Thu, 13 Mar 2014 14:57:47 +0000 |
parents | 91794b4aa5d0 |
children |
line wrap: on
line source
Tools required for building the documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * GNU make 3.80 or later * DocBook 4.1.2 or later * The DocBook XML DTD (also known as DocBk XML) * DocBook XSL stylesheets -- version 1.50.0 or later is recommended. I am not quite sure which tools work, but I used the following ones successfully, so they are required: * xmllint (part of libxml2) is used for validation. * xsltproc (part of libxslt1) is used for transforming XML files into HTML files. Version 1.0.18 or later is recommended. On Red Hat systems you need the following packages: libxml2, libxslt, docbook-dtds, docbook-style-xsl On Debian you will need these packages: docbook-xml, docbook-xsl, xsltproc, libxml2-utils Building the documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~ The documentation and its translations reside in subdirectories. When building the documentation, the generated HTML files are placed in subdirectories of the 'HTML' directory. IMPORTANT: Do NOT place sensitive files under 'HTML'! It is for generated documentation only. The whole directory tree is wiped out by the Makefile when running 'make distclean' or 'make clean'. A few words about SGML catalog files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As far as I know, the document type declaration in XML files requires both a public and a system identifier. For example: <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd"> where "-//OASIS//DTD DocBook XML V4.1.2//EN" is the public, and "/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd" is the system identifier. The problem is that the system identifier is most probably system-dependent. To avoid the need to manually fix the system identifiers before building the documentation, I've decided to use SGML catalogs. If you have your catalogs set up correctly, xmllint and xsltproc will use them to find the DTDs based on the public identifiers. Note that this works only if public identifiers override system identifiers (i.e. the catalog file must contain 'OVERRIDE YES'). (I had no problem with these on my system, since the Debian people took care of everything. ;-))