example base64binary xml xsd base64

xml - example - xsd base64binary c#



Esquema XML. Tipo Base64binary vs Tipo de cadena (2)

Necesito decodificar una cadena de Base64 de algún elemento XML. ¿Hay alguna diferencia entre un elemento definido por type="xs:base64binary" y un elemento definido por type="xs:string" ? Algunos desarrolladores de XSD se niegan a marcar cadenas codificadas como base64binary. Si no hay diferencia, ¿para qué sirve type="xs:base64binary" ?


Definitivamente hay una diferencia entre base64Binary y string en XSD:


Si entiendo las especificaciones correctamente, hay una diferencia semántica.

Un elemento base64Binary contiene datos binarios arbitrarios que se han codificado como base64, lo que básicamente lo convierte en una cadena (o al menos compatible con cadenas).

Por otro lado, las cadenas contienen caracteres imprimibles, que (normalmente) componen palabras y oraciones (lenguaje natural). No pueden contener datos arbitrarios (binarios) porque ciertos caracteres no están permitidos.

Puede usar base64Binary para indicar que los datos decodificados no son aptos para el consumo humano, mientras que la string es legible / imprimible.