A few questions about the specs...

I'm confused about the //explain/serverInfo/database element and its
meaning(s).  My questions are based on confused readings of documents on
the official ZNG SRW/U site and the DTD "commentary".
And, obviously, no small measure of ignorance (impatience?) on my part.

First, the overloaded meaning that:

 - if it's Z39.50, "database" means the name of the database, but
 - if it's not Z39.50, "database" *may* mean the url path to the
   query script particularly confusing and the documentation itself doesn't make
things clearer.  Might there instead be two elements, "database" and
"script path", that unambiguously define each, with each being optional?

Second, may the serverInfo element repeat?  If not, and you
provide separate paths to both SRU and SRW (say,
and, as an example), is the answer to say
serverInfo[@protocol='SRW/U'] and then to duplicate the database element
with one path for SRU and another for SRW?  Hopefully not. :)

The Zeerex commentary and overview docs at do
not indicate whether serverInfo may repeat (I think), and the DTDs
listed as the "current version" in section 2 at lead to 404 errors.  Assuming the most
recent "older version" from section 3 on the same page, DTD v2.0, is
either the most current or close to it, the DTD itself seems to
indicate that serverInfo must appear once, and cannot repeat.

This kind of issue is getting in the way of knowing how to implement
my own service properly, and surely it makes it more difficult to know
how to implement a compliance testing service such as the one Ralph has
kindly shared.

Separately, is the scan action required for base-level compliance?
There is no mention of it on the "Base Profile" page at:

Thanks, -Dan

Daniel Chudnov
Yale Center for Medical Informatics
(203) 737-5789