KMEHR messages are XML messages. Those messages have to be valid with regard to a general XSchema. This XSchema is the core element of the KMEHR norm.
The definition of the norm is completed by additional syntactic rules that are not expressed within the XSchema. Initially, a XSL was provided to check most of those rules. Because this XSL is no longer being maintained, for the time being we have adopted an approach of specification that relies on documentation instead.
Each valid message is thus not necessarily a correct KMEHR message. A KMEHR message must also follow the conventions expressed in the Message Specification description.
Besides those rules, KMEHR intentionally remains an open structure that aims to support the storage, exchange and treatment of structured documents. It should thus be completed by ad-hoc constraints (possibly at each level of the structure) when used for specific purposes such as in a classical web service producer-consumer approach.