16. A method, implemented at least in part by a computing device, for joining extensible markup language (XML) documents, the method comprising: for each of two XML documents, calculating a comparison value between elements to be compared for an XML join, wherein the two XML documents are at a different location connected via a network; for each of the two XML documents, compensating for depth of the elements to be compared by adjusting the comparison value based on the depth of the elements to be compared; obtaining, from a first XML document of the two XML documents, join-selection elements, wherein the join-selection elements are a subset of elements in the first XML document, and wherein the first XML document has a lower depth-compensated comparison value than the other of the two XML documents; transmitting, from a location of the first XML document to a location of the second XML document via the network, the join-selection elements; using the join-selection elements at the second location, obtaining join-required elements from a second XML document of the two XML documents, wherein the join-required elements are required to perform an XML join between the first and second XML documents; transmitting, from the location of the second XML document to the location of the first XML document via the network, the join-required elements; and performing the XML join at the first location using the elements in the first XML document and the join-required elements from the second XML document.
16. A method, implemented at least in part by a computing device, for joining extensible markup language (XML) documents, the method comprising: for each of two XML documents, calculating a comparison value between elements to be compared for an XML join, wherein the two XML documents are at a different location connected via a network; for each of the two XML documents, compensating for depth of the elements to be compared by adjusting the comparison value based on the depth of the elements to be compared; obtaining, from a first XML document of the two XML documents, join-selection elements, wherein the join-selection elements are a subset of elements in the first XML document, and wherein the first XML document has a lower depth-compensated comparison value than the other of the two XML documents; transmitting, from a location of the first XML document to a location of the second XML document via the network, the join-selection elements; using the join-selection elements at the second location, obtaining join-required elements from a second XML document of the two XML documents, wherein the join-required elements are required to perform an XML join between the first and second XML documents; transmitting, from the location of the second XML document to the location of the first XML document via the network, the join-required elements; and performing the XML join at the first location using the elements in the first XML document and the join-required elements from the second XML document. 18. The method of claim 16 wherein the join-selection elements are adjusted by eliminating redundant elements.