In relational databases, the use of primary keys and foreign keys are commonly used to link records across different tables. I'm wondering if I can do the same sort of thing with XML documents. That is, I would like one XML document to contain an element whose value 'points to' the 'primary key' or something similar (maybe the root node?) of a second XML document. The idea is, it would be a reference (kind of similar to a foreign key) to the second document.
My motivation for this is I don't want to store all the content in a single file/document (for many reasons, including data redundancy) but rather in separate files. This link more or less describes what I'm trying to accomplish and suggests some alternatives, but it is restricted to having all the content in a single file (which I don't want to have).
Maybe the hierarchal nature of XML is just too different from a relational database that what I'm trying to do doesn't make sense.
Assuming there is a way to do this, by first preference would be to have a solution that uses XML standards of some variety. Ideally, this would also result in some tooling support (in my case, in an XML editor in Visual Studio would be the ideal case). Failing a standards based solution, if there is a "Microsoft solution" to the problem that would be okay as well. Finally, if no standard or MS solution exists, I would be curious to hear thoughts on a custom solution (or even feedback saying what I'm trying to do just isn't going to work).
Thank you!