SUMMARY: The text below is the basic definition of a lightweight xml-based remote procedure call protocol. It supports complex objects, unicode and type coercion while keeping a very small footprint whenever possible. A - FORMAT DESCRIPTION 1. Server originated commands are sent using a root node. Client originated commands are sent using a root node. 2. Method calls are issued using a c="className:methodName" attribute using the char ":" as separator. 3. simple parameters can be sent using a p="" attribute. For multiple parameters, use a "*" to separate them. 4. More complex parameters should be sent using a sequence of

nodes, which can use CDATA tags for Unicode strings and subnodes for items of a list (array). 5. if the t="" attribute has a value of "a" ( ie, array ), subnodes will be parsed to compose an array object. 6.

nodes and their subnodes ( ) should support type coercion if a t="" attribute is present.Initially only coercion to integer numbers ( t="n" ) should be implemented. EXAMPLES: Example 1. Parameterless method call: Example 2. Call a method with simple parameters: Example 3. Call a method with parameters supporting Unicode and type coercion:

3567

Example 4. Call a method supporting array objects and Unicode and type coercion:

item 1 of the array is a string 456

3567