Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#7 XML catalog support

open
nobody
None
5
2001-11-19
2001-11-19
No

XML catalogs[1] seem to be the XML evolution of
SGML/OASIS Open
catalogs. Daniel Veillard has already implemented them
in Libxml2[2]
and in his xmllint application.

I think it'd be real useful to have support for XML
catalogs in PSGML,
and it seems like it'd not be nearly as much work to
implement as some
of the other new PSGML features that folks have been
requesting (XML
schema support, for example).

[1] http://www.oasis-
open.org/committees/entity/spec.html
[2] http://xmlsoft.org

Discussion

  • Sagar R. Shah
    Sagar R. Shah
    2002-09-11

    Logged In: YES
    user_id=479303

    Please please please please please could we have XML Catalog
    Support

     
  • Logged In: YES
    user_id=146903

    I did a quick hack to add xml catalog support to psgml,
    which you can find here:
    http://www.daa.com.au/~james/files/xmlcatalog.el

    (it isn't finished yet, but should work a bit). It calls
    the xmlcatalog program (distributed with libxml2) to
    perform the catalog lookups.

    It was able to load up the DTD for a DocBook document using
    the following doctype:

    <!DOCTYPE article SYSTEM
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

     
  • Logged In: YES
    user_id=118135

    Very cool. I had my XML catalog file set up only
    with public IDs, but added system IDs and
    PSGML found everything as expected.

    James - Are you planning on implementing support
    for public IDs?

     
  • Logged In: YES
    user_id=146903

    The hook used by that bit of elisp uses is to perform
    lookups of unknown system identifiers, so no, I probably
    won't be expanding it to do that (I don't know that much elisp).

    The other drawback is that it doesn't handle relative sysids
    very well. For example, the modulare XHTML 1.0 DTD includes
    the latin1 entities with the relative sysid of
    "xhtml-lat1.ent", and that gets passed straight through to
    my hook, without any context needed to resolve it.