From: Joe A. <jo...@bo...> - 2013-10-24 22:58:33
|
Attempting to implement a Gale back-end, simplexml_load_string is failing to properly parse their MARCXML. I can see the request go out and return like: 2013-10-24T16:24:04-04:00 DEBUG (7): Connect: > http://sru.galegroup.com/GVRL?version=1.1&query=%28cql.anywhere%3D%22tanks%22%29&startRecord=1&maximumRecords=2&operation=searchRetrieve&recordSchema=marcxml&x-username=metatest > 2013-10-24T16:24:05-04:00 DEBUG (7): Response: [200] OK And the results look like: https://gist.github.com/atz/a139474f9f285f0c0b5d (Example doesn't match the logged request, but is still a good example.) I have taken the liberty of indenting some of the structure around the first record in the gist for visualization purposes. If I try to process this with a simple PHP script like: <?php > $xml = simplexml_load_file('gale.mrc.xml'); > echo $xml->getName() . " has " . $xml->count() . " children\n"; > ?> I get: > searchRetrieveResponse has 0 children But searchRetrieveResponse clearly has many children. What gives? Is "simple" incapable of processing namespace? Do I have to use XSLT (first)? --Joe |