The CVS repository for docbook2X may include bugfixes and new features that are not considered stable and thus have not been released.
docbook2man-spec.pl has an option to strip or not strip letters in man page section names, and can xref may refer to refsectn. I have not personally tested these options, but loosing them in the interests of release early and often.
Menu label quirks, paramdef non-conformance, and vertical simplelists with multiple columns fixed in docbook2texixml.
Brought docbook2manxml up to speed. It builds its own documentation now.
Arcane bugs in texi_xml and man_xml fixed.
Introduced Texinfo XSLT stylesheets.
Bugfixes to texi_xml and docbook2texixml.
Produced patch to GNU recode which maps Unicode characters to the corresponding Texinfo commands or characters. It is in ucs2texi.patch. I have already sent this patch to the maintainer of recode.
Updated documentation.
Both docbook2texixml transform into intermediate XML format which closely resembles the Texinfo format, and then another tool is used to convert this XML to the actual format.
This scheme moves all the messy whitespace, newline, and escaping issues out of the actual transformation code. Another benefit is that other stylesheets (systems), can be used to do the transformation, and it serves as a base for transformation to Texinfo from other DTDs.
Texinfo node handling has been rewritten. Node handling used to work back and forth between IDs and node names, which caused a lot of confusion. The old code also could not support DocBook sets because it did not keep track of the Texinfo file being processed.
As a consequence, the bug in which docbook2texixml did not output the @setinfofile is fixed. xreflabel handling is also sane now.
In the new scheme, elements are referred to by their ID (auto-generated if necessary). The Texinfo node names are generated before doing the actual transformation, and subsequent texinode_get simply looks up the node name when given an element.
The stylesheet architecture allows internationalization to be implemented easily, although it is not done yet.
The (non-XML-based) old code is still in the CVS tree, but I'm not really interested in maintaining it. I'll still accept patches to them, and probably will keep them around for reference and porting purposes.
There are some changes to the old code base in this new release; see old change log for details.
The documentation has been revised.
I am currently rewriting docbook2man using the same transform-to-XML technique. It's not included in 0.5.9 simply because I wanted to get the improved Texinfo tool out quickly. Additional XSLT stylesheets will be written.
Applied NLS patch from Rafał Kleger-Rudomin.
I also have another important patch from Bernd Westphal, but I don't have the patience right now to properly wrap some of his changes in a command-line option, so I have left the patch and his message in the distribution if anyone wants to apply it.
Misc fixes for references, STRUCTNAME typo fixed.
I received another patch from Thomas Lockhart, but some things were not acceptable (and broke my own GGI documentation as well), so I tried to fix it. I removed the Application-for-section-number hack and checking for existence of attributes for cleanliness. (nsgmls validation should do the latter; the previous "choking" behavior is good because it tells people that docbook2man-spec needs validated input.)
Stuff that I did include from his patch:
ID attributes on REFENTRY and REFENTRYTITLE are used to develop cross reference information, as Norm Walsh indicated he would expect the behavior to be. The original XREFLABEL functionality is also supported, so either style will work.
Cross references are resolved using both the LINKEND and ENDTERM attributes on the XREF tag. ENDTERM takes precedence, as in Norm's style sheets.
Note by steve: What he means is limited ENDTERM support on XRefs.
The output file name and citation name are determined in a subroutine FileInfo(), again since it is called from several places.
manpage.log is written to show changes to the cross-reference database. We might want to make this an option.
perldoc info has been updated to show command line options.
Note by steve: Not that I really care :-)
No longer dies at processing instructions
Integrated patch from Thomas Lockhart:
I've added some command line arguments to set a couple of kinds of default section numbers for the man page output.
There are some new global variables to carry the command line defaults and to keep track of section info read from the input file.
Changes by steve: Reduced globals to a minimum for aesthetic reasons.
The output file name generated from the refentry title is lowercased, and has underscores to replace blanks for multi-word titles. Previously, the file name was uppercased if the input string was mixed case, and uppercase titles and blanks were passed through unchanged. Things are still uppercased internally as you intended.
Changes by steve: Preserve case is still the default.
The section "number" for the output file name defaults to one (".1") if the refentrytitle contains an application tag. This default can be changed from the command line.
Changes by steve: I consider this to be a hack. Cleaned up the code for handling that and made it optional.
The default section "number" for the output file name defaults to ell (".l") for no good reason other than that is what I needed. You might want to change it, but it should probably default to *something*.
The date is snarfed from date info in the file, if available. This actually does not do anything useful for me at the moment because the date isn't available early enough in the source file.
Changes by steve: Also added option to pass in specific date to use.
In a couple of places, the script required attributes to be defined which were not in my input files. I put some checks around these places in the script so that it proceeds gracefully, as it already did in other places. Previously, it choked.
More separator kludges. FORMAT=linespecific is NOTATION not CDATA; fixed. A start on implementing Procedures.
Fixed output-> man_output bugs, added a few more SDATA.
Put in huge kludges to handle breaking after an 'embedded' block element correctly.
Fixed REFERENCE/ BOOK TITLE handling. Fixed oversight where TERMs are always bold. After using our own output, sgml functions it becomes a lot slower. I don't know if that can ever be fixed. Deleted unused code.
Moved out duplicate code to functions, making it cleaner. Ignore content of DocInfo, RefSect1Info and similar elements. No major breakages in my limited practical usage now.
It also now supports XRefs to RefEntries (using SGMLS::Refs, so many cases of CiteRefEntry to other man pages in the same document can be eliminated. Note that if a XRef is a forward reference, then docbook2man needs to be run twice to output the correct text.
Mostly fixed the title quoting problem. Cleaner output w.r.t font changes. Better CmdSynopsis (though still not finished.)
Never mind the big jump. Cleaned up the code, and identified more areas to fix and clean up, esp. w.r.t. push_output('string') handling. It also works now on weird.sgml.
I have added partial support for a few more elements (namely CmdSynopsis, and cleaned up some of the code. However, the code is kind of messy right now, especially w.r.t. 'block' element handling. A bit of rewriting of those parts is in the works.
Backport of overhauled node handling, which could in theory handle set but still needs a bit more code (specifically to use different file names instead of 'dummy' when transversing different books). I forget where, but link or xref used to fail. I don't see those problems anymore. Added appendix, glossary, bibliography: turned out to have the same handling as regular sections.
This is probably the last version before the TexiXML change.
Some bug fixes, one of them the node_title != undef assumption.
Removed dead code. Fixed bugs. Cross reference text handling simplified and is correct behavior.
Fixed various output bugs/misfeatures. Need to fix bug with nested inline elements, using @-commands should not disable nested element handling except for those of @-commands.
Identified some trouble areas, Texinfo escape attribute values. Added POD documentation, variable number of arguments.
Fixed bugs, reorganized code, particularly node handling. Added a few more elements. Generalized section handling code; now all sections can be document element.
Partly cleaned up the sectioning and menu handling code. Fixed some bugs with non-alphanumeric characters in Texinfo node names. There may be more (read: Texinfo braindamage that I don't know about.) Other general cleanups, bugfixes.
First version, announced. Tested with LibGGI documentation only! If you want this tool to improve faster, please test with your own documentation.