Snap! XML schema?

I've been working on an external tool that needs to parse the XML file exported by a Snap! save, but I can't find any documentation on how the file is structured. Is there something like that, or do I need to read the whole (painfully) es3 serialization code?

If you look at a project file, I think you can figure out how it's structured. Just use this tool to format it so it's much more readable (just make sure to remove <?xml version="1.0" encoding="UTF-8"?> if you still want to load the file.

or, just open a project XML file in a browser tab, it'll layout very nicely without needing any external tool.

I guess that's an option.

how can I be sure I'm covering every option thoroughly?

You could make a project with every option.