XML is labelled tree, a special case of graphs. So, why there are separate XML databases and why is it that XML is not stored in graph databases? At a first glance it seems so easy - one should map XML parsing and storing operations to graph database insert/update operations and one should translate XQuery queries to the Gremlin queries. There could be small layer that can convert every graph database into XML database. It seems so easy and self-evident. But, as far as I have searched the Web, there is no such layer. All the XML databases are not just layers atop graph database, they are standalone projects.
This question about differences between XML and graph databases is even more actual when one observes that there are just few (unconvincing) open source XML databases whose scalability can be an issue (and there is one very reliable commercial XML database - Clusterpoint, I guess that BaseX is the most serious open source XML database) but there are several very scalable and serious graph databases (e.g. JanusGraph). So, maybe creating the mentioned layer atop a scalable open source graph database is the viable path to create scalable open source XML database?
Generally, do graph and XML databases use completely different algorithms in their implementation? What makes them different and why can one not consider/implement an XML database as just a specialization of the graph database?
I am asking just about general concepts and about names of algorithms, no specifics are required.