我尝试阅读 http://www.w3.org/TR/xml -infoset / 维基百科条目。但坦率地说,我仍然不确定有什么区别。

引号:

XML文档具有信息集 如果格式正确并满足 命名空间约束。没有 XML文档的要求 有效以获取信息 设置。

从Wikipedia条目看来似乎没有任何意义。一个无效的文档如何具有任何语义,从而如何成为一个“信息”集?

这是什么“信息集”

格式正确并满足命名空间受限

XML有吗?它本身以什么方式有用。换句话说,从语义上讲,为什么定义 XML 信息集是必要的?是否有无法用XML表示的信息?如果是这样,我可以看到XML Infoset的限制集,但是如果不确定,XML Infoset与术语“信息”一样没有意义吗?

谢谢您的有趣回答: 我仍然无法理解为什么Xml信息集与术语“信息集”相比有任何用途。但是你们给了我这个问题的直接答案

其他提示

XML不是文本。XML是XML信息集。然后可以将其序列化为XML文档中的文本,但这是XML信息集才是现实。

例如,信息集可以作为DOM树存在于内存中。它作为抽象对象模型的实现存在于内存中。

如果我将其序列化为UTF-8,然后序列化为UTF-16,该怎么办。结果可能是两组不同的位,但信息集相同。

还考虑到使用文本进行诸如字符串串联之类的事情是有意义的。您不想将“ <”连接到XML元素的中间。您必须先对其进行编码。如果只是文本,为什么还要这样做?例如,如果您使用DOM,则只需说出element.InnerText=“ <”;。序列化时,“ <”将被编码为“&lt;”。但这是相同的信息集。

有效的XML文档满足DTD或XSD(或其他标准)的要求。如果格式正确,则如果违反给定DTD或XSD中的规则,则它仍可能是“无效”。

编辑:我是XML领域的新手,但看来信息集是XML文档各部分的“抽象级”描述,与实际的技术实现无关,例如,它可能是文档对象模型的实现。

XML信息集是一组抽象的概念,例如可用于描述有效XML文档的属性和实体。根据规范,“ XML文档的信息集由许多信息项组成;任何格式良好的XML文档的信息集都将至少包含一个文档信息项和其他几个信息项。”

仅仅因为XML文档是信息集,并不意味着它符合XSD并且是有效的XML文档。

请查看MSDN上的此链接。 http://msdn.microsoft.com/en-us/library/aa468561.aspx

这是对概念的很好的解释,希望能对您清楚。

我刚刚遇到的一个好例子是 David Chappell的WCF PDF 。例如,在使用TCP时,其工作方式如下:

为了在两种情况下都能获得最佳性能 建立通信中的各方 在WCF上,在此使用的有线编码 case是的优化二进制版本 肥皂。邮件仍然符合 SOAP消息的数据结构, 称为其信息集,但他们的 编码使用二进制表示 该信息集而不是 标准尖括号和文本 XML格式。使用此选项将 与 呼叫中心客户应用程序,因为 它也是基于WCF构建的,并且 性能是最重要的问题。

XML是一种语言,因此它具有语法,而XML Infoset具有数据模型的规范,这是由于应用程序需要基于数据模型而不是语法;XML位于XML Infoset之前;参考:Web Linkbase访问的协议注意事项

XML信息集是如何构造序列化XML文档的要求。

序列化的XML可以具有不同的形式,例如某种二进制格式(快速信息集)或文本(最流行的形式)。

基本上,对于XML文档格式(文本),每个元素和属性都应在XSD中通过相应的命名空间定义。

此处,您将找到一个示例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top