Quoting Alan Horkan <horkana@...44...>:
Seems odd that such a minor deviation would cause Inkscape to fail. I guess I would have expected the stray ) to simply be ignored.
Presumably this indicates a greater underlying problem?
No, it's working as designed. The XML standard doesn't permit a ) there, full stop. We don't want to enter the morass of permissive-by-default parsing.
Now, what would be nice is if a file fails to load due to invalid XML, the user gets a dialog like this:
-----------------------------------------------
This file is damaged. Do you want to try to automatically repair it? Some data may not be recoverable.
| Cancel | [ Repair Document ]
-----------------------------------------------
..at which point Inkscape would retry parsing the file with a more "permissive" XML parser, and mark the document as dirty when first loaded. Similar actions for other gross violations of validity might be nice too.
One important property of the "permissive parser" would be to preserve anything it doesn't understand as an XML comment (rather than throwing it away), to permit further hand-recovery if the automatic recovery isn't sufficient.
Could someone please capture this in an RFE?
-mental