Contents:

Implementation Rules and Guidance

Requirements

Conforming implementations are required to support the following features:

Required features

  1. Version number
    All e-NON streams must begin with the e-NON version number.

  2. Single top-level element
    The primary use case for e-NON is single (possibly compond) elements wrapped in a higher level container that provides features such as authentication, flow control, etc. This is analogous to the use of JSON whcih only supports a single root element.

(top)

Recommendations

  1. Backward compatibility with older format versions is optional. Future e-NON design updates should avoid breaking changes to the spec whenever practical.

(top)

Allowances

  1. Implementations may reject (fail) any e-NON stream containing unsupported features.

  2. Implementations may arbitrarily set limits on sizes and/or durations for data that can be read or written. These may be fixed values or user configurable.

  3. Errors may be reported in anyway that makes sense for the implementation language and/or environment. Exceptions, logging, and event notifications are all viable options.

(top)

Implementation Notes

  1. Implementations should emit top level entities using a subscribable stream.

  2. There is no undefined type or value in e-NON. A field with an undefined value will not appear in the e-NON stream.

(top)