From:             bart at mediawave dot nl
Operating system: All
PHP version:      Irrelevant
PHP Bug Type:     Feature/Change Request
Bug description:  XML processing instruction handling feature request

Description:
------------
With the XML parser module PHP currently handles processing instruction
code per tag. For example: <?php echo 'Hello World' ?> is seen as an
isolated chunk of code.

This doesn't work:

<XMLTAG>
  <?php for ($i = 0; $i < 4; $i++): ?>
    <XMLTAG2>
      <?php echo $i ?>
    </XMLTAG2>
  <?php endfor; ?>
</XMLTAG>

PHP handles the PHP code per <? somecode ?> tag. While in this example the
code actually spans through 5 tags. But PHP doesn't recognize it this
way.

Also. For my application it would be desirable if the PHP XML parser would
not return the php code. The evaluation of the PHP code in the XML should
be hanled by the parser. It should then only return the resulting
(evaluated) XML as if it was normal XML.

Reproduce code:
---------------
<?xml version="1.0" encoding="iso-8859-1"?>
<XMLTAG>
  <?php for ($i = 0; $i < 4; $i++): ?>
    <XMLTAG2>
      <?php echo $i ?>
    </XMLTAG2>
  <?php endfor; ?>
</XMLTAG>


Expected result:
----------------
<XMLTAG>
    <XMLTAG2>
      0
    </XMLTAG2>
    <XMLTAG2>
      1
    </XMLTAG2>
    <XMLTAG2>
      2
    </XMLTAG2>
    <XMLTAG2>
      3
    </XMLTAG2>
</XMLTAG>


Actual result:
--------------
Parse error: parse error, unexpected $end in
D:\php-4.3.2\PEAR\wrap_v4\dam.php(544) : eval()'d code on line 1

Parse error: parse error, unexpected T_ENDFOR in
D:\php-4.3.2\PEAR\wrap_v4\dam.php(544) : eval()'d code on line 1


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

Reply via email to