docbook2texi-spec.pl - convert DocBook Booksto Texinfo documents
onsgmls [ sgml document ]| sgmlspl docbook2texi-spec.pl [ basename ]
docbook2texi is a sgmlspl spec file that produces GNU Texinfo documents from DocBook documents.
The program reads ESIS produced by onsgmls (or other SGML parsers) from standard input. Currently the document element must be Book, otherwise the results are undefined.
Its output, the converted Texinfo document, is written to standard output.
The file basename.refs will also be created, which contains all the nodes in the document and their immediate 'child' nodes. As node processing always require forward references, docbook2texi must be run twice for each document: the first time to build the references, and the second to actually generate a valid document.
The SGMLSpm package from CPAN. This package includes the sgmlspl script that is also needed.
Trying docbook2man on non-DocBook or non-conformant SGML results in undefined behavior. :-)
This program is a slow, dodgy Perl script.
This program does not come close to supporting all the possible markup in DocBook, and may produce wrong output in some cases with supported markup.
- How the hell do you represent a backslash (\) in Texinfo!!@? I've tried \\ but TeX complains about it.
- Fix breakages found in the test documents.
- Add new element handling and fix existing handling. Be robust.
- Make it faster. I think most of the speed problems so far is with parsing ESIS. Rewrite SGMLS.pm with C and/or get input directly from SP.
- There are some dependencies on elements occurring when they are actually optional (according to the DTD). We need to fix that (preferably) or prominently state the requirements.
- Allow other more common document elements.
- Separate out node referencing to a separate script. Not only would it make it faster/easier to maintain because it's separate from the main code, but also I would like it to evolve into an automatic DocBook ToC generator.
Copyright (C) 1998-1999 Steve Cheng <email@example.com>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, please write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|14 January 2022|