Efficient XML (EFX) Evaluation

This document evaluates Efficient XML with respect to the XML Binary Characterization Properties identified by the XML Binary Characterization Working Group. Efficient XML is a very compact, high performance, general purpose binary XML format that satisfies W3C requirements. Efficient XML increases the performance of existing XML applications and enables a new range of XML applications for small, mobile and embedded systems with limited bandwidth, memory, processing power and battery life. It has been used on a wide range of platforms, including mobile phones, PDAs, application servers, message routers, vehicles, aircraft and satellite broadcast systems. More information can be found at http://www.agiledelta.com.

Property

Efficient XML

Notes

MUST support

Directly Readable and Writable

Yes

Current implementations read and write Efficient XML streams directly via standard XML APIs, such as DOM, SAX and StAX. Current implementations also support typed APIs for increased performance.

Transport Independence

Yes

Efficient XML is currently being used over TCP, UDP, HTTP and various wireless and satellite transports.

Compactness

Yes

Efficient XML performs well within the W3C required thresholds for compactness. When schema optimizations are used, Efficient XML is competitive with hand-optimized binary formats and is generally smaller than ASN.1 PER. When compression is used, Efficient XML is consistently smaller than gzip. For large, repetitive documents where gzip works well, it is not uncommon for Efficient XML to be 2-5 times smaller than gzip.

Human Language Neutral

Yes

Current implementations support all standard character set encodings.

Platform Neutrality

Yes

Java and .NET implementations exist for UNIX, MS-Windows and various mobile devices. Java -- .NET interoperability has been tested for hundreds of use cases using thousands of instance documents.

Integratable into XML Stack

Yes

Efficient XML was designed to integrate well into the XML stack, neither duplicating nor requiring changes to functionality at other layers in the XML stack. It implements the same functionality as text XML and supports the same interfaces as existing XML parsers and serializers. As such, it can be inserted into existing XML applications with minimal time and cost. The decision tree used in the XBC characterization document to identify properties that support interoperability with the XML stack was derived from the Efficient XML designs.

Royalty Free

Yes

AgileDelta is contributing Efficient XML to the W3C as a royalty-free standard.

Fragmentable

Yes

Efficient XML can represent any collection of XML fragments extracted from any collection of XML documents. All schema optimization, bit-packing and XML compression algorithms apply equally to fragments.

Streamable

Yes

 

Roundtrip Support

Yes

Efficient XML supports lossless equivalence for PSVI, Info-set and lexical applications, such as XML Digital Signatures

Generality

Yes

19 of 20. Efficient XML is being used for a very broad range of applications, including those that can & can’t leverage schemas, can & can’t leverage compression and do & don’t preserve whitespace, comments, etc. Efficient XML meets the needs of applications previously requiring hand-optimized binary formats and exceeds the needs of applications previously using gzipped XML. Efficient XML includes very effective and flexible schema optimizations that enable a broader range of applications to take advantage of schema optimizations (see below). Efficient XML can be extended to achieve a score of 20, but this will only be interesting if and when standard XML APIs exist that preserve e.g. single-vs-double quoted attributes and binary XML use cases exist that require this level of fidelity.

Schema Extensions and Deviations

Yes

Efficient XML includes very effective and flexible schema optimizations that support arbitrary schema extensions and deviations. Applications may specify strict or extensible schema handling and may provide a full schema, partial schema or no schema at all. Efficient XML will leverage available schema information to improve compactness and performance, but does not depend on the accuracy or completeness of the schema to work.

Format Version Identifier

Yes

 

Content Type Management

Yes

Efficient XML is being used in various contexts, some which use a media type and some which use content encoding.

Self Contained

Yes

When schema optimizations are not used, Efficient XML documents are always self-contained. When schema optimizations are used, it is possible to embed a schema in the Efficient XML header; however, for most scenarios more efficient mechanisms exist for schema acquisition.

MUST NOT Prevent

Processing Efficiency

Does Not Prevent

Current implementations achieve performance several times faster than XML using both in-memory tests and more realistic scenarios that involve file and network IO. These implementations do not depend on compile-time schema-binding techniques that make dynamically acquiring, loading or updating schemas impractical or impossible.

Small Footprint

Does Not Prevent

Implementations exist for a variety of small, mobile devices.

Widespread Adoption

Does Not Prevent

 

Space Efficiency

Does Not Prevent

Based on implementations for small, mobile devices

Implementation Cost

Does Not Prevent

Where possible, Efficient XML reuses existing technologies that can be implemented using open source software libraries

Forward Compatibility

Does Not Prevent

 

AgileDelta, Inc. would like to acknowledge and thank the Air Force Research Laboratory (AFRL), Air Force Command, Control, Intelligence, Surveillance and Reconnaissance Center (AFC2ISRC) and U.S. Navy Space and Naval Warfare (SPAWAR) systems center for funding portions of the Efficient XML research and development.