【问题标题】:What exactly are storage units in XML?XML 中的存储单元到底是什么?
【发布时间】:2017-09-09 19:21:36
【问题描述】:

我正在尝试更多地了解 XML 文档的物理和逻辑结构。 From the specification at W3C 描述物理结构:

一个 XML 文档可能由一个或多个存储单元组成。这些是 称为实体;...

所以我的问题是:

  1. 在这种情况下,存储单元到底指的是什么?
  2. 它是从 XML 处理器的角度使用,以及它如何在内存中存储和操作 XML 文档,还是指用于存储文档的持久存储?

【问题讨论】:

  • 我想如果你把这里的“存储单元”读作“文件”,你不会错的。他们可能避免使用该术语,因为他们想让它成为操作系统文件的抽象——但在我看来,“文件”这个术语对于目的来说已经足够抽象了。

标签: html xml web xml-parsing markup


【解决方案1】:

XML 和 SGML 中的实体表示字符流。它可以是外部实体,其中字符内容是从另一个文件或网络 (HTTP) 流访问的,也可以是内部实体,它是声明和引用它的文档的文字内容的一部分。内部实体可以这样声明

<!ENTITY e "replacement text for e">

然后在这样的内容中用作&amp;e;实体引用

<p> some text ... &e; ... other text </p>

这样 XML 或 SGML 处理器将用 replacement text for e 替换 &amp;e;。实体的概念也用于其他目的。

关于第二个问题,实体概念与字符数据在外部文件或网络流中的“存储”有关;它不指代标记处理器的内部存储器表示。

【讨论】:

  • 当您说“外部文件或网络流”时,是文档本身的外部吗?
  • 是的;使用例如声明外部实体。一个文件名或URL,从指定的文件或URL访问字符数据内容。
  • 这是否意味着在被视为外部资源的 XML 文档中的内部实体(如您在示例中声明的实体)?
  • 实体被声明为具有名称,并且该名称可以以完全相同的方式在文档中使用(例如实体引用),无论它是为外部实体还是内部实体声明.
  • 我试图了解 XML 文档的物理结构的“存储单元”,也就是实体。在谈论外部文件中的实体时,该术语对我来说是有意义的,但是对于我理解的内部实体也是存储单元呢? XML 文档中“存储单元”一词所指的规范是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 2021-11-26
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多