The xhtml port (textproc/xhtml) was recently modified to include xhtml.soc in the /usr/local/share/xml catalog chain. Unfortunately, this catalog file includes the statement: SGMLDECL "xhtml1.dcl" Since this statement is in the xml catalog chain, it becomes the default declaration for everything in that catalog chain. This creates serious problems when using DocBook XML with the jade dsssl processor. In addition, using a SGML_CATALOG_FILES environment variable to point to both /usr/local/share/sgml/catalog and /usr/local/share/xml/catalog (which is not that rare of an occurance) will cause this declaration to be the default for all sgml documents as well. Fix: One workaround is to remove the SGMLDECL line from the xhtml.soc file. Should this declaration need to be set subsequently for xhtml processing, it can be done in a local catalog, or set on the jade command line. Another workaround is to remove xhtml from the xml catalog chain, but I suspect this defeats to purpose of placing it there in the first place. How-To-Repeat: Install the textproc/docproj metaport, which includes the jade and xhtml ports. Using the jtest.dsl and jtest.sgm files included with jade (but not installed by the port), execute the following command: jade -t rtf -d jtest.dsl jtest.sgm There should be no errors. The default catalog path for jade is /usr/local/share/sgml/catalog. Now change the catalog path to include the xml chain: setenv SGML_CATALOG_FILES /usr/local/share/sgml/catalog:/usr/local/share/xml/catalog Now re-execute the above jade command and the following errors occur: brandybuck# jade -t rtf -d jtest.dsl jtest.sgm jade:jtest.sgm:13:5:E: element "memo" undefined jade:jtest.sgm:14:5:E: element "head" undefined jade:jtest.sgm:15:5:E: element "date" undefined jade:jtest.sgm:16:3:E: element "to" undefined jade:jtest.sgm:17:8:E: element "subject" undefined jade:jtest.sgm:19:5:E: element "body" undefined jade:jtest.sgm:20:5:E: element "para" undefined jade:jtest.sgm:21:5:E: element "para" undefined jade:jtest.sgm:22:5:E: element "para" undefined jade:jtest.sgm:24:4:E: element "end" undefined jade:jtest.sgm:25:8:E: element "closing" undefined jade:jtest.sgm:26:7:E: element "sender" undefined jade:jtest.sgm:29:1:E: no document element jade:jtest.dsl:1:2:E: unknown declaration type "doctype" jade:jtest.dsl:2:0:E: no document type declaration; will parse without validation jade:E: specification document does not have the DSSSL architecture as a base architecture brandybuck#
Responsible Changed From-To: freebsd-ports->kuriyama over to maintainer
State Changed From-To: open->closed Committed, thanks!