[XML-SIG] Anything else to go in?
Andrew M. Kuchling
Fri, 16 Oct 1998 19:08:39 -0400 (EDT)
Ken MacLeod writes:
>The LDOBinary module was implemented as much by empirical testing as
>by reading pickle.py and others, so I'm not sure how much I can help
>with a truly lossless implementation :-). I have a good feel for the
>pattern I described above so I can help make sure what we come up with
>is consistent with that. Let me know what you'd like me to do.
Well, the simple types such as integers and floats are easy.
They're fairly similar across languages; one might worry about
different integer sizes and FP precisions, but the unmarshalling code
might simply implement a "best effort". For example, on a 64-bit
platform you might generate <value
type="integer">18014398509481984</value>, which won't fit in a 32-bit
integer; a 32-bit platform confronted with this would have to deal
with it by converting to a long or BigInteger or whatever. I'll
proceed for now with "integer", "long", "float", "complex", "string",
and see how that goes, but perhaps the type attribute should have
values like i32/i64, instead, and be more precise about the limits.
Objects are a whole other kettle of fish. In Python they
could basically be dictionaries mapping from attribute -> value. But
how would one specify the class of the object? In Python there's an
attribute called __class__, but that shouldn't creep into LDO.
A.M. Kuchling http://starship.skyport.net/crew/amk/
Errors using inadequate data are much less than those using no data at all.
-- Charles Babbage