There are a number of specifications that address linking in JSON:
* JSON-LD http://www.w3.org/TR/json-ld/
* HAL https://tools.ietf.org/html/draft-kelly-json-hal-06
* Siren https://github.com/kevinswiber/siren
* Uber https://rawgit.com/uber-hypermedia/specification/master/uber-hypermedia.html
Totally agree on the points against making up a field / format. Using standards where you can is a great way to bring familiarity & common tooling into your APIs. But don't focus too much on XML vs. JSON, use what you need / want, you can find a standard to support it.
One document must be able to link to another.
> Is there a predefined way to deal with it in XML?
Yes, Xlink:
http://www.w3.org/TR/xlink11/
> In the earlier example, I had assumed he did exactly what you would do in JSON: make up a field for the purpose.
The problem with this is that it's non-standard and nothing understands it that isn't custom-written for that particular API.
> Though, honestly, that would seem to be the purpose of the "Link:" header.
Yes and no. Although the Link header is useful, it's not part of the document, it's a transport layer header. REST is transport-layer neutral.