Bug #67350 [NEW]: An XML DTD with an external parameter failes to include the subset

From: Date: Wed, 28 May 2014 02:10:26 +0000
Subject: Bug #67350 [NEW]: An XML DTD with an external parameter failes to include the subset
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-185941@lists.php.net to get a copy of this message
From: rjlaustin at teksavvy dot com Operating system: Linux PHP version: 5.4.28 Package: DOM XML related Bug Type: Bug Bug description:An XML DTD with an external parameter failes to include the subset Description: ------------ This problem occurs on two Linux systems where my code is used but over which I have no control and limited information. One is on version 5.4.28, built May 5 2014, the other is on 5.5.3-1, built April 4 2014. The problem did not occur on whatever versions they were running before last week. The validation of XML against a DTD fails, complaining that one or more entities has no declaration. The message is: DOMDocument::validate(): No declaration for element xxxx All the elements complained of are in subsets that are (or rather were, because I have had to change them all) included in the outer DTD by means of the external parameter notation, e.g. <!ENTITY % theatre SYSTEM "theatre.dtd"> later followed by %theatre; It appears that the contents of (in this case) "theatre.dtd" are simply lost. Putting the contents of the file inline in the outer DTD is a successful workaround. I have tested the latest Mac version of PHP available from XAMPP (5.5.11 built April 9) and it does NOT have this bug. Since I have to support my code on any system, even if this problem gets fixed I will never be able to use this feature again because I will never know when a all the potential users have moved up to the fixed release. It's an annoying loss of a convenient feature but it isn't a show-stopper. Test script: --------------- I'm afraid I am not in a position to ask the people who got the problem to restore their code so as to demonstrate it now. And I haven't got a system of my own that displays the problem. A fix will be of no use to me now, but if there is interest in getting it fixed and you need more documentation I could probably work up a little demonstration script. -- Edit bug report at https://bugs.php.net/bug.php?id=67350&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=67350&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=67350&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=67350&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=67350&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=67350&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=67350&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=67350&r=needscript Try newer version: https://bugs.php.net/fix.php?id=67350&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=67350&r=support Expected behavior: https://bugs.php.net/fix.php?id=67350&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=67350&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=67350&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=67350&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=67350&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=67350&r=dst IIS Stability: https://bugs.php.net/fix.php?id=67350&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=67350&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=67350&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=67350&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=67350&r=mysqlcfg

« previous php.bugs (#185941) next »