automated the generation of the man page based on xsltproc and a

* doc/Makefile.am doc/xmlcatalog.1 doc/xmlcatalog_man.xml
  doc/xmllint.1 doc/xmllint.xml: automated the generation of the
  man page based on xsltproc and a stylesheet PI in the XML.
Daniel
diff --git a/ChangeLog b/ChangeLog
index 1522257..f265d7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Apr 25 15:20:29 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+	* doc/Makefile.am doc/xmlcatalog.1 doc/xmlcatalog_man.xml
+	  doc/xmllint.1 doc/xmllint.xml: automated the generation of the
+	  man page based on xsltproc and a stylesheet PI in the XML.
+
 Fri Apr 25 12:37:33 CEST 2003 Daniel Veillard <daniel@veillard.com>
 
 	* doc/xmllint.*: trying to fix #110541 where &nbsp; generated
diff --git a/doc/Makefile.am b/doc/Makefile.am
index cab64bc..2b40890 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -27,7 +27,7 @@
 
 man_MANS = xmllint.1 xmlcatalog.1
 
-all: $(PAGES) $(top_srcdir)/NEWS libxml2.xsa
+all: $(PAGES) $(top_srcdir)/NEWS libxml2.xsa $(man_MANS)
 
 web: $(PAGES) $(APIPAGES)
 
@@ -47,6 +47,12 @@
 	-@(if [ -x $(bindir)/xsltproc ] ; then \
 	  $(bindir)/xsltproc --html $(top_srcdir)/doc/api.xsl $(top_srcdir)/doc/xml.html ; fi );
 
+xmllint.1: xmllint.xml
+	-@(xsltproc xmllint.xml)
+
+xmlcatalog.1: xmlcatalog_man.xml
+	-@(xsltproc xmlcatalog_man.xml)
+
 scan:
 	-gtkdoc-scan --module=libxml --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="acconfig.h config.h win32config.h trio.h triostr.h triop.h config-mac.h XMLTestPrefix2.h  XMLTestPrefix.h triodef.h trionan.h xlink.h libxml.h libxml2-py.h libxml_wrap.h"
 
diff --git a/doc/xmlcatalog.1 b/doc/xmlcatalog.1
index 8e4a1ee..0197aac 100644
--- a/doc/xmlcatalog.1
+++ b/doc/xmlcatalog.1
@@ -24,41 +24,41 @@
 
 .nf
 \fBxmlcatalog\fR [\fB--shell\fR | \fB--create\fR | \fB--add \fItype\fR \fIorig\fR \fIreplace\fR\fR
-           | \fB--del \fIvalues\fR\fR | \fB--noout\fR | \fB--verbose\fR] [\fB\fIcatalogfile\fR\fR]
-           [\fB\fIentities\fR\fR]
+           | \fB--del \fIvalues\fR\fR | \fB--noout\fR | \fB--verbose\fR] [\fBcatalogfile\fR]
+           [\fBentities\fR]
 .fi
 
 .SH "INTRODUCTION"
 
 .PP
- xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs\&. It is included in libxml2\&.
+ xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs. It is included in libxml2.
 
 .PP
-Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode\&. It can operate on both XML and SGML files\&.
+Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode. It can operate on both XML and SGML files.
 
 .SH "COMMAND LINE OPTIONS"
 
 .TP
 \fB--shell\fR \fIfilename\fR
-Run a shell allowing interactive queries on catalog file \fIfilename\fR\&.
+Run a shell allowing interactive queries on catalog file \fIfilename\fR.
 
 .TP
 \fB--create\fR \fIfilename\fR
-Create a new XML catalog\&. Outputs to stdout, ignoring \fIfilename\fR unless \fB--noout\fR is used, in which case it creates a new catalog file \fIfilename\fR\&.
+Create a new XML catalog. Outputs to stdout, ignoring \fIfilename\fR unless \fB--noout\fR is used, in which case it creates a new catalog file \fIfilename\fR.
 
 .TP
 \fB--add\fR \fI'type'\fR \fI'orig'\fR \fI'replace'\fR \fIfilename\fR
-Add an entry to catalog file \fIfilename\fR\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic', 'delegateSystem'amd 'rewriteURI'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&. The \fB--add\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB--noout\fR is used\&. The \fB--add\fR will always take three parameters even if some of the XML catalog constructs will have only a single argument\&.
+Add an entry to catalog file \fIfilename\fR. \fItype\fR indicates the type of entry. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic', 'delegateSystem'amd 'rewriteURI'. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used. The \fB--add\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB--noout\fR is used. The \fB--add\fR will always take three parameters even if some of the XML catalog constructs will have only a single argument.
 
-If the \fB--add\fR option is used following the \fB--sgml\fR option, only a single argument, a \fIfilename\fR, is used\&. This is used to add the name of a catalog file to an SGML supercatalog, a file that contains references to other included SGML catalog files\&.
+If the \fB--add\fR option is used following the \fB--sgml\fR option, only a single argument, a \fIfilename\fR, is used. This is used to add the name of a catalog file to an SGML supercatalog, a file that contains references to other included SGML catalog files.
 
 .TP
 \fB--del\fR \fI'values'\fR \fIfilename\fR
-Remove entries from the catalog file \fIfilename\fR matching \fI'values'\fR\&. The \fB--del\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB--noout\fR is used\&.
+Remove entries from the catalog file \fIfilename\fR matching \fI'values'\fR. The \fB--del\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB--noout\fR is used.
 
 .TP
 \fB--noout\fR
-Save output to the named file rather than outputing to stdout\&.
+Save output to the named file rather than outputing to stdout.
 
 .TP
 \fB--sgml\fR
@@ -66,49 +66,49 @@
 
 .TP
 \fB-v\fR or \fB--verbose\fR
-output debugging information\&.
+output debugging information.
 
 .SH "SHELL COMMANDS"
 
 .PP
-Invoking xmlcatalog with the \fB--shell\fR  \fIfilename\fR option opens a command line shell allowing interactive access to the catalog file identified by \fIfilename\fR\&. Invoking the shell provides a command line prompt after which commands can be entered\&.
+Invoking xmlcatalog with the \fB--shell\fR  \fIfilename\fR option opens a command line shell allowing interactive access to the catalog file identified by \fIfilename\fR. Invoking the shell provides a command line prompt after which commands can be entered.
 
 .TP
 \fBpublic\fR \fI'PublicID'\fR
-Execute a public identifier lookup of the catalog entry for \fI'PublicID'\fR\&. The corresponding entry will be output to the command line\&.
+Execute a public identifier lookup of the catalog entry for \fI'PublicID'\fR. The corresponding entry will be output to the command line.
 
 .TP
 \fBsystem\fR \fI'SystemID'\fR
-Execute a public identifier lookup of the catalog entry for \fI'SystemID'\fR\&. The corresponding entry will be output to the command line\&.
+Execute a public identifier lookup of the catalog entry for \fI'SystemID'\fR. The corresponding entry will be output to the command line.
 
 .TP
 \fBadd \fR \fI'type'\fR \fI'orig'\fR \fI'replace'\fR
-Add an entry to the catalog file\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic' and 'delegateSystem'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&.
+Add an entry to the catalog file. \fItype\fR indicates the type of entry. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic' and 'delegateSystem'. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used.
 
 .TP
 \fBdel\fR \fI'values'\fR
-Remove the catalog entry corresponding to \fI'values'\fR\&.
+Remove the catalog entry corresponding to \fI'values'\fR.
 
 .TP
 \fBdump\fR
-Print the current catalog\&.
+Print the current catalog.
 
 .TP
 \fBdebug\fR
-Print debugging statements showing the steps xmlcatalog is executing\&.
+Print debugging statements showing the steps xmlcatalog is executing.
 
 .TP
 \fBquiet\fR
-Stop printing debugging statements\&.
+Stop printing debugging statements.
 
 .TP
 \fBexit\fR
-Quit the shell\&.
+Quit the shell.
 
 .SH "RETURN VALUES"
 
 .PP
-xmlcatalog's return codes provide information that can be used when calling it from scripts\&.
+xmlcatalog's return codes provide information that can be used when calling it from scripts.
 
 .PP
 0: normal
@@ -128,16 +128,16 @@
 .SH "REFERENCES"
 
 .PP
-libxml web page: \fIhttp://www.xmlsoft.org/\fR
+: libxml web pagehttp://www.xmlsoft.org/
 
 .PP
-libxml catalog support web page:: \fIhttp://www.xmlsoft.org/catalog.html\fR
+: libxml catalog support web page:http://www.xmlsoft.org/catalog.html
 
 .PP
-James Clark's SGML catalog page:: \fIhttp://www.jclark.com/sp/catalog.htm\fR
+: James Clark's SGML catalog page:http://www.jclark.com/sp/catalog.htm
 
 .PP
-OASIS XML catalog specification: : \fIhttp://www.oasis-open.org/committees/entity/spec.html\fR
+: OASIS XML catalog specification: http://www.oasis-open.org/committees/entity/spec.html
 
 .SH AUTHOR
 John Fleck.
diff --git a/doc/xmlcatalog_man.xml b/doc/xmlcatalog_man.xml
index 68b29c4..5ea2204 100644
--- a/doc/xmlcatalog_man.xml
+++ b/doc/xmlcatalog_man.xml
@@ -1,4 +1,6 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"
+   href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
 ]>
diff --git a/doc/xmllint.1 b/doc/xmllint.1
index 69a4ebe..7b06def 100644
--- a/doc/xmllint.1
+++ b/doc/xmllint.1
@@ -31,167 +31,167 @@
         | \fB--noblanks\fR | \fB--format\fR | \fB--testIO\fR | \fB--encode \fIencoding\fR\fR
         | \fB--catalogs\fR | \fB--nocatalogs\fR | \fB--auto\fR | \fB--xinclude\fR
         | \fB--loaddtd\fR | \fB--dtdattr\fR | \fB--dropdtd\fR | \fB--stream\fR
-        | \fB--chkregister\fR | \fB--relaxng\fR] [\fB\fIxmlfile\fR\fR]
+        | \fB--chkregister\fR | \fB--relaxng\fR] [\fBxmlfile\fR]
 .fi
 
 .SH "INTRODUCTION"
 
 .PP
-The xmllint program parses one or more XML files, specified on the command line as \fIxmlfile\fR\&. It prints various types of output, depending upon the options selected\&. It is useful for detecting errors both in XML code and in the XML parser itself\&.
+The xmllint program parses one or more XML files, specified on the command line as \fIxmlfile\fR. It prints various types of output, depending upon the options selected. It is useful for detecting errors both in XML code and in the XML parser itself.
 
 .PP
-It is included in libxml2\&.
+It is included in libxml2.
 
 .SH "OPTIONS"
 
 .TP
 \fB--version\fR
-Display the version of libxml2 used\&.
+Display the version of libxml2 used.
 
 .TP
 \fB--debug\fR
-Parse a file and output an annotated tree of the in-memory version of the document\&.
+Parse a file and output an annotated tree of the in-memory version of the document.
 
 .TP
 \fB--shell\fR
-Run a navigating shell\&. Details on available commands in shell mode are below\&.
+Run a navigating shell. Details on available commands in shell mode are below.
 
 .TP
 \fB--debugent\fR
-Debug the entities defined in the document\&.
+Debug the entities defined in the document.
 
 .TP
 \fB--copy\fR
-Test the internal copy implementation\&.
+Test the internal copy implementation.
 
 .TP
 \fB--recover\fR
-Output any parsable portions of an invalid document\&.
+Output any parsable portions of an invalid document.
 
 .TP
 \fB--noent\fR
-Substitute entity values for entity references\&. By default, xmllint leaves entity references in place\&.
+Substitute entity values for entity references. By default, xmllint leaves entity references in place.
 
 .TP
 \fB--noout\fR
-Suppress output\&. By default, xmllint outputs the result tree\&.
+Suppress output. By default, xmllint outputs the result tree.
 
 .TP
 \fB--htmlout\fR
-Output results as an HTML file\&. This causes xmllint to output the necessary HTML tags surrounding the result tree output so the results can be displayed in a browser\&.
+Output results as an HTML file. This causes xmllint to output the necessary HTML tags surrounding the result tree output so the results can be displayed in a browser.
 
 .TP
 \fB--nowrap \fR
-Do not output HTML doc wrapper\&.
+Do not output HTML doc wrapper.
 
 .TP
 \fB--valid \fR
-Determine if the document is a valid instance of the included Document Type Definition (DTD)\&. A DTD to be validated against also can be specified at the command line using the \fB--dtdvalid\fR option\&. By default, xmllint also checks to determine if the document is well-formed\&.
+Determine if the document is a valid instance of the included Document Type Definition (DTD). A DTD to be validated against also can be specified at the command line using the \fB--dtdvalid\fR option. By default, xmllint also checks to determine if the document is well-formed.
 
 .TP
 \fB--postvalid\fR
-Validate after parsing is completed\&.
+Validate after parsing is completed.
 
 .TP
 \fB--dtdvalid\fR \fIURL\fR
-Use the DTD specified by \fIURL\fR for validation\&.
+Use the DTD specified by \fIURL\fR for validation.
 
 .TP
 \fB--timing\fR
-Output information about the time it takes xmllint to perform the various steps\&.
+Output information about the time it takes xmllint to perform the various steps.
 
 .TP
 \fB--repeat\fR
-Repeat 100 times, for timing or profiling\&.
+Repeat 100 times, for timing or profiling.
 
 .TP
 \fB--insert\fR
-Test for valid insertions\&.
+Test for valid insertions.
 
 .TP
 \fB--compress\fR
-Turn on gzip compression of output\&.
+Turn on gzip compression of output.
 
 .TP
 \fB--sgml\fR
-Use the DocBook SGML parser\&. This allows documents written in SGML DocBook to be converted into an in-memory tree and treated as if they were written in XML\&.
+Use the DocBook SGML parser. This allows documents written in SGML DocBook to be converted into an in-memory tree and treated as if they were written in XML.
 
 .TP
 \fB--html\fR
-Use the HTML parser\&.
+Use the HTML parser.
 
 .TP
 \fB--push\fR
-Use the push mode of the parser\&.
+Use the push mode of the parser.
 
 .TP
 \fB--memory\fR
-Parse from memory\&.
+Parse from memory.
 
 .TP
 \fB--nowarning\fR
-Do not emit warnings from the parser and/or validator\&.
+Do not emit warnings from the parser and/or validator.
 
 .TP
 \fB--noblanks\fR
-Drop ignorable blank spaces\&.
+Drop ignorable blank spaces.
 
 .TP
 \fB--format\fR
-Reformat and reindent the output\&. The $XMLLINT_INDENT environment variable controls the indentation (default value is two spaces "  ")\&.
+Reformat and reindent the output. The $XMLLINT_INDENT environment variable controls the indentation (default value is two spaces " ").
 
 .TP
 \fB--testIO\fR
-Test user input/output support\&.
+Test user input/output support.
 
 .TP
 \fB--encode\fR \fIencoding\fR
-Output in the given encoding\&.
+Output in the given encoding.
 
 .TP
 \fB--catalogs\fR
-Use the catalogs from $SGML_CATALOG_FILES\&. Otherwise /etc/xml/catalog is used by default\&.
+Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog is used by default.
 
 .TP
 \fB--nocatalogs\fR
-Do not use any catalogs\&.
+Do not use any catalogs.
 
 .TP
 \fB--auto\fR
-Generate a small document for testing purposes\&.
+Generate a small document for testing purposes.
 
 .TP
 \fB--xinclude\fR
-Do XInclude processing\&.
+Do XInclude processing.
 
 .TP
 \fB--loaddtd\fR
-Fetch external DTD\&.
+Fetch external DTD.
 
 .TP
 \fB--dtdattr\fR
-Fetch external DTD and populate the tree with inherited attributes\&.
+Fetch external DTD and populate the tree with inherited attributes.
 
 .TP
 \fB--dropdtd\fR
-Remove DTD from output\&.
+Remove DTD from output.
 
 .TP
 \fB--stream\fR
-Use streaming API - useful when used in combination with --relaxng or --valid options for validation of files that are too large to be held in memory\&.
+Use streaming API - useful when used in combination with --relaxng or --valid options for validation of files that are too large to be held in memory.
 
 .TP
 \fB--chkregister\fR
-Turn on node registration\&. Useful for developeres testing libxml2 node tracking code\&.
+Turn on node registration. Useful for developeres testing libxml2 node tracking code.
 
 .TP
 \fB--relaxng\fR \fIschema\fR
-Use RelaxNG file named \fIschema\fR for validation\&.
+Use RelaxNG file named \fIschema\fR for validation.
 
 .SH "SHELL"
 
 .PP
- xmllint offers an interactive shell mode invoked with the \fB--shell\fR command\&. Available commands in shell mode include:
+ xmllint offers an interactive shell mode invoked with the \fB--shell\fR command. Available commands in shell mode include:
 
 .TP
 \fBbase\fR
@@ -202,65 +202,65 @@
 leave shell
 
 .TP
-\fBcat \fInode\fR\fR
-Display node if given or current node\&.
+\fBcat node\fR
+Display node if given or current node.
 
 .TP
-\fBcd \fIpath\fR\fR
-Change the current node to \fIpath\fR (if given and unique) or root if no argument given\&.
+\fBcd path\fR
+Change the current node to \fIpath\fR (if given and unique) or root if no argument given.
 
 .TP
-\fBdir \fIpath\fR\fR
-Dumps information about the node (namespace, attributes, content)\&.
+\fBdir path\fR
+Dumps information about the node (namespace, attributes, content).
 
 .TP
-\fBdu \fIpath\fR\fR
-Show the structure of the subtree under path or the current node\&.
+\fBdu path\fR
+Show the structure of the subtree under path or the current node.
 
 .TP
 \fBexit\fR
-Leave the shell\&.
+Leave the shell.
 
 .TP
 \fBhelp\fR
-Show this help\&.
+Show this help.
 
 .TP
 \fBfree\fR
-Display memory usage\&.
+Display memory usage.
 
 .TP
-\fBload \fIname\fR\fR
-Load a new document with the given name\&.
+\fBload name\fR
+Load a new document with the given name.
 
 .TP
-\fBls \fIpath\fR\fR
-List contents of \fIpath\fR (if given) or the current directory\&.
+\fBls path\fR
+List contents of \fIpath\fR (if given) or the current directory.
 
 .TP
 \fBpwd\fR
-Display the path to the current node\&.
+Display the path to the current node.
 
 .TP
 \fBquit\fR
-Leave the shell\&.
+Leave the shell.
 
 .TP
-\fBsave \fIname\fR\fR
-Saves the current document to \fIname\fR if given or to the original name\&.
+\fBsave name\fR
+Saves the current document to \fIname\fR if given or to the original name.
 
 .TP
 \fBvalidate\fR
-Check the document for error\&.
+Check the document for error.
 
 .TP
-\fBwrite \fIname\fR\fR
-Write the current node to the given filename\&.
+\fBwrite name\fR
+Write the current node to the given filename.
 
 .SH "DEBUGGING CATALOGS"
 
 .PP
-Setting the environment variable \fIXML_DEBUG_CATALOG\fR using the command \fB"export XML_DEBUG_CATALOG="\fR outputs debugging information related to catalog operations\&.
+Setting the environment variable \fIXML_DEBUG_CATALOG\fR using the command \fB"export XML_DEBUG_CATALOG="\fR outputs debugging information related to catalog operations.
 
 .SH AUTHORS
 John Fleck, Ziying Sherwin, Heiko Rupp.
diff --git a/doc/xmllint.xml b/doc/xmllint.xml
index dd5966e..3ab1467 100644
--- a/doc/xmllint.xml
+++ b/doc/xmllint.xml
@@ -1,4 +1,6 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"
+   href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
 ]>