[Ocaml-pxp-users] How do I resolve PUBLIC external entities from inside DTD files?

Glyn Webster gdw at wave.co.nz
Thu May 14 19:46:53 PDT 2009


On Fri, 15 May 2009 2:14:44 am you wrote:
> This is a bad interaction of the file resolver (inside
> Pxp_types.from_file), and the catalog resolver. It tries to do this:
> Because HTMLlat1 also has a file name attached to the PUBLIC name, the
> file resolver tries to open the entity by file name. However, the
> information is lost relative to which directory the file is to be
> opened, because it is an "inner" PUBLIC entity.

Thank you. Your "Pxp_reader.combine" solution worked for me. (Editing the DTD 
worked too, but I want to avoid that.) 

Was the way I was trying to do things originally sensible? Or is what you have 
shown my here how I should have done things from the start?

I think I understand the first part of what was happening (file resolution is 
applicable to PUBLIC ids that provide filenames, the "~alt" resolver is only 
used if the default resolver is inapplicable), but I still don't understand 
why the directory information gets lost, though. 

--Glyn



More information about the Ocaml-pxp-users mailing list