当前位置:首页 > 经典书库 > 工程师手册

超级文本的数据模型

书籍:工程师手册

出处:按学科分类—工业技术 企业管理出版社《工程师手册》第968页(7008字)

超级文本与文本的重要区别就是,文本可理解为线性结构,而超级文本是非线性结构,它是个复杂的网络结构,除包含文本外,还可以包含有其它介质,如图象,音频等。不同的超级文本系统,其表达上述结构的方法是不同的,本节讨论了交互式文档和超级文本的一般结构,对办公室文档结构(ODA)作了简单介绍,并探讨了办公室文档结构作为超级文本标准的可能性和存在问题。

1.文档与超级文本的结构

基础文档结构的概念在文档编辑系统中已存在多年。它们有许多不同的表现形式,但现在大多数开发还都基于基础文档结构的概念,并指导结构文档编辑器,像GRIF(Quint和Vatton,1986)和Interleaf(Morris,1987)的开发。目前,这种文档仍然没有一个公认的形式,但存在一些趋向。特别是,这种结构总是层次的、面向对象的,并为多媒体文件提供框架。其它的一般特性包括:对文档显示的详细说明与文档的结构和内容相分离(这样允许相对容易地产生一个文档的不同显示方式),以及定义一般文档风格的机制。

上述这些结构已经开发出来作为交互式文档编辑系统,这种系统的主要目的是产生一个可打印的文档。这种文档能够被创建、编辑,并预先在线浏览。但有一个隐含的假定,既它最终以纸张的形式阅读。这点限制了材料必须以线性方式组织,虽然也可以用交叉参考或脚注润色。这种文档结构被设计成能为作者提供智能编辑和更新帮助,如章节的自动重新标号,检查文档是否与要求的风格相符等。

对真正的交互式文档和超级文本,强调提供一种目标的结构体系,其中相关目标以链相连。有可能有许多目标由大量链链接成一个复杂网络。用户通过链从一个目标到另个目标在线浏览信息。在这种情况下,文档结构要特别设计成帮助读者在信息间航行。

基于纸张文档的系统提供了传统的、相当僵硬的形式。它仍具有附加的特性用以辅助交互式编辑,但并没有利用真正的电子介质的交互特性。超级文本以其高度的内部互联结构走向了另一个极端,允许用户具有很大的自由沿链查找,以至于很可能迷失方向或引起混乱。许多超级文本系统采用了层次方法来组织信息,它帮助读者产生位置意识并提供一个很好定义的贯穿信息的主航线。文档结构可以区分成主结构和次结构。

主结构是占优势的层次结构,它定义目标如何结合成更高层次的目标;次结构表达目标间的附加关系。超级文本系统强调次结构,但已证明,没有很好定义的主结构,用户会产生混乱。办公室文档结构(ODA)(ISO 8613 1988)提供了一个详细的文档结构。它是层次的,面向目标的,并适合前面描述的其它特性。虽然ODA被设计成主要支持基于纸张的文档,但它包含了一般的联编机制,能用来指定目标之间的任意链接,它也提供了交互式文档编辑或超级文本需要的基本主结构和次结构。

2.ODA文档结构

ODA提供了文档的一个树状模型。文档的结构以树状给出。它的内容完全存于叶目标中。属性提供了有关树中目标的信息。几个最重要的属性在下面例子中引入。这里只提到一个属性,就是内容结构属性(Content Architecture),它定义了每个叶目标内容的类型。这样允许在一个文档中,不同类型的内容能够共存。目前ODA定义了三类内容(字符、光栅图象、几何图形),但希望定义更多的类型(如音频)。

一个ODA文档由两个结构描述。一个逻辑结构,它首先按文档内容划分成逻辑目标,这些目标对作者或读者意味着某些事情。一个逻辑目标可以是一个一般项,如书中的一节,标题,段落或参考资料。反过来,它也可以是一个特殊项,象一个电话号码或价格,或者是一个相关信息集,如公司销售某产品的清单。只有最底层的目标,如标题,价格才有内容。

二是布局结构(Layout Structure),它涉及内容的显示表达。它按内容划分成页集、页和页中方框区域,其中定义有嵌套区域的方框区域称为框架(Frame),最底层的区域称为块。根据定义,块是唯一有内容与之相联的区域。一个框架可用来表达一行文本,例如,用嵌套块来表达一个段落的内容。

每个文档都有它特殊的逻辑结构和布局结构。但对特殊的文档类型或风格,它们的创建是由一般文档格式来指导或控制的。有一个目标类型定义集,一部分用来定义逻辑结构,另一些用来实义布局结构,它指出目标的类型和组合,在ODA术语中,这些定义构成了一个文档类的一般逻辑结构和一般布局结构。

3.ODA结构的实例

这节通过介绍一个可用于学术刊物的一般结构的片断来说明上面引入的结构,同时也引入几个重要的属性。

对每个非叶目标的一般定义有一类属性称为从属产生器(Generator for Subordinates),它描述这个目标如何由从属目标构成。这些属性指出从属目标可以是任选的,用OPT表示;是要求的,用PEQ表示;是可重复的,用REP表示,或是任选且可重复的,用OPT REP表示。并且指出一组目标以给定的顺序出现时,用SEQ表示;以任意顺序出现,用AGG表示,或是一组中只能有一个被选中,用CHO表示。这些属性给出的信息对文档的主结构给出了一个简单的语法。

图6.3.4-1表示了在杂志中单个技术文件的一般逻辑结构。它指出文章由必有的标题,路着是必有的作者名,接着一个可选的摘要,和一个或多个章节组成。如果存在摘要,则它由一段或多段组成。每节由子标题开始,“REP CHO”结构指出子标题后跟一系列段落或列表,它们是以任意顺序出现的。列表包含一个或多个项。

图6.3.4-1 一般逻辑结构

相应的一般布局结构可以对文章的第一页定义一个风格,对其余的页定义另一个不同的风格。图6.3.4-2,表示出这种结构。标题页(Title Page)包含一个条目框架(Header Frame)和一个正文框架(Body Frame)。条目框架是为标题、作者名和摘要设立的表示区域,而正文框架作为文章第一部分的开始。“继续页”(Continuation Page)包含“继续正文框架”以保存章节的其余部分。块并不包含在一般布局结构中,但在布局过程中它被分派到页或框架中。

图6.3.4-2 一般布局结构ODA的布局过程确切地决定文档中的每一项被放置的位置。它使用特定的逻辑结构、一般结构、内容体系以建立特定的布局结构。它工作在两个层次上:

·内容布局(Content Layonut)处理内容部分,并将它们安排到块中。这个阶段依赖于涉及到的内容结构和称为表达风格的属性集。

·文档布局将块安排到框架或页中。这个阶段依赖于称为布局风格的属性集。

内容布局处理字符集和项在块内的合理定位,更高一级的文档布局过程决定如何将块置入页或框架中。

文档布局过程由三个属性决定,它们的值在图6.3.4-1和图6.3.4-2中以有下划线的字体标出。布局目标类通常用来指定文档的主逻辑划分和特殊页或页集的对应关系。在这个例子中,逻辑“文章”有它的布局目标类,定义为“文章页集”,它决定每篇文章必须放置在图6.3.4-2所示的页集中的一个单独实例中。

在一个布局目标类中,布局类别和允许类别属性能被用来把逻辑目标引导到不同的框架中。如果对一个叶逻辑目标给定一个布局类别名,则它只能被放置在具有相同名字的框架中,此名为允许类别名之一。在此例中,使用的类别名为“条目”和“正文”。当布局过放置对应标题、作者名和摘要的块时,它将寻找“条目”作为允许类别的框架,然后创建一个条目页,并将它们放在条目框架中。但当它到达对应章、节内容的块时,它将寻找“正文”作为允许类的框架,这样它使用“正文框架”直到满为止,然后为使用“继续正文框架”而创建必要的“正文页”。

当特定布局结构被创建后,它将文档内容和页、框架、块联系起来。图6.3.4-3示出了一篇文章开始的特定结片断。它假定文章有摘要,第一部分由三段开始,它们之中只有一段放入标题页中。图6.3.4-3示出了在逻辑结构和布局结构之间整齐的一一对应。这种情况经常发生,但并不总是这样。例如,逻辑内容部分可以在块间分裂(当段被划分成多页时)或被接成一段存在于一块中。

图6.3.4-3 特殊的逻辑结构和布局结构

4.ODA文档的不同显示

上一节只给出了ODA布局过程的简短描述,但它已足够表明,通过审慎地改变它的布局结构,能够改变特定逻辑文档的显示。作为例子把图6.3.4-2中的“正文框架”从标题页中删去,这将使得每篇文章只有标题、作者名、摘要被放在第一页。在第一页中.没有允许类别为“正文”的框架,这样,第一节必须在“继续正文框架”中以新的一页开始。

通过改变构成布局和表达风格的属性,能够改变最根本的布局。具有这些风格的属性应用于目标,但这些目标只包含适当风格的标示符,风格本身保持分离。这提供了一个简明的文档表示,并允许不必改变逻辑结构而使风格改变。

布局风格包括上面描述过的布局目标类、布局类别属性和其它管理框架选择以及在一框架中块的定位的属性。当某个块包含另一目标时,同一布局目标属性强制包含同一逻辑目标的块共享同一框架,同时,新的布局目标强制包含此目标的块开始一新的框架。偏移和分离控制相邻块间的最小空间,块间的相对位置通过填充次序来支配,这种次序允许通常的由顶到底的定位或传统的脚注定位。

表达风格指导最底层的内容布局过程,且影响在一块中的内容的显示。它们对不同的内容结构包含有不同的属性。如:对字符内容,包含影响第一行的缩进字数、行间距离和初始字体大小。

改变一般布局结构和风格会导致同一逻辑文档的非常不同的显示。页和边缘大小可以改变,单、双列布局能被运用,段间间隔和字体大小可以改变。特别是通过这种方法,有可能提供不同的内部风格(House Styles),为交互式编辑和最终打印版本提供不同风格。

5.扩展ODA作为交互文档

ODA允许在文档布局和表达时有很大的灵活性,但不同的显示并不是对适当的交互功能的替代。基于问题是ODA的布局过程是顺序的和以页为基础的,几个属性反映了这点。任何形式的在线编辑都要求扩展布局过程以使之增加功能,并允许用户在文档中卷行,但对基于屏幕的文档,应具有的特性是:

(1)概要功能:显示选中的项目(通常是高层次的),如章、节的标题,而不理会其它项目。

(2)弹出式显示:根据需要,允许临时显示附加信息。这些可用来做为纸张文档中的脚注、边缘注释和词汇条目的等价物。

(3)折叠:允许文档的一部分隐藏在屏幕上“按钮”的后面,并能根据需要重现。折叠可以允许任意层次,因此,隐藏部分可以包含进一步的“按钮”。

(4)链接功能:使用户能够沿链查找或自动交叉索引。

对项目1和2。扩展文档布局过程使之按两个称为“不可见”和“弹出”的特殊布局类别去识别和启动,即可满足要求。不同的布局风格能够提供具有弹出式注释和不同层次概要的在线版本,以及具有脚注和其适装饰的标准版本。

项目3要求有较大的改变。布局过程需要能够显示“按钮”或是折叠在按钮下面的项目。实现这点的一个方法是允许非叶逻辑目标具有内容(按钮的表达)和附加属性以便告知布局过程是否显示这些按钮或目标的从属内容(折叠信息)。将这点和弹出式布局类相结合将提供一般的弹出显示

项目4在布局过程中又需要附加信息。实际的链接能够用ODA折组合机制来表达。组合是用户定义的属性,它包括一个组合标示符和一个组合什值。组合值可以是整数、字符串、或指向另一目标的指针。这样,它可以表达一个用户定义的指向远目标的链,而布局过程能够根据要求跟踪这样一个链。根据链的类型,可有几种方法。三个可能性是:

·移动现在的显示点到目的目标;

·显示目的目标(或子树)作为临时弹出项;

·在文档的这点上包含目的目标(或子树)。

在ODA中现在的限制之一是指定属性和组合的方法是很有限的。它们的值通常来源于一般的目标定义或由称为默认值表中的属性继承而来。在大多数情况下,其值由一个单项给出,但对于组合(和几个其它属性),其值能够从一个表达式中计算出来。除了如算术操作被限制在整数的加1减1之外,空间(Space)不允许这些表达式的全描述,而能够引用的唯一属性值是组合值(BindingValues)。

对交互式文档,ODA的一个有价值的扩展是允许所有属性值从一般表达式导出。这种表达式有全系列的操作符(包括条件操作符)和操作数(包括属性值和内容部分),这将提供非常需要的灵活性,并允许合理表示有关大小和其它的约束。

6.在ODA中的KMS框架模型

KMS支持一个基于框架的工作空间的数据模型。框架可以包含文本、图形和图象项,框架中的每个项能被链接到其它框架。没有内部层次组织的概念,也没有信息的线性排列的概念。信息被划分成框架大小的块,每块显示在屏幕上的一个窗口中。读者沿链浏览不同的框架。

虽然这是一种非常一般的模型,但对框架的格式和层次链与其它链之间的区别已形成了很强的约定。图6.3.4-4示出了常规KMS框架的全部布局(为避免混乱。这部分使用KMS框架和ODA框架以示区别)。

图6.3.4-4 典型的KMS框架布局

用来支持标准KMS数据库所定义的一般逻辑目标将对应KMS框架和KMS框架中的项。图6.3.4-5示出了一个可能的一般上层逻辑结构。对KMS框架的一个般布局结构将对应一个包含ODA框架的ODA页,每个ODA框架表示图6.3.4-5中KMS框架中的一个区域。布局目标类将用来指定每个KMS框架作为ODA页的一个单独实例。布局类别和允许类别将用来指定不同的逻辑项进入适合的ODA框架。

图6.3.4-5 KMS框架的一般逻辑结构

“树”和“链”项将设置成“替换换钮”。这样的“树”项象“定义按钮”,并含有内容(表达显示在它们父KMS框架中的按钮文本)和一个从属KMS框架(当按下此按钮时将被显示)。“链”项象“应用按钮”,它们也有按钮内容被显示在它们的父KMS框架中,但被链接的KMS框架是通过组合而不是作为从属框架被附加来标识的。布局过程将相对简单,因为它只需显示一个完整的KMS框架以及沿着主链或次链访问在“树”和“链”目标中给出的KMS框架。

分享到: