I once tried to understand the challenges of mixing XML documents by making an analogy to cooking. Is the analogy any good?
Perhaps the most interesting questions for the data architecture come up in determining the assemblies of XML objects. The relevant theory/practice with respect to XML comes down to the question of what kind of composition/assembly frameworks are there in the XML world to work with. (Has a complete solution been worked out? For instance, RDF has within its structure collections of resources -- ordered, unordered, etc. How about hierarchical assemblies, graphs of atoms, etc?) Even more interesting is the scenario of blending various XML formats. What best practices are there for doing that? One can certainly make an ordered (or unordered) list of various XML chunks into a bigger XML chunk. A possibly apt analogy is the difference among various forms of cooking. In a tossed salad, all the ingredients can come together and still preserve their separate identities while forming a greater whole. The other extreme is something like baking -- where many of the ingredients become essentially unrecognizable. Sometimes, we want to bring our XML pieces together as in a salad; other times, one wants to dissolve all the boundaries among the elements, make them react in various chemical reactions to form something quite new. How will the universal canvas handle both salad-making and baking? Assuming a simplification that there are going to be indivisible, atomic chunks that do not lose their identities -- then the problem simplifies (if one can call the resulting problem simple!) to just the rearrangements that are possible -- with no chemical reactions.