XML certainly has a data model: a sequence of data content and markup found or implied in a tree of entities of bytes forming characters. Anything else is not "the" Xml data model, but something else: which is not to say it wouldn't be useful.
And the XML Information Set document tried to make explicit what was implicit in the XML spec and the WG/IG discussions: I think John tried hard to capture the concensus. That Xml information could be considered a rooted directed labelled graph with unordered attribute-value pairs and thrownaway bits like insignificant whitespace was bleeding obvious: however 'obvious' is not good enough: some things needed to be spelled out better than the Xml spec did.
Some people use XML as a transfer syntax between different systems, which may have preexisting data models of very different: so I suspect that going data-model-first for XML would have bogged down into the issue the issue of what a minimal universal data model might be. But the issue of "what is a universal data model for interchange" had already been tried (and not thrived) by OMG, and XML was trying to fill that gap and not make the same mistake.
In fact, there was a parallel effort to make a concrete data model for XML as a tree: DOM using OMG's IDL.
SGML had an obscure TR IIRC which gave a version of its infoset, but had not really been useful given the ISO pricing, except to feed into HyTime which XML was in part a backlash against. So I think the mood was to avoid falling into rabbit holes by tackling an achievable solution: subsetting SGML syntax. Subsetting and reformulating the SGML syntax then allowed the same efforts for HyTime and DSSL: Xpath and Xslt and FO tonfall into place.
So I think Michael's comment on data model misses the pulse of technology: that as well as times of planting (where top-down approaches like 'data-model first' are good) there are also times of pruning (where bottom-up 'lets have a strategy for tackling this monster' are appropriate.) XML was not a planting exercise, but a pruning exercise. (Ditto, actually, for JSON.)
Regards
Rick