[xslt] XML Catalog search ordering



Hiya,

I'm trying to learn about XML catalogs and use them in my own system in a
manner that seems sensible. Consequently, I'm not sure if I'm reporting a
bug or a misunderstanding; I expect the latter.

The behaviour I'm seeing is a lack of lookup in the catalogs for public
identifier given in the XML.

The XML file I'm parsing starts :

--8<--------
<?xml version="1.0"?>
<!DOCTYPE riscos-prm PUBLIC "-//Gerph//DTD PRM documentation 1.00//EN"
                            "http://www.movspclr.co.uk/dtd/prm.dtd">
--8<--------

The XML Catalog file reads :
--8<--------
<?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">
<rewriteSystem systemIdStartString="http://www.movspclr.co.uk/dtd/" rewritePrefix="file:///%3CXMLCatalog$Dir%3E/gerph/"/>
<public publicId="-//Gerph//DTD PRM documentation 1.00//EN" uri="http://www.movspclr.co.uk/dtd/prm.dtd"/>
</catalog>
--8<--------

Attempting to read these files with xsltproc command :

--8<--------
*xsltproc --nonet http://www.movspclr.co.uk/dtd/prm-header.xsl access.xml
Resolve: sysID http://www.movspclr.co.uk/dtd/prm-header.xsl
Parsing catalog file:///IDEFS%3A%3AZeus/%24/!Boot/Resources/!Catalogs/root.xml
Using rewriting rule http://www.movspclr.co.uk/dtd/
Resolve URI file:///%3CXMLCatalog$Dir%3E/gerph/prm-header.xsl
Resolve: sysID file:///%3CXMLCatalog$Dir%3E/gerph/prm-header.xsl
Resolve URI file:///%3CXMLCatalog$Dir%3E/gerph/prm-header.xsl
Resolve: sysID access.xml
Resolve URI access.xml
Resolve: sysID access.xml
Resolve URI access.xml
Resolve: pubID -//Gerph//DTD PRM documentation 1.00//EN
Using rewriting rule http://www.movspclr.co.uk/dtd/
Resolve URI file:///%3CXMLCatalog$Dir%3E/gerph/prm.dtd
Resolve: pubID -//Gerph//DTD PRM documentation 1.00//EN
Found public match -//Gerph//DTD PRM documentation 1.00//EN
Resolve URI http://www.movspclr.co.uk/dtd/prm.dtd
access.xml:3: warning: failed to load external entity "http://www.movspclr.co.uk/dtd/prm.dtd"
                            "http://www.movspclr.co.uk/dtd/prm.dtd">
                                                                   ^
/* Automatically generated header file for Acorn Access */

#ifndef Acorn_Access_Definitions_H
#define Acorn_Access_Definitions_H

/* Services */

/* UpCalls */

/* SWIs */

#endif
Catalogs cleanup
*
--8<--------

If the public declaration is removed from the catalog, the DTD fetch
succeeds and no warning is thrown. From my reading of the XML Catalog
specification it seems unclear to me as to whether the URI resolved from a
public identifier match should be passed back through for a rewrite match.
It would seem to me that this would be sensible, but there may be something
I'm missing.

-- 
Gerph {djf0-.3w6e2w2.226,6q6w2q2,2.3,2m4}
URL: http://www.movspclr.co.uk/
... Eyes to the heavens, screaming at the sky;
    Trying to send you messages, but choking on goodbye.




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