Patent ID: 8892991

Claim:
An encoder compiler device including a processor which produces an EXI encoder, the EXI encoder generating an EXI (Efficient XML (Extensible Markup Language) Interchange) stream, the encoder compiler device comprising: a first reading unit configured to read mapping information that maps a particular point in a document structure defined by an XML schema to a name of a variable; a second reading unit configured to read a training XML document in which a substitute character string is positioned at the particular point and in which a plurality of tags having at least tag names are included, the training XML document conforming to the XML schema; a parser configured to parse the training XML document to thereby convert the training XML document into a sequence of events each of which specifies one of the substitute character string and the tag names; a third reading unit configured to read an EXI grammar form defining a relationship between an inter-event transition and an EXI event code, the EXI grammar being generated based on the XML schema; and a code composer configured to: (A) sequentially process the sequence of events obtained by the parser in accordance with the EXI grammar to thereby generate EXI event codes; (B) when an event being processed is an event which specifies the substitute character string, generate, based on the mapping information, a function for obtaining and outputting from a storage a value of the variable mapped to the particular point at which the substitute character string is positioned; and (C) produce the EXI encoder by generating and arranging instruction codes based on the generated EXI event codes and the generated function, wherein the generated instruction codes include (i) instruction codes that, when executed by a processor in a second device different from the encoder compiler device, cause the processor in the second device to output the generated EXI event codes and (ii) an instruction code specifying the function that, when executed by the processor in the second device, causes the processor in the second device to obtain and output the value of the variable from the storage which is accessible by the processor in the second device; wherein the processor in the second device, into which the EXI encoder produced by the encoder compiler device is installed, executes the EXI encoder to thereby obtain the EXI stream which is a sequence of the EXI event codes and the value of the variable without using the XML schema, the training XML document, and the EXI grammar, the obtained EXI stream being equivalent to an EXI stream generated by converting, based on the EXI grammar, an XML document in which the substitute character string in the training XML document is replaced with the value of the variable.