This document explores the possible xml protocols - advantages and inconvenients - which should support the functionalities :
This study will take a close look at the following aspects of the design :
Each Command is written/read as an xml document.

| user interface | output | simple push interface |
| input | simple pull interface | |
| Reader/Writer support | file | ok |
| socket | Reader is closed at end of xml document | |
| xml compliance | one Command per xml document | |
| external xml framework integration | very easy | |
| problems | one Command per file for file IO | |
| proxy Reader to disable close at end of document | ||
A command set is written as a whole xml document.

| user interface | output | not straight-forward to write a single Command |
| input | no demultiplexing | |
| Reader/Writer support | file | ok |
| socket | Reader is closed at end of xml document | |
| xml compliance | ok | |
| external xml framework integration | very easy | |
| problems | amount of xml involved in protocol compared to usefull data | |
| proxy Reader to disable close at end of document | ||
Basically the same as document xml with a demultiplxeing occuring on Input and modifying the user interface.

| user interface | output | not straight-forward to write a single Command |
| input | push interface | |
| Reader/Writer support | file | ok |
| socket | Reader is closed at end of xml document | |
| xml compliance | ok | |
| external xml framework integration | easy | |
| problems | amount of xml involved in protocol compared to usefull data | |
| proxy Reader to disable close at end of document | ||
Commands are xml nodes of a root node called 'transmission' defining a single xml document.

| user interface | output | close() may be forgotten |
| input | push interface | |
| Reader/Writer support | file | ok |
| socket | ok | |
| xml compliance | ok | |
| external xml framework integration | tricky, mapping required | |
| problems | user output interface not very clean | |
| external xml framework integration | ||