Tema: interoperability
-
Trampas de los números en JSON: enteros mayores que 2^53, NaN e Infinity, y decimales exactos
RFC 8259 deja la precisión numérica en manos de las implementaciones y prohíbe NaN e Infinity; I-JSON (RFC 7493) recomienda ceñirse a IEEE 754 binary64 y codificar como cadenas todo lo que lo exceda, como los enteros de 64 bits. El módulo json de Python emite NaN por defecto y JSON.stringify de JavaScript lo convierte en null, por lo que el JSON interoperable necesita contratos numéricos explícitos por campo.
-
XML hoy: bien formado frente a válido, espacios de nombres y cuándo sigue siendo la opción adecuada
Un documento XML bien formado cumple la sintaxis; uno válido, además, satisface una DTD o un esquema. Los espacios de nombres dan a cada elemento y atributo un nombre expandido formado por el URI del espacio de nombres y el nombre local, enlazado mediante declaraciones xmlns cuyos prefijos son arbitrarios y cuya forma por defecto no se aplica a los atributos. XML sigue siendo la opción adecuada para documentos de contenido mixto y para ecosistemas cuyos vocabularios y herramientas ya son XML.
Legible por máquina: JSON