It's not going to happen for the same reason a standard 3D format will never happen. (and no neither FBX nor Collada fit). The problem is, at least in the case of image editors (and 3d editors), standard formats arguably stifle innovation because you have to break the standard to add anything. Maybe you decide it would be be better if all vector colors were stored as HSVA instead of RGBA except now no one can read yo…
Wasn't metadata supposed to solve this issue?
If the parsers are only looking for data relevent to them, I see no reason why a standard couldn't be developed.
We also don't typically use HTML as an interchange format between editors.
Well ePub is a zip file of HTML documents. So some people do.
Not really. Not only is EPUB not what I would consider an editor interchange document, but the HTML isn't even the format used for the "core" document file. An XML file with the .opf extension is the "core" file that describes how the EPUB works, and the HTML files are actually just content, analogous to the layer data in Gus's sqlite.
FXG could have solved the single file problem by grouping all the files up and making a zip file, and picking a different extension. For example this is how Android (.apk) and iOS (.ipa) applications are distributed. It also has the advantage that if you extract the zip you can now access whatever pieces are inside as separate files even by tools that don't understand the containing format. (eg a bunch of jpg/png ins…
Does the zip format let you replace an arbitrary file inside an archive without rewriting the whole file? It's not uncommon to see Photoshop files that are 400+ MB, and rewriting the whole file on save would have some pretty poor performance. The other examples of files that use the zip approach are either distribution-only (ipa/apk/jar) or generally don't get very big (word processing).
You can append just fine, and SQLite doesn't let you replace arbitrary content either. If the new content fits within the space of what it is overwriting then all is fine (as with zip), but if there is insufficient space then the new data is written at the end (as with zip). SQLite has a vacuum command which creates a new database only with used content.
XML is a really bad format for containing large chunks of binary data (bitmap)
The XML can store references to the binary chunks in standard formats though, alongside the vector shapes and filters. All that's left is to standardize a way to package it.
Thats actually a good, along with the fake .zip extension.