下一个 上一个 目录

8. 错误信息中的术语

8.1 介绍

除非您遇到问题,或者您对 sgml 和 linuxdoc 的工作原理感到好奇,否则您真的不需要阅读本节。错误消息可能包含诸如“元素”、“实体”、“属性”、“字面量”和“分隔符”之类的词语。 LinuxDoc 的“数据类型定义”(或 dtd)中为 linuxdoc 定义了各种元素、实体和属性。 dtd 没有用句子来定义它们,而是使用一种相当隐晦的格式来定义它们的语法(但不是它们的语义)。

8.2 元素

“元素”有点像标签。但这是一个更广泛的概念。元素不仅存在于 linuxdoc 中,而且存在于所有 sgml 语言(例如 html)中。您的整个文档被划分为元素。但是元素是嵌套的,也就是说某些元素可能出现在其他元素中。如果您为文档使用 <article> 标签,那么除了第一个标签说明接下来的是 linuxdoc 之外,整个文档都是 <article> 元素。在这个 article 元素中嵌套着许多其他元素。

例如,即使段落之间用空行而不是标签分隔,每个段落也是一个元素。但是每个段落周围都有一个隐式标签,解析 linuxdoc 写作的软件实际上会插入这些缺失的标签。它还会插入您不需要编写的结束标签(闭合标签)。通过这种方式,linuxdoc 为您节省了大量时间。因此,一个元素将由一个开始标签和结束标签(对于这个开始标签)以及两者之间的一切(通常包括其他元素及其标签)组成。请注意,省略的标签仍然隐式存在。在某些情况下,标签不包含任何内容,例如用于链接到互联网的 url 标签。这样的标签本身就是元素。在 article 元素中可以找到以 <sect> 开头的 sect 元素(节)。然后在 sect 元素中通常可以找到 sect1 元素(子节)等等。

在极少数情况下,元素会出现,但开始标签和结束标签的使用都是可选的。因此,即使您的文档中没有此类标签,文档中它们应该包含的部分仍然是缺失标签的元素。

实体就像宏定义。例如,可以将名称“list”定义为表示各种类型的列表。然后,名称 list 仅在 dtd 中使用,以指定例如列表可能出现在段落中。这只是 dtd 编写者的简写。这种实体永远不会在 linuxdoc 文档中使用。但是还有另一种类型的实体可以在文档内部使用,它定义一个特殊字符,例如 amp;etago 代表 </(结束标签开始)。当您想在句子中间放置 </article> 以解释其含义时,您可以使用它,这样转换 LinuxDoc 的软件就不会认为它真的在文章的末尾。

8.3 字面量和分隔符

“字面量”是某物的名称,例如在 html 链接中单击的名称。它可以是一个或多个单词长。分隔符是将某物与某物分开的东西。对于“引号”,最后一个“是闭合分隔符。因此,对于 name="my website",字面量是“my website”,而此字面量的分隔符是两个“标记,第一个“是开始分隔符,第二个“是闭合分隔符。因此,如果“字面量”缺少闭合分隔符,则意味着您忽略在名称后放置结束“。


下一个 上一个 目录