Thema: interoperability
-
Fallstricke bei JSON-Zahlen: Integer jenseits von 2^53, NaN und Infinity sowie exakte Dezimalzahlen
RFC 8259 überlässt die Zahlengenauigkeit den Implementierungen und verbietet NaN und Infinity; I-JSON (RFC 7493) empfiehlt, innerhalb von IEEE 754 binary64 zu bleiben und alles Grössere, etwa 64-Bit-Integer, als Strings zu codieren. Pythons json-Modul gibt standardmässig NaN aus, und JavaScripts JSON.stringify macht daraus null; interoperables JSON braucht deshalb explizite numerische Verträge pro Feld.
-
XML heute: wohlgeformt versus gültig, Namensräume, und wann es weiterhin die richtige Wahl ist
Ein wohlgeformtes XML-Dokument hält sich an die Syntax; ein gültiges erfüllt zusätzlich eine DTD oder ein Schema. Namensräume geben jedem Element und Attribut einen erweiterten Namen aus Namensraum-URI plus lokalem Namen, gebunden über xmlns-Deklarationen, deren Präfixe beliebig sind und deren Standardform nicht für Attribute gilt. XML bleibt die richtige Wahl für Dokumente mit gemischtem Inhalt und für Ökosysteme, deren Vokabulare und Werkzeuge bereits auf XML beruhen.
Maschinenlesbar: JSON