#26183 [Opn->Bgs]: Sablotron incorrectly erroring on DOCTYPE SYSTEM http
| From: | iliaa@php.net | Date: | Mon, 10 Nov 2003 04:14:08 +0000 |
| Subject: | #26183 [Opn->Bgs]: Sablotron incorrectly erroring on DOCTYPE SYSTEM http | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-50189@lists.php.net to get a copy of this message | ||
ID: 26183
Updated by: iliaa@php.net
Reported By: andrew at operationaldynamics dot com
-Status: Open
+Status: Bogus
Bug Type: XML related
Operating System: Gentoo Linux
PHP Version: 4.3.2
New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system
is not the
appropriate forum for asking support questions.
Thank you for your interest in PHP.
This is a Sablotron issue, not a PHP one. Please report this bug to
Sablotron developers.
Previous Comments:
------------------------------------------------------------------------
[2003-11-09 02:34:04] andrew at operationaldynamics dot com
Description:
------------
When using the Sablotron XSLT processor, it would not let me reference
a SYSTEM DTD via http. I was using:
<!DOCTYPE plan SYSTEM "plan.dtd">
just fine, but when I needed to make the reference not rely on my
location on the filesystem, I switched to this:
<!DOCTYPE plan SYSTEM "http://goals/plan.dtd">
which no longer worked. Error below.
Reproduce code:
---------------
Calling PHP code:
xslt_process($xh, $srcfile, $xslfile, $outfile)
Expected result:
----------------
http references should work in SYSTEM declarations!
Actual result:
--------------
Warning: Sablotron error on line 1: XML parser error 4: not well-formed
(invalid token) in /home/andrew/Sites/local/goals/goalsDriver.php on
line 115
WORKAROUND:
By changing the DOCTYPE line to
<!DOCTYPE plan PUBLIC "-" "http://goals/plan.dtd">
It worked exactly as expected. I looked around, and saw many W3C
examples which used SYSTEM in conjunction with an http method.
The PUBLIC specification is only supposed to be used when one has done
the right thing in naming a public DTD (ie, "-" isn't really an
appropriate name!)
Methinks that this is an upstream bug in Sablotron.
AfC
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=26183&edit=1