Arvola,
You've described the distinction between the CPA and the message format
quite well. Unfortunately, the document remains unclear in a closely
related area: It doesn't tell anyone what should be in a message if the CPA
says duplicateElimination="always". Ignoring the confusion between
describing the semantics of a core module in the Additional Features part of
the document, section 7.4.1 doesn't include Dan's good words about how the
CPA and message instance should be compared. Of course, these words should
be changed to reflect our later decision avoiding "idempotent" in the
document.
Dan's message may be found at
http://lists.oasis-open.org/archives/ebxml-msg/200111/msg00195.html
With this addition, we'd describe how both duplicateElimination="never"
(already in the document) and duplicateElimination="always" drive the
Sending MSH. Both would result in direct control of the
DuplicateEliminiation element in the message and result in Inconsistent
errors when that control is ignored. At the moment, a Receiving MSH has the
option (a poor word meaning interoperability problem) of checking the CPA or
always not doing duplicate elimination when DuplicateElimination is not
present. A Sending MSH has the option of including or leaving out the
DuplicateElimination element when the CPA says "always". Our document
should specify one approach and avoid the two MSH having to come to yet
another agreement.
thanx,
doug