Print

Print


Hi, Fred.

I think the trick is just not to be panicked by namespaces. They're no big
trick, they appear to add more complexity but they really don't except in a
trivial sense.

(The "proper" way to treat them is to strip the prefixes from the XML
element names and map them to the URIs of the namespaces that they've been
associated with, and this is what most real XML parsers will do. But in
practice, you can just just treat <SRW:recordData> as an opaque string if
you like, and it will work out fine unless they document has been encoded
in a deliberately perverse way. So one option is to just walk the XML
string yourself and pick out what you want. But that's not recommended).

You've tried using SimpleXML?
http://php.net/manual/en/book.simplexml.php
http://stackoverflow.com/questions/595946/parse-xml-with-namespace-using-simplexml

-- Mike.





On 19 August 2014 16:41, Fred Riley <[log in to unmask]> wrote:

>  Thanks, Mike, and to Jörg for his offline reply. You're right, the XML
> returned from the SRU query is valid. My problem, with which I've grappled
> with the help of Monica Duke (whom you'll know of) despite her being on
> maternity leave, is traversing the hierarchy of children in a
> multi-namespace document to get at the info I need. So, in the example I
> cited:
>
>
>
>
> http://explor.bcu.ac.uk/IntraLibrary-SRU?operation=searchRetrieve&query=gaelic&version=1.1
>
>
>
> the returned XML has nested namespaces, and I was trying to get hold of
> record fields (eg title, description) by traversing the hierarchy of
> children, but got stuck amongst eye-scrunching XML and PHP code. I put some
> test scripts online (
> http://bcu3rdstrmweb2.bcu.ac.uk/phptests/friley/intralibrary/) which were
> my early and failed efforts to do this some weeks back. I'm hoping that
> returning now with a fresh mind, and picking brains on this list, will lead
> to a fresh approach.
>
>
>
> I'm off on leave for two days so won't be on this until Friday, when I'll
> give Jörg's code a bash.
>
>
>
> (If you're getting *déja vu*, Mike, it's because I posted a precursor to
> this query to cetis-metadata on 12th June, and you and Monica contributed
> to the thread. )
>
>
>
> Cheers
>
>
>
> Fred
>
>
>
> *From:* SRU (Search and Retrieve Via URL) Implementors [mailto:
> [log in to unmask]] *On Behalf Of *Mike Taylor
> *Sent:* 19 August 2014 13:41
> *To:* [log in to unmask]
> *Subject:* Re: SRU parsing with PHP
>
>
>
> Fred, I think this forum is perfectly appropriate.
>
>
>
> What exactly is it that you're having difficulty with? Looks to me like
> you have a perfectly good XML document there. You can feed it to the XML
> parser of your choice in PHP, and walk the resulting tree to extract the
> information you need.
>
>
>
> Do you have a more specific query?
>
>
>
> -- Mike.
>
>
>
>
>
>
>
> On 19 August 2014 12:10, Fred Riley <[log in to unmask]> wrote:
>
> Hi
>
> This is my first message to this list, which I've only just joined at the
> recommendation of a colleague. I'm looking to develop a website for Open
> Educational Resources (OER), which will query SRU services in open
> repositories. I've been trying to write PHP scripts to query SRU services,
> but running into the sand parsing the returned XML. My preliminary question
> is: is this listserv an appropriate place to post technical queries about
> SRU, or is more 'meta'?
>
> The query I want to post is related to, and descended from, a query I
> posted to StackOverflow a while back (
> http://stackoverflow.com/questions/24248429/simplest-way-to-parse-sru-xml).
> The repository I'm wanting to query, in the first instance, is the
> Intralibrary installation at my current institution (SRU service URL:
> http://explor.bcu.ac.uk/IntraLibrary-SRU). An example query I need to
> parse the results of is:
>
>
> http://explor.bcu.ac.uk/IntraLibrary-SRU?operation=searchRetrieve&query=gaelic&version=1.1
>
> If I can get SRU querying of this repository working then it'll be
> applicable to other repositories.
>
> As background, I have experience of learning object repository
> (Intralibrary) administration, and of learning object metadata schemas
> (especially UK LOM Core) and applications. I'm also an experienced PHP
> coder. I've done an awful lot of reading of fine manuals, fora and
> websites. I have a half-decent understanding of XML but am no expert, and
> know nothing at all about XPath and XSLT.
>
> Thanks in anticipation for your tolerance and help :)
>
> Fred
> www.fredriley.org.uk
>
>
>