Re: [xml] Confused: Handling relative paths in catalogs



On Wed, Dec 12, 2001 at 08:09:24AM -0800, Steve Lumos wrote:

Hi.

I'm trying to work with files produced by the Domino XML toolkit,
which are of type: <!DOCTYPE document SYSTEM "domino.dtd">.  So I did
"xmlcatalog --create --add system domino.dtd /long/path/domino.dtd catalog"
and got:

<?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="domino.dtd" uri="/long/path/domino.dtd"/>

   Well ... the semantic of this is unclear to me. systemId is supposed to
be an URI having it relative would make the reference to the catalog URL
ouch ...
 

The problem is that matching in the catalog apparently looks up
/path/to/document/domino.dtd instead of just domino.dtd.  Since only
prefix substitution is allowed, there doesn't seem to be a way to
match <anything>/domino.dtd.

The result is that this works fine:
  [/tmp/xml]0$ xmllint --valid --noout note.xml 

But this doesn't:
  [/tmp/xml]0$ xmllint --valid --noout /tmp/xml/note.xml 
  /tmp/xml/note.xml:3: error: failed to load external entity
  "/tmp/xml/domino.dtd"
  <!DOCTYPE document SYSTEM 'domino.dtd'>
                                        ^

  Can you provide the debugging output of the catalog resolution as explained at
    http://xmlsoft.org/catalog.html#validate

Am I missing something? Is there a different way to handle the case
where the DTD is specified as a relative path?

  I don't have a clear answer, I just pointed Norman Walsh to this
he probably have the answer.

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.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]