Rich Salz wrote
> The API implementation can then uncompress.
Certainly, but the API change has still altered the format of the web page or
document sent over the wire. Representing XQJ queries as abstract syntax trees,
instead of as query strings, has a similar effect on the wire format.
> In this example it's kinda silly, but there is no *requirements* that an API
expose wire protocol details.
When creating high level APIs, it's certainly not a design goal to expose lower
level details.
In theory XQJ and JDBC provide a layer of abstraction over the network
transport. In practice, altering an API (such as changing the type of arguments)
can have side effects that ripple down to lower levels (such as the format of
messages).