README.txt file for the FAQ.xml to FAQ.txt transformer. ======================================================= In valgrind-3.1.SVN, file docs/README contains, under the heading "TODO CRUCIAL", the item "Need to generate text FAQ from the valgrind/docs/xml/FAQ.xml (done at 'make dist' time along with the HTML docs using the 'dist-hook'), and remove the old text FAQ which is in valgrind/." This is an attempt to resolve this item using xsltproc and a number of xml style sheets. It is a hack in the sense that it does not support all of docbook, but only the subset currently used by file docs/xml/FAQ.xml. The transformation is done in two stages: 1. Inline elements (literal, computeroutput and ulink) are replaced with the corresponding text by stylesheet untag-inline.xslt. This stylesheet uses copy.xslt to handle the non-inline elements. 2. The actual formatting is done by stylesheet docbook2text.xslt. It uses stylesheets str.dup.xslt, str.find-last.xslt, text.justify.xslt and text.wrap.xslt to handle the formatting of the text into a column with the approproate width and indentation. Stylesheets untag-inline.xslt and docbook2text.xslt are original work. Stylesheets copy.xslt, str.dup.xslt, str.find-last.xslt, text.justify.xslt and text.wrap.xslt are copied with some adaptations from the examples supplied with the XSLT Cookbook by Sal Mangano, (C) 2003 O'Reilly & Associates, ISBN 0-596-00372-2. The O'Reilly Policy on Re-Use of Code Examples from Books allows the use of these style sheets in valgrind for this purpose. The tarball contains: - File README.txt (this file). - the stylesheets copy.xslt, docbook2text.xslt, str.dup.xslt, str.find-last.xslt, text.justify.xslt, text.wrap.xslt and untag-inline.xslt. - File faq.txt.patch adds the generation of FAQ.txt to file docs/Makefile.am. It is based on the assumptions that * file FAQ.txt will be generated in directory docs. * the stylesheets will be stored in directory docs/lib. If a different output width is required (e.g. 80), you can use command $(XSLTPROC) $(XSLTPROC_FLAGS) $(libdir)/untag-inline.xslt $(xmldir)/FAQ.xml | \ $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam width 80 $(libdir)/docbook2text.xslt - > FAQ.txt - File FAQ.txt as generated on my system (Debian 3.1). Software used: xsltproc was compiled against libxml 20616, libxslt 10112 and libexslt 810 libxslt 10112 was compiled against libxml 20616 libexslt 810 was compiled against libxml 20616 Copyright 2005 Jeroen N. Witmond, jnw@xs4all.nl GNU GENERAL PUBLIC LICENSE Version 2, June 1991 applies.