From:             andrew at operationaldynamics dot com
Operating system: Gentoo Linux
PHP version:      4.3.2
PHP Bug Type:     XML related
Bug description:  Sablotron incorrectly erroring on DOCTYPE SYSTEM http

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 bug report at http://bugs.php.net/?id=26183&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=26183&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=26183&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=26183&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=26183&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=26183&r=needtrace
Try newer version:          http://bugs.php.net/fix.php?id=26183&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=26183&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=26183&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=26183&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=26183&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=26183&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=26183&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=26183&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=26183&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=26183&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=26183&r=float

Reply via email to