ID:               42139
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Assigned
 Bug Type:         XML related
 Operating System: MacOS/Darwin 10.4.10/8.10.1
 PHP Version:      5CVS-2007-07-29 (CVS)
-Assigned To:      
+Assigned To:      rrichards
 New Comment:

They are options - properties method was old name/method in libxml2
(see Table 338. XMLReader Parser Options - in XMLReader docs), though it
needs to be implemented for that method.
Assign to self


Previous Comments:
------------------------------------------------------------------------

[2007-07-29 12:53:05] [EMAIL PROTECTED]

Description:
------------
The XMLReader constants for parser options (LOADDTD, SUBST_ENTITIES,
etc.) don't work when passed as the third parameter to XMLReader::open()
or XMLReader::XML(). Their values are incorrect for the xmlreader API;
they're parser property names, not option bitmasks. The XML() method
also ignores the options parameter completely.

This is partially a documentation problem, but also involves broken
functionality in the xmlreader extension. Suggested fix is to either:
- remove the options parameters completely from both methods and their
documentation
- fix the XML() method to read the options and document both functions
as using the LIBXML_* constants (fix the docs to match the code), or
- modify both XML() and open() to interpret the options passed as
properties (fix the code to match the docs)

Reproduce code:
---------------
<?php
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ELEMENT root ANY>
<!ENTITY x "y">
]>
<root>&x;</root>
XML;
$reader = new XMLReader;
$reader->XML( $xml, NULL, XMLReader::SUBST_ENTITIES );
// or: $reader->XML( $xml, NULL, LIBXML_NOENT );
while ( $reader->read() )
 echo "{$reader->nodeType}, {$reader->name}, {$reader->value}\n";
$reader->close();
?>

Expected result:
----------------
10, root, 
1, root, 
3, #text, y
15, root, 


Actual result:
--------------
10, root, 
1, root, 
5, x, 
15, root, 



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=42139&edit=1

Reply via email to