The docbook/4.1 `dbcent.mod' module contains references to public entities
first defined in ${SGMLROOT}/html/catalog and ${SGML_ROOT}/iso8879/catalog.
By setting the SGML_CATALOG_FILES in the order suggested until now, we end
up with a value of SGML_CATALOG_FILES like (wrapped to keep the length of
the lines reasonable):
/usr/doc/en_US.ISO8859-1/share/sgml/catalog:/usr/doc/share/sgml/catalog:\ /usr/local/share/sgml/docbook/4.1/catalog:/usr/local/share/sgml/html/catalog:\ /usr/local/share/sgml/iso8879/catalog:/usr/local/share/sgml/jade/catalog
This means that when `dbcent.mod' refers to entities like %ISOamsa; they
are not known already (because they are defined in catalog files later in
the search path, not loaded by nsgmls yet). This results in errors like:
nsgmls:/usr/local/share/sgml/docbook/4.1/dbcent.mod:54:0:E: \ cannot open "/usr/local/share/sgml/docbook/4.1/iso-amsa.gml" \ (No such file or directory)
By rearranging the order of the catalog files a bit, we can convince nsgmls
to load the html' and iso8879' public entities first, and make it
possible to use nsgmls to validate DocBook SGML documents too (instead of
HTML only).
PR: docs/48980
Submitted by: Martin Karlsson <mk-freebsd@bredband.net>