XML 架构。 Base64binary 类型与 String 类型

XML Schema. Base64binary type vs String type

我需要从某些 XML 元素解码 Base64 字符串。 type="xs:base64binary"定义的元素和type="xs:string"定义的元素有区别吗?一些 XSD 开发人员拒绝将编码字符串标记为 base64binary。如果没有区别,type="xs:base64binary"有什么用?

如果我理解正确the specs,则存在语义差异。

base64Binary 元素包含已编码为 base64 的任意二进制数据,这使得它基本上是一个字符串(或至少与字符串兼容)。

另一方面,字符串包含可打印字符,这些字符(通常)构成单词和句子(自然语言)。它们不能包含任意(二进制)数据,因为某些字符是不允许的。

您可以使用base64Binary表示解码后的数据不适合人类消费,其中string是readable/printable。

XSD中的base64Binarystring肯定是有区别的: