SyncML
SyncMLは、以下のように要求と応答のコマンドを交換することで機能する。
携帯機器が、Alertコマンドを送信し、更新のみの同期を開始したいことを伝える
コンピュータは、Statusコマンドで要求を受け入れる応答をする
携帯機器が、1つ以上のSyncコマンドを送り、各コマンドにはAddサブコマンドで電話帳エントリなどの追加項目が含まれる。エントリ数が多い場合は、<Final />タグは含まれない。
<Final/>タグが含まれなかった場合、コンピュータは適切なAlertメッセージの続行を要求し、携帯機器は別の項目を送信する。もしくは、コンピュータはStatusコマンドですべてのデータを受信したことを確認する。
コマンド(Alert、Sync、Statusなど)はメッセージにグループ化される。各メッセージとその各コマンドには識別子があるため、MsgID、CmdIDのペアがコマンドを一意に決定する。 Statusコマンドなどの応答には、コマンドを識別するペアが続く。
コマンドの前に、メッセージにはトランザクションに関するさまざまなデータを指定するヘッダーが含まれる。前の例のように、更新同期を開始するためAlertコマンドを含むメッセージの例は次の通りとなる。
コンピュータからの応答は、次のようなxmlドキュメントとなる(説明のためにコメントが追加されている)。