Project

Profile

Help

Bug #5704

open

XML catalog unused in Saxon\XsltExecutable::transformFileToString

Added by Alf Eaton about 2 months ago. Updated about 2 months ago.

Status:
In Progress
Priority:
Normal
Category:
-
Start date:
2022-10-02
Due date:
% Done:

0%

Estimated time:
Found in version:
11.4
Fixed in version:
Platforms:

Description

Thank you for adding XML catalog support to the Saxon C PHP extension.

However, unless I'm doing something wrong, it seems that Saxon isn't using local DTD files referenced in the XML catalog.

I've put together an example repo: https://github.com/hubgit/saxon-he-php-demo

In this case, the XML file's DOCTYPE defines a public ID, which the XML catalog points to a local DTD file. When Saxon\XsltExecutable loads the XML file with transformFileToString, it tries to fetch the DTD from the URI in the XML file's DOCTYPE instead, as if the catalog file isn't used.

Actions #1

Updated by Michael Kay about 2 months ago

  • Project changed from Saxon-CE to SaxonC
  • Assignee set to O'Neil Delpratt
Actions #2

Updated by O'Neil Delpratt about 2 months ago

  • Status changed from New to In Progress
  • Found in version set to 11.4

Thanks for reporting this issue. Investigating it now

Actions #3

Updated by O'Neil Delpratt about 2 months ago

Thanks for the repo. I am seeing the sam failure. Something like the below:

Error 
   I/O error reported by XML parser processing
  /home/
misc/saxon-he-php-demo/example.xml. Caused by
  java.io.FileNotFoundException: https://example.com/article.dtd

If I run SaxonC command it works:

./transform -xsl:../../example.xsl -s:../../example.xml -catalog:../../catalog.xml 

Therefore investigating what is going wrong with the API.

Please register to edit this issue

Also available in: Atom PDF