Re: [xml] XML_CATALOG_DEBUG enhancement suggestion and yet another question
- From: Daniel Veillard <veillard redhat com>
- To: Rick Jones <rick jones2 hp com>
- Cc: xml gnome org
- Subject: Re: [xml] XML_CATALOG_DEBUG enhancement suggestion and yet another question
- Date: Wed, 22 Feb 2006 04:51:53 -0500
On Tue, Feb 21, 2006 at 05:56:27PM -0800, Rick Jones wrote:
while I've been blundering through bootstrapping /etc/xml/catalog, I've
come across something that may be a useful enhancement. If one sets
XML_CATALOG_DEBUG, the output looks rather like:
# xmllint --dtdattr --valid test_config.xml
Resolve: sysID http://www.netperf.org/netperf_docs.dtd/1.0
1 Parsing catalog file:///etc/xml/catalog
file:///etc/xml/catalog added to file hash
Found system match http://www.netperf.org/netperf_docs.dtd/1.0
It might be nice if the debug output stated what it was going to use based
on that match.
okay, I take patch, this is debug output so I'm fine extending it !
Also, while I was trying to decipher the OASIS stuff on XML catalogs I came
away with the impression that if a match target (?) failed to load it
would keep trying to match until it found a target that would load or hit
the end of the catalog. however, xmllint didn't seem to do that for this
catalog:
Depends, if you hit a delegate, you don't backtrack, triple check the
7 steps described in the spec I'm fairly sure I followed then very precisely.
# cat /etc/xml/catalog
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog
V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<system systemId="http://www.netperf.org/netperf_docs.dtd/1.0"
uri="file:///usr/local/share/netperf/nonesuch.dtd"/>
<system systemId="http://www.netperf.org/netperf_docs.dtd/1.0"
uri="file:///usr/local/share/netperf/netperf_docs.dtd"/>
</catalog>
Not a very good construction usually you should use Delegates to
point to a specialized catalog (usually stored in /usr/share/sgml IIRC)
to avoid filling up /etc/catalog with too specific entries, see how
docbook-dtds package on Fedora/Red Hat set up its catalogs.
# xmllint --dtdattr --valid test_config.xml
Resolve: sysID http://www.netperf.org/netperf_docs.dtd/1.0
1 Parsing catalog file:///etc/xml/catalog
file:///etc/xml/catalog added to file hash
Found system match http://www.netperf.org/netperf_docs.dtd/1.0
Resolve URI file:///usr/local/share/netperf/nonesuch.dtd
test_config.xml:2: I/O error : failed to load external entity
the match is exact, there is only one return value possible, so it fails
that's normal based on my understanding of the Catalog spec.
Daniel
--
Daniel Veillard | Red Hat http://redhat.com/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]