you write: "This idea comes straight out of JSON of course. It's a major difference between XML and JSON that has gone almost unnoticed." And from the context I take that you mean the absence of node identity and parent relationship.

I thought that "node", "node identity" and "parent pointer" are aspects of the data model, without reference to syntax. One can model XML-represented data without nodes or with parent-less nodes, and one can model JSON-represented with nodes which have a parent.

So when you say "difference between XML and JSON" you seem to refer to a JSON data model - which one is it? (And for what reason is it "the" model of JSON, rather than a model?)