The program "nsgmls" ships with the jade package, but it is originally part of "PS", I think. Anyway, it behaves differently than documented in the man page. The default SGML declaration it uses in case the processed document does not provide one is in face the docbook one. This might be seen as a documentation error, but it took me quite a long time to find out using strace... Thanks for your attention.
The docbook SGML declaration that is used is: /usr/lib/sgml/dtds/decls/docbook.dcl Steps to reproduce: Run nsgmls example.sgml, with a file example.sgml containing: <!DOCTYPE mydoc [ <!ELEMENT mydoc - - (blah)> <!ELEMENT blah - O (#PCDATA) > ]> <mydoc> <blah>Dies ist der Text im blah </mydoc> nsgmls says "nsgmls:example.sgml:7:7:E: end tag for "BLAH" omitted, but OMITTAG NO was specified". According to the man page, the default sgml declaration has OMITTAG YES.
If you have: SGMLDECL "dtds/decls/docbook.dcl" in /usr/lib/sgml/CATALOG then this is correct behaviour, at least according to the documentation I'm looking at. If this is not the case, please reopen.