At 09:47 AM 12/23/2003 -0500, Ray Denenberg wrote:
>I don't have a preference on this issue, but the discussion leads me to want
>there to be a more formally defined syntax than what's at the current draft
>version of the 1.1 SRU definition,
>http://www.loc.gov/z3950/agency/zing/srw1-1/sru.html, perhaps a bnf, or at
>least prose that specifies more rigorously what we mean by a base url, and
>what delimits it. Someone want to draft something?
One can start by citing relevant Internet conventions. RFC 1738 (1994)
defines four parts for URL's having an "http" scheme designator (host,
port, path, and searchpart):
An HTTP URL takes the form: http://<host>:<port>/<path>?<searchpart>
where <host> and <port> are as described in Section 3.1. If :<port>
is omitted, the port defaults to 80. No user name or password is
allowed. <path> is an HTTP selector, and <searchpart> is a query
string. The <path> is optional, as is the <searchpart> and its
preceding "?". If neither <path> nor <searchpart> is present, the
"/" may also be omitted. Within the <path> and <searchpart>
components, "/", ";", "?" are reserved. The "/" character may be
used within HTTP to designate a hierarchical structure.
In RFC 1738 terms, an "SRU base-url" can be defined as the string
formed by truncating an HTTP URL before the "?".
The next thing to note is that an SRU query string is required to
conform to the HTTP/CGI convention for expressing parameters. In
CGI convention, parameters are delineated by an "&" and each parameter
has the structure "key=value". SRU should enjoin servers to forgive
a missing "&" in a query string, as is customary. SRU should also
note that the order of parameters is not significant.
Eliot