Some ports install different DTDs for XML formats into ${LOCALBASE}/xml/* There are docbook-xml, xhtml and other. These ports adds this DTDs to XML catalog ${LOCALBASE}/xml/catalog. But they build this catalog (and all other catalogs, whhic are referenced by main XML catalogs) in OLD, SGML format! On other hand, textproc/libxml2 port have patch to point default XML_CATALOG to ${LOCALBASE}/xml/catalog. But ${LOCALBASE}/xml/catalog IS NOT XML CATALOG and libxml2-based programs FAIL when try to load default system catalogs! ${LOCALBASE}/sgml/catalog (default SGML catalog) will be loaded without errors and ${LOCALBASE}/xml/catalog will not be loaded, because libxml2 think it is XML catalog in new, XML-based format! Fix: I don't know, how to resolve this problem. Ports install catalogs in SGML format, and even if we convert top-level ${LOCALBASE}/xml/catalog to XML format problem will not be solved. May be, we need to add ALL such catalogs to ${LOCALBASE}/sgml/catalog, even if port install XML-based format (like xhtml and docbook-xml). How-To-Repeat: Try to run `xmllint -valid -noout some_xhtml_file.html'
Hello freebsd-gnats-submit, Here is words from Daniel Veillard <veillard@redhat.com>, author of libxml2 and libxslt: The catalogs have to be build dynamically when the XML resources are installed locally. In a nutshell FreeBSD handling of XML resources is a bit outdated. -- Best regards, Lev mailto:lev@serebryakov.spb.ru
Responsible Changed From-To: freebsd-ports->gnome Over to maintainers
State Changed From-To: open->closed This should be fixed now as scrollkeeper, the app responsible for changing the default catalog format, no longer uses the default /usr/local/share/xml/catalog. This doesn't solve the larger problem of why XML catalogs are in SGML format, but that's something that can be taken up with the maintainer of textproc/docbook-xml.