Issue 127 shows a bug in xmlmap format. This bug can lead to backward
compatibility issues which would not come up when using the json format. It
would be better if xmlmap returned <number> elements consistent with JSON
specification (instead of separate <int> and <float> types).
Original issue reported on code.google.com by rygielski on 17 Jul 2012 at 10:17
Okay, "xmlmap" format is now deprecated. The sole reason for that is the
int/float inconsistency with JSON. As JSON is the primary OKAPI output format
and we often test new OKAPI methods using JSON only, this inconsistency can
lead to backward-compatibility issues, as the one demonstrated in issue 127.
The revised "xmlmap2" format doesn't suffer from the int/float inconsistency
issue. Additionally, we added some more improvements over the old format:
- "xmlmap2" is more compact and more readable than "xmlmap".
- "xmlmap2" XML element names are consistent with JSON datatypes specification
(http://json.org/), whereas "xmlmap" element names were more "pythonic"
(datatypes used in Python programming langugage).
Full list of changes:
- Both "int" and "float" datatypes were replaced by "number". Number should be
parsed as integer or floating point number, according to the proper method
- "list" is now "array". "array" does not include separate "item" subelements
to enclose each of its children, all child elements are placed directly as the
children of the "array" element.
- "dict" is now "object". "object" does not include separate "item" subelements
to enclose each of its key-value pairs, all value elements are placed directly
as the children of the "object" element. Each of the object's children gets an
additional "key" attribute.
Original comment by rygielski on 18 Jul 2012 at 2:39
This issue was closed by revision r409.
Original comment by rygielski on 18 Jul 2012 at 3:24
If your app uses "xmlmap" format, then you don't need to worry. The old
"xmlmap" format will keep working as usual. We deprecate it simply because it's
not as safe as the new one.
Original comment by rygielski on 18 Jul 2012 at 3:32