On Thursday, 22 August 2013 at 19:53:53 UTC, Jacob Carlborg wrote:
On 2013-08-22 21:30, ilya-stromberg wrote:
What about more difficult cases?
No it can't. It will throw an exception because it cannot find
a "long" element:
Could not find an element "long" with the attribute "key" with
the value "b"
It's a serious issue. May be it's more important than range
support. For example, I have to change class (bug fixing, new
features, etc.), but it comparable with previos version (example:
it's always possible to convert "int" to "long"). I that case I
can't use std.serialization and have to write own solution (for
examle, save data in csv file).
The easist way to fix it - store Interface Definition of the
serialized data (should be generated automaticly). For example,
we can use XML Schema for Xml Archive. With Interface Definition
we can find changes and try to convert data to new format.
Note that glycerine also put your attention to this point:
http://forum.dlang.org/post/kftlfwcyughhghewq...@forum.dlang.org
1. Interface Definition Language (IDL): required or not? If
not, how do know the details of what to serialize. If not, how
do you handle/support data versioning? If not, how do you
interoperate without another language? If yes, which types are
supported and what is the syntax and grammar of the IDL?
Ideas?