From: mbishton at yahoo dot com
Operating system: Windows XP Prof. Version 5.1.260
PHP version: 5.0.3
PHP Bug Type: SimpleXML related
Bug description: cannot parse elements with dashes in names
Description:
------------
U.S. library of congress displays house voting activity in xml file. For
example: $xml =
simplexml_load_file('http://clerk.house.gov/evs/1999/roll610.xml') ;
Many of the elements have dashes in them. For example:
<totals-by-party-header>
<party-header>Party</party-header>
<yea-header>Yeas</yea-header>
<nay-header>Nays</nay-header>
<present-header>Answered �Present�</present-header>
<not-voting-header>Not Voting</not-voting-header>
Any reference to an element, like;
$xml->totals-by-party-header->party-header->yea-header
will not work.
Reproduce code:
---------------
It works just fine if the element does not have dashes in it, like:
simplexml_load_file('http://clerk.house.gov/evs/1999/roll610.xml') ;
$vmeta = $xml->xpath('//vote-metadata' );
echo 'congress = ' . $vmeta[0]->congress ;
In the following example, $test will produce an error.
simplexml_load_file('http://clerk.house.gov/evs/1999/roll610.xml') ;
$meta = $xml->xpath('//totals-by-party' );
$test = $meta[1]->yea-total ;
Expected result:
----------------
I expected it to return an array or the content of an element, depending
on what I was referencing.
Actual result:
--------------
Notice: Use of undefined constant total - assumed 'total' in C:\Program
Files\Apache2\htdocs\test01.php on line 9
--
Edit bug report at http://bugs.php.net/?id=32544&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=32544&r=trysnapshot4
Try a CVS snapshot (php5.0):
http://bugs.php.net/fix.php?id=32544&r=trysnapshot50
Try a CVS snapshot (php5.1):
http://bugs.php.net/fix.php?id=32544&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=32544&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=32544&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=32544&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=32544&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=32544&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32544&r=support
Expected behavior: http://bugs.php.net/fix.php?id=32544&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=32544&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=32544&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=32544&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=32544&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=32544&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=32544&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32544&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=32544&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=32544&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=32544&r=mysqlcfg