[xml] Problems with catalogs using delegates



I have two problems with catalogs that use delegateSystem, delegatePublic or
both. I'm not at all sure whether this is a problem of the libxml
implementation or in my understanding of catalogs.

So here's the setup:

1. catalog.xml:

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    <delegatePublic
       publicIdStartString="-//My Pub//Id"
       catalog="delegate-catalog.xml"/>
    <delegateSystem
       systemIdStartString="http://doesnt.exist";
       catalog="delegate-catalog.xml"/>
</catalog>

2. delegate-catalog.xml:

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <rewriteURI
    uriStartString="http://doesnt.exist";
    rewritePrefix="." />
  <public
    publicId="-//My Pub//Id//EN"
    uri="a.dtd" />
</catalog>


Here is the first problem: 

xmlcatalog catalog.xml "http://doesnt.exist/a.dtd";
  does not resolve! It tries the delegate, but fails to use the rewrite URI
rule.  

xmlcatalog delegate-catalog.xml "http://doesnt.exist/a.dtd";
  resolves correctly (just to check)

The second problem is related to the first and occurs when validating a
document. The catalog system fails to resolve the dtd in a document that
contains a public id and a system id: 
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE root PUBLIC "-//My Pub//Id//EN"
"http://doesnt.exist/a.dtd";>
<root />

On the other hand, the resolution of the public id seems to work:
xmlcatalog catalog.xml "-//My Pub//Id//EN"
  resolves correctly


I'm grateful for any hints and tips.

Peter





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]