xml - xsd 模式可以验证编码吗? UTF-8,可能吗?

标签 xml utf-8 xsd schema utf

通过使用模式,是否有任何简单/容易的方法来验证 xml 消息的编码?

假设 xml 的第一行“不”可信? 例如忽略 ?xml version="1.0"encoding="UTF-8"?

最佳答案

不,除了二进制数据元素类型之外,模式不能规定编码类型,但这种编码仍将被文档本身的高级编码封装。如果您意识到模式应该描述信息而不是传输格式,那么这是有道理的。 XML 规范规定了文档传输信息,例如在最一般意义上如何表示和存储信息。模式用于验证通过 XML 存储的数据是否满足各方之间的某种语法限制。 XML 规范中定义的序言(您提到的第一行)是存在(或不存在)的实体,投诉 XML 读者需要了解文档的编码方式。编码只是端点之间的协议(protocol),以表示正确的 unicode 代码点,而 XML 规范指定如何达成此协议(protocol),而不是模式。

如果您有兴趣,这是 XML 1.1 规范中有关如何达成此协议(protocol)的相关部分,更有趣的是投诉读者如何“猜测”编码,因此足以猜测序言可以读取实际编码属性:http://www.w3.org/TR/xml11/#sec-guessing

关于xml - xsd 模式可以验证编码吗? UTF-8,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412343/

相关文章:

java - fragment 中的维基图像识别

asp.net - 避免为每个转发器重新加载所有 XML 数据 - vb.net

javascript - Google map v3 - 在标记标题中使用重音字符

java - 针对包含 xsd :import without location 的 XSD 验证 XML

java - 将具有多个工作表的 Excel 工作簿映射到 XSD

android - XML Spinner 属性 textAlignment = "right"API 16

Android:如何使用 XML drawable 创建精确的 Material 设计阴影

xml - 如何使用Groovy构建器StreamingMarkupBuilder在UTF-8中转换XML文件

java - 使用 Spring MVC Web 应用程序强制以 html 形式进行 UTF8 编码

xml - xsd :sequence behavior inside a xsd:all? 的替代方案是什么