JBoss.orgCommunity Documentation

Chapter 1. Introduction to xcap-diff Protocol

XCAP stands for Extensible Markup Language ( XML ) Configuration Access Protocol. It is used to read, write and modify documents published on XCAP enabled servers. Such servers maintain said documents along with list of clients subscribed to the changes. Each change to document on server requires server to notify registered( subscribed ) clients. In simplest scenario, client, after it has been notified, rereads whole document from server with XCAP call. However this is inefficient since documents may be big, client may be interested only in part of the document - in particular cases change to that part may not happen. Moreover, frequent pulls on XCAP resources, increase dramatically amount and size of network traffic.

To counter this problem xcap-diff has been created. It is augmented version of XML Diff . In general , diff function allows server to generate difference patch and send to clients only changed content, and only in cases when client is interested in change. This approach reduces not only traffic content size, but also number of messages exchanged between server and registered clients.

The xcap-diff generates minimal difference patch between two documents or their elements based on part to which client subscribed. Generated patch can be applied to not changed document(ie. at client side) in order to have identical document as one from which patch has been generated.