Re: [xslt] Using catalog files on Windows

Daniel Veillard wrote:

>   Well you can try to guess the valid filename or URL which will work
> and set them as environment variables SGML_CATALOG_FILES or XML_CATALOG_FILES
> The routine will end up using open() to load the file.

Thanks, setting XML_CATALOG_FILES works fine, I didn't know about this
envar before. However setting SGML_CATALOG_FILES didn't affected entity
resolution -- I played with its setting for a long time before posting
my question.
>   You can set the XML_DEBUG_CATALOG environment variable to get some
> information from the catalog processing layer to understand what's happening.

Very usefull. 

BTW, while using XML catalogs, I recognized that libxml catalog code
resolves relative URIs in a different way than Norm's resolver. When I
have something like

    <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"

in my XML catalog (it is in a same directory as docbookx.dtd),
docbookx.dtd is not resolved relative to XML catalog and I get following
error from xsltproc: 

Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
Resolve URI docbookx.dtd
prvni.xml:3: warning: failed to load external entity "docbookx.dtd"

I can solve this problem by adding <group
xml:base="file:///right/directory/here"> around <public/>, but I think
that when there is no explicit xml:base, location of catalog file should
be taken as xml:base. But to be honest I didn't read XML catalogs
specification so precisely so I cann't really argue on this topic. 



  Jirka Kosek  	                     

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