Re: rewriteSystem in docbook-xsl XML catalog
Actually, a possible benefit of having them in there is that it
suppresses an unnecessary warning that the xmlcatalog utility
emits if you run it like this:
xmlcatalog /etc/xml/catalog http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
If you do that and there is no System ID mapping for that URI
(even if there is a URI mapping), you get this:
No entry for SYSTEM http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
file:///usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl
And instead of going to stderr, the warning goes to stdout right
along with the "file:" output.
So, it is actually of (limited) benefit to have the rewriteSystem
entries in there, and as you said, they aren't doing any harm.
Give that, I guess there's no need to remove them. Mostly I was
just thinking that other packagers might use that catalog file as
an example and end up unnecessarily including rewriteSystem in
catalog files for other stylesheet packages. But I guess that
wouldn't be the worst thing in the world either...
--Mike
Mark Johnson <mrj@debian.org> writes:
> Michael Smith wrote:
> >Mark,
> >
> >I notice that the catalog.xml in your docbook-xsl package contains
> >both rewriteURI and rewriteSystem entries. I'm wondering why the
> >rewriteSystem entries are there and if they are necessary.
>
> Hi Mike,
>
> The only reason I put them in there is because there was a time when
> libxml2/libxslt didn't support uri elements, and so the system
> elements were required. IIRC, someone even filed a bug because of
> this. In fact, I submitted editorial patches to the XML Catalogs
> spec that clarified this very point, so I do grok the issue you raise.
>
> I do understand the difference between a URI and a SYSTEM identifier
> as defined in Production 70 of the XML spec, I was simply trying
> to play it "safe".
>
> I know that it's also an improper implementation of the XML catalogs
> spec, too. I filed a bug against libxml2 a long time ago & I believe
> it now properly supports the uri element.
>
> I'll fix the catalogs when I do the next update, as I'm sure someone
> will find another bug. For now, the extra "system" entry doesn't
> really do any harm.
>
> Thanks for pointing it out, though.
>
> Cheers,
> Mark
>
> >
> >The only circumtance in which I could see them being needed was
> >if someone wanted to define an entity in a DTD subset in a
> >document instance (not an XSLT stylesheet) and reference that
> >entity in the document instance (as a way of including the entire
> >stylesheet in the document). That doesn't seem to me like
> >something most people (or maybe, anybody) would ever want to do.
> >
> >In the case of XSLT stylesheets, they always use the URI as the
> >value on an import or include statement, right? So the
> >rewriteSystem catalog entries are never used.
> >
> > --Mike
>
Reply to: