【问题标题】:can xsd schema validate encoding, e.g. UTF-8, possible?xsd 模式可以验证编码,例如UTF-8,可能吗?
【发布时间】:2011-05-23 16:15:57
【问题描述】:

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

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

【问题讨论】:

    标签: xml utf-8 xsd schema utf


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-05-07
      • 1970-01-01
      • 2010-10-12
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 2011-06-30
      相关资源
      最近更新 更多