An XML join between XML documents can be performed by comparing XML elements between the XML documents, obtaining join-selection elements from a first XML document, obtaining join-required elements from one or more other XML documents, and performing the XML join using the elements in the first XML document and the join-required elements. The XML documents can be at different locations connected via a network. Where two XML documents are at different locations, the join-selection elements can be transmitted from a first location (of a first XML document) to a second location (of a second XML document). The join-required elements can be obtained at the second location and transmitted back to the first location. The XML join can then be performed at the first location.