A brief overview of how I would start this.
Seems like there will be multiple calls to a base url with some changing
parameters.
looking here:
http://www.loc.gov/standards/sru/simple.html points 2, 3, and 5 seem like the way to start.
So essentially you are making an initial call to give you the number of records,
then the same call a bunch of times to get the next set based upon your parameters
in the url.
I would create a class file that deals with all this in an oop fashion.
You would have a method that sends the requests, I would use curl, and a method
that deals with parsing the xml - simpleXml(for the simple xml look into parsing children of namespaces
in this case "zs" - simple xml can definitely parse these results just have to experiment with the correct
syntax and combo of children() etc.).
No need to actually write data to a file or DB until you really need to at the end for
a single record.