Removing the optional attribute "resource" in both "source" and "destination" elements (affects DiGIR?).
Removing the "destination" element (affects both).
Allowing multiple "source" elements to be able to track each address in the process, and incorporating the "sendTime" element as an attribute of "source". However, intermediaries don't need to stamp a source element - it's an optional behavior (affects both - related to new BioCASE? proposal).
Making the address ("accesspoint") an attribute of "source", not its content. In responses from a datasource, the address should be the exact accesspoint of the datasource (affects both).
Including an optional "software" attribute inside the "source" element which should hold the name and version of the software used. More detailed software descriptions can be specified in the capabilities reponse (affects both).
remove the "type" element and only use the immediate element after "header" to determine the type of requests/responses.
Moved elements minQueryTermLength, maxSearchResponseRecords, maxInventoryResponseRecords to the CapabilitiesRequest.
Removed recordBasis and recordIdentifier elements.
Changed useRestrictions to a generic "rights" element (equivalent to previously suggested IPR and to a Dublin Core element). Accepts xml:lang attribute.
Provider metadata is now a datasource relatedEntity.
Datasource name renamed to label and accepts xml:lang attribute.
Keywords element accepts xml:lang and has maxOccurs unbounded.
Citation is an element (with maxOccurs unbounded and xml:lang).
Conceptual schema needs an associated schema location in its content.
Made dateLastUpdated and numberOfRecords as an attribute part of the conceptual schema element.
Datasource has a list of related entities.
Each entity accepts a list of names (xml:lang), a list of roles (with controlled vocabulary defined by networks), a logo url, a description (xml:lang), an acronym and related information links.
If values of related entities come from a local cache, we recommend a diagnostics warning in responses.
Open Issues:
Each entity needs a GUID.
Included "language" element related to the datasource content (from Dublin Core).
Included generic multiple element typeOfContent. Networks should agree on a controlled vocabulary. (equivalent to Dublin Core "type" element).
Including a list of conceptual schemas being used (and all mapped concepts) and incldue capabilities for each schema:
Including a list of request methods supported.
Including a list of local settings (minQueryTermLength and a generic maxResponseSize substituting maxSearchResponseRecords and maxInventoryResponseRecords).
Optionally including a more detailed list of software in the response.
Including supported operators separated by categories.
adding a new unary logical operator called "not" (affects DiGIR?).
adding a new unary comparative operator called "isNull" (affects DiGIR?).
dropping the operators "orNot", "andNot" and "notEquals" (affects both).
dropping the operator "isNotNull" (affects BioCASE?).
Additional enhacements to operators:
allow comparative operators to compare any 2 expressions, which can be made of literals (values) or concepts. This would allow to compare 2 concepts also instead of the current restriction to compare a concept with a literal only.
allow functions.
change maxOccurs of LOPs to unbounded (affects both).
Use the same way to call providers:
Using a single POST or GET parameter called "request" which contains either the XML message or an URL pointing to the XML message.
Changes in filters:
allow search requests without filters (affects both).
evaluate to false if concept is not mapped but compared.
always insert info/warn diagnostic if unmapped concept encountered in request.
How should we deal with NULL values when producing responses? NULL is non existing informaion and the element containing a NULL value should therefore be dropped and not be part of the response.