18. A system including: a non-transitory computer-readable medium storing a program; and an Efficient XML Interchange (EXI) schema encoder including a processor configured to execute the program, the program configured to cause the processor to execute a method of reducing the size of a simpleType element in an Efficient XML Interchange (EXI) schema document, the method comprising: modifying each simpleType element in an XML Schema Definition (XSD) document by eliminating one or more facets from each simpleType element; encoding the XSD document into an EXI schema document by transforming each modified simpleType element in the XSD document from an XSD simpleType element with start and end tags to an encoded EXI simpleType element expressed as a sequence of bits, the encoding including, for each modified simpleType element, encoding the following fields into a single fixed-length auxiliary field: a variety field for a union or list variety simpleType element; a variety field, an enumeration presence field, an ancestry identifier field, and a pattern presence field for a boolean atomic variety simpleType element; a variety field, an enumeration presence field, an ancestry identifier field, a whitespace field, and a restricted characters field for a string atomic variety simpleType element; a variety field, an enumeration presence field, an ancestry identifier field, an integer width field, and a minInclusive pointer field for an integer atomic variety simpleType element; or a variety field, an enumeration presence field, and an ancestry identifier field for any other atomic variety simpleType element.
20. The system according to claim 18 , wherein the auxiliary field has a length of 4 bytes and includes: a 2-bit variety field for a union or list variety simpleType element; a 2-bit variety field, a 1-bit enumeration presence field, a 5-bit ancestry identifier field, and a 1-bit pattern presence field for a boolean atomic variety simpleType element; a 2-bit variety field, a 1-bit enumeration presence field, a 5-bit ancestry identifier field, a 2-bit whitespace field, and an 8-bit restricted characters field for a string atomic variety simpleType element; a 2-bit variety field, a 1-bit enumeration presence field, a 5-bit ancestry identifier field, a 8-bit integer width field, and a 16-bit minInclusive pointer field for an integer atomic variety simpleType element; or a 2-bit variety field, a 1-bit enumeration presence field, and a 5-bit ancestry identifier field for any other atomic variety simpleType element.