A versionable schema is both backward-compatible and forward-compatible. Such a schema is able to receive data expected by multiple versions of the schema; tolerates the absence of optional data, in accordance with other versions, and accept wildcard data in accordance with still further versions. Thus, a message or message may be validated by the versionable schema.