[BACK]Return to README CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / docbook2mdoc

File: [cvsweb.bsd.lv] / docbook2mdoc / README (download)

Revision 1.3, Fri Mar 22 15:38:09 2019 UTC (5 years ago) by schwarze
Branch: MAIN
Changes since 1.2: +1 -20 lines

Delete the isparent() validation function.

The DocBook language is totally ill-designed, a gigantic accretion
of arbitrary elements without any kind of discernible design or
cohesion, with an absurdly large number of arbitrary and pointless
rules of what is allowed to nest inside which other elements.
So attempting to validate DocBook input against the totally crazy
specification makes no sense whatsoever, and even less so because
we are certainly not encouraging anybody to write new or maintain
existing DocBook documents.  The whole point of having a DocBook
parser is to be able to parse legacy documents and convert them to
a sane language, so it is utterly irrelevant whether the input is
considered valid or invalid by some idiotic standard.

This deletion allows substantial simplification of the code
and will massively speed up development in the future.

Kristaps@ says that i can move forward with development without
asking for individual OKs.

$Id: README,v 1.3 2019/03/22 15:38:09 schwarze Exp $

Here's a quick note on how to add new DocBook elements.

First, look up the element in the DocBook reference.
For element <foo>, this is usually:

 https://tdg.docbook.org/tdg/5.1/foo.html

Some elements are no longer defined in DocBook 5.
For these, you will have to look at 4.5 documentation instead:

 https://tdg.docbook.org/tdg/4.5/foo.html

Add the alpha-ordered node (NODE_FOO) to extern.h.

Next, add the name and whether it admits text to docbook2mdoc.c's
"nodes" structure array.

Finally, modify pnode_print() with your new entry.  Use similar nodes as
a reference.  (NOTE: if it's an inline like, say, NODE_EMPHASIS, then
remember to add the node to the postfix switch statement!)