2 things. Firstly, somewhere in the documentation we should be more explicit about where namespace mappings need to go for the elements from records. In particular, that any namespaces for elements in recordData need to be mapped in those elements, rather than in the wrapper. For example: <srw:explainResponse xmlns:zrx="http://explain..../" xmlns:srw=..."> ... <srw:recordData> <zrx:explain> ... is bad but still legal XML. Bad because once you extract the record from the SRW wrapper, it loses the namespace definitions. Especially bad if it's returned as a string rather than embedded XML as the namespaces certainly won't have filtered down. Secondly, Theo, your explain response isn't valid. You have indexSet where it should be set, both for attributes and elements. Also you need to give identifiers for your context sets. Eg, you have: <indexSet name="kb"/> which should be: <set name="kb" identifier="http://krait.kb.nl/theo/set/1"/> or similar. And then <name indexSet="kb"> should be <name set="kb"> And ... why do you have kb.title and kb.author anyway? Surely these are just dc.title and dc.author using 'exact' rather than a word relation? Thirdly, you should update the dc identifier to the 1.1 version. ("info:srw/cql-context-set/1/dc-v1.1") Rob (As is probably obvious, I'm working on a ZeeRex registry, hence finding lots of implementation issues) -- ,'/:. Dr Robert Sanderson ([log in to unmask]) ,'-/::::. http://www.o-r-g.org/~azaroth/ ,'--/::(@)::. Special Collections and Archives, extension 3142 ,'---/::::::::::. University of Liverpool ____/:::::::::::::. I L L U M I N A T I L5R Shop: http://www.cardsnotwords.com/