[Net-z3950] elementSet and XML record syntax

Sigfrid Lundberg sigfrid.lundberg at lub.lu.se
Thu Jun 17 13:55:43 CEST 2004

On Thu, 17 Jun 2004, Mike Taylor wrote:


> Hi Sigfrid, good to hear from you.

:-) Soon holiday, then you won't hear from me. I like holidays even more
than digital libraries, these days. Might have something to do with age.

> I am sorry if I am being dense, but I don't understand what you're
> actually asking for here.  Element-set "f" conventionally means "give
> me everything", so for an XML database, you'd typically get back the
> records as they were added.

My question isn't as deep as it might have sounded

I know one striped ungulate (idZebra) that requires me to add
configurations for Element-set f, or it'll produce an error. The problem
arises when I'm not using any particular profile. I suppose that zebras
handling of XML file collections isn't as orthodox as the bath profile or
anything like it.

The problem might not be in Net::Z3950...

I was searching a TKL database (actually I was trying to debug it), and to
that end I wanted to retrieve its content from a perl program and make
some analyses. And there is no way to tell Zebra to use element set 'f'
for its 'link', 'news', 'document' kind of records. So I just want to be
able to switch of that altogether (there does not seem to be a need for
that in php-yaz.

> Is your problem that there is no standard definiton of what
> element-set "b" means across XML records of different schemas?  But
> that is a profiling issue.  So, for example, when the Bath Profile's
> Appendix B at
> 	http://www.collectionscanada.ca/bath/tp-bath2.28-e.htm
> defines a DTD for Dublin Core XML records to be returned from
> Bath-compliant servers, it should also specify what subset of that
> record is implied by the element-set "b".

This is interesting, what an element set should mean in a system using XML
record syntax. I think it has been discussed in the ZIG-list once. One far
too simplistic way of thinking would be to return marc 21 XML if element
set is 'f' and bath dtd XML if it's 'b' ;-)

I'd love to see a server that would accept a piece of xslt rather than
'B's or 'F's. Then I could taylor my retrieved object server side and
avoid transmitting things I'll throw in the bin anyway. Would be faster to
do this server side, and the xslt could be made indivudually for each
query. I'd love that myself (but wouldn't love to open this facility on my
server for just any one out there).

But this is something entirely different.

> What exactly do you think the Net::Z3950 moduile should be doing about
> this?

Behave more like php-yaz in that it doesn't ask for any specific element
set unless told to do so.

$rs->option("elementSetName" => undef);
print $rs->option("elementSetName");

prints a 'B', and will ask for brief records, which Zebra cannot provide
in the database I've got.


More information about the Net-z3950 mailing list