29、结构化多媒体文档创作全解析

结构化多媒体文档创作全解析

1. 结构化多媒体文档相关标准与语言

1.1 不同领域的文档标准

在文档创作领域,有多种标准和语言用于不同类型的文档:
- CALS :由美国国防部定义,用于技术文档的计算机辅助采购和后勤支持。
- TEI :文本编码倡议,用于对文学和语言文档中常见的各种文本特征进行编码。
- HTML :超文本标记语言,从最初的基本文本和超链接功能发展到 HTML 4.0 规范,支持更多多媒体选项、脚本语言、样式表和更好的打印功能。
- ISO 12083 :由美国出版商协会和欧洲物理学会为科学文档定义。
- MathML :这是 W3C 的一项推荐标准,是一种用于描述数学的 XML 低级格式,可用于编码数学符号以实现高质量的视觉显示,以及编码数学内容以用于更多语义应用。

1.2 文档物理结构的表示模型和语言

1.2.1 文档排版属性分类

文档的排版属性(或表示属性)可分为两类:
- 样式属性 :取决于要布局的内容,如字体、颜色或字体样式。
- 物理结构属性 :取决于输出介质,如页面大小、列数、边距和装订线。

从历史发展来看,呈现属性的表达方式从文本中穿插的低级命令(如 troff、LaTeX)发展到交互式编辑器中与文档关联的样式表(如 Word、Author/Editor),再到专有样式表语言(如 Panorama 和 Thot P 语言)和标准语言(如 CSS、DSSSL 和 XSL)。这种演变伴随着文档模型从弱结构化向不包含呈现信息的结构化文档模型的转变。

在结构化文档中,格式化过程根据文档的内部表示(内容和逻辑结构)以及相关的呈现属性生成可输出(显示或打印)的文档表示。结构化文档模型的一个关键特点是能够将呈现属性与文档元素类型关联起来,允许基于结构层次继承属性。不过,样式属性比物理结构属性更容易与逻辑结构相关联。实际上,文档的物理结构可以看作是 Knuth 盒模型所定义的盒子的层次组织,因此格式化结构化文档意味着合并两个层次结构:逻辑结构和物理结构。

1.2.2 级联样式表语言(CSS)

CSS 是为 HTML 文档定义的 W3C 样式表语言,CSS2 推荐标准在 CSS1 的基础上进行了扩展,主要支持特定媒体的样式表(如浏览器、音频设备、打印机等)以及其他高级格式化功能,如内容定位、表格布局和自动计数器与编号。

  • 基本概念 :CSS 是一种简单的声明式样式表语言,允许将样式属性不仅与实例关联,还与元素类型关联,从而使属性可以应用于同一类型的所有元素。此外,CSS 语法允许内容和呈现清晰分离。
  • 属性 :属性(如颜色、边距、字体等)被分配给选择器以操作其样式。例如: color: red;
  • 选择器 :选择器可以通过以下三种方式定义:
    • HTML 元素 p { text-indent: 3em }
    • 类选择器 code.new { color: green } ,使用类属性 <code class="new"> ... </code>
    • ID 选择器 #nb554 { font-weight: bold }
  • 继承 :内部选择器继承周围选择器的值,除非另有修改。但有一些例外,例如 margin-top 属性不会被继承。
  • 样式表访问 :应用于文档元素的样式规则可以直接放在头部(使用 <style> 元素)或放在单独的文件(扩展名为 .css )中,通过 <link> 元素引用:
<link rel="stylesheet" href="name.css" type="text/css">

CSS 文件包含 CSS 规则,例如:

<style type="text/css">
<!--
h4 {font: 14pt "Times"; font-weight: bold; color: green}
h2 {font: 16pt "Times"; font-weight: bold; color: blue}
p {font: 12pt "Times"; color: black}
-->
</style>
  • 级联样式表 :当多个规则为同一元素的同一属性设置值时,最具体的规则优先。不过,可以使用 ! important 语句指定规则来覆盖正常规则。
1.2.3 XSL

CSS 的示例表明,前面提到的原则可以应用于需要有限显示功能的单个标签集(HTML)。而 DSSSL 和 XSL 旨在提供一种方法来描述如何显示用 SGML 或 XML 定义的任意元素标记的文档。它们的主要概念包括:
- 声明式方法 :声明式规范允许描述格式化程序要使用的特征和约束,而过程式方法则实现格式化过程本身。
- 基本格式化结构 :称为流对象(字符、段落、序列、页面、组、链接等),每个流对象都有一组相关的格式化特征应用于它们。
- 树转换机制 :用于将文档从一个应用程序转换到另一个应用程序。对于 XSL,目标应用程序主要是 XML 文档的格式化过程,转换指定了树源(XML 文档)的每个元素如何与组成目标树的流对象关联。
- 完整的样式语言 :用于表达格式化和其他文档处理规范。排版要求从重新排序或复制元素到复杂的页面布局。

XSL 基于 DSSSL 的基本原理,但使用 XML 语法。它包括类似 CSS 的样式规则,并允许使用脚本语言进行更复杂的格式化。元素在源树中与流对象的关联是通过由模式和操作组成的构造规则来实现的。模式提供了一个完整的选择器机制,用于根据元素在源中的上下文(如元素的祖先或后代、元素上的属性、元素相对于其兄弟元素的位置)来识别适用的元素。规则的操作部分描述了必须创建的流对象的结构和样式属性。

1.3 文档超媒体结构的表示模型和语言

1.3.1 超链接的原理

链接旨在表示无法通过结构关系表达的语义,例如文档中的注释和引用。链接可以定义在文档内部(内部链接)或文档之间(外部链接),提供了一种超文本组织信息的方式,可用于导航应用程序,最广泛的应用就是互联网本身。

超文本结构的底层模型基本上是一个图,其中节点表示文档元素,弧表示它们之间的链接。这种结构与文档的逻辑结构正交。

1.3.2 HyTime 和 XLink
  • HyTime :是一种 SGML 应用程序,可用于超文本和时间规范,这里仅描述其超链接功能。
  • XLink :是 W3C 为 XML 资源中的链接结构规范定义的 XML 链接语言。它使用与 HyTime 相同的基本概念进行链接规范。XLink 允许指定简单的单向链接(类似于 HTML 链接)和复杂的多向、类型化链接。

一个链接是两个或多个本地或远程资源之间的显式关系,这些资源可以通过定位器访问。当链接被遍历(通过用户操作或程序)时,链接的资源被访问。链接由链接元素定义,应用程序可以通过名为 xml:link 的特定属性识别这些元素,该属性可以取两个值之一:简单或扩展。还可以定义其他属性来将信息与链接元素关联,如角色、远程资源的定位器以及本地和远程资源的语义(特定角色、标题和遍历行为)。定位器由统一资源标识符(URI)指定以标识文档,以及 XPointer 指向文档中的片段。

1.4 结构化文档的编辑工具

1.4.1 结构化编辑工具的特点

基于结构化模型的编辑器在内存中维护文档的逻辑表示,用于编辑操作。借助这些信息,编辑器根据正在编辑的文档的通用结构指导和控制用户,防止用户生成特定结构与通用结构不一致的文档。

然而,在文档生产中,结构化文档模型的使用受到限制的一个重要原因是开发同时具有逻辑和物理文档表示的编辑工具存在困难。一些工具提供结构化编辑功能,但格式化能力较差;而另一些工具提供更复杂的格式化操作,但缺乏交互式操作(如 LaTeX)。将复杂的格式化功能与结构化文档模型集成到交互式创作环境中仍然是一个未解决的问题。

1.4.2 Thot 编辑器

Thot 是 Opera 项目开发的一个实验性创作系统,用于在交互式环境中验证结构化文档的概念。它旨在生产结构化文档,允许用户交互式地创建、修改和查看符合模型的文档,这些模型有助于生产同质文档。系统处理格式化和排版,使用户可以专注于文档的组织和内容。此外,Thot 还为用户执行其他操作,如编号、更新交叉引用、构建索引表等。

Thot 是一个集成且可扩展的系统,能够处理结构化文本、图形、复杂表格、数学公式等。它也是一个开放系统,可以通过灵活的导出工具与其他系统交换文档,例如将文档转换为 LaTeX 和 HTML,还可以通过其编程接口集成到其他应用程序中。

1.4.3 Amaya 编辑器

Amaya 是 W3C 的测试平台浏览器/创作工具,用于演示和测试 Web 协议和数据格式的许多新发展。它基于 Thot 技术开发,利用了其结构管理、多视图显示和多呈现处理(用于屏幕和纸张)等功能。但 Amaya 不仅仅是一个简单的编辑工具,它是一个完整的 Web 文档浏览和创作环境。例如,它包含一个转换服务,允许作者更改某些部分的结构(如列表转换为表格)或通过连续的结构更改轻松编辑数学表达式。

Amaya 展示了一些最新的 Web 标准,如支持 CSS 以允许显示带有样式表的文档并创建或编辑样式表,以及实现了 MathML 原型,使用户可以浏览和编辑包含数学表达式的网页。

1.5 结构化文档的转换

1.5.1 DTD 管理

文档类型的逻辑结构可能会发生变化,例如需要声明新元素、删除某些文档类型中不再有用的元素或重新排列现有元素的顺序。这些变化会导致通用结构的新版本,用户需要指定每个旧类型应转换为哪个新类型。

为了使基于旧版本通用结构构建的文档与新的通用结构保持一致,需要进行静态转换,通常在编辑会话之外进行。典型的工具是过滤器,但它们存在一些问题:
- 需要为每个 DTD 转换进行特定开发。
- 需要对每种类型的转换进行详尽描述。
- 要么只能进行有限的转换(如 Balise 和 Cost 工具),要么需要复杂的表达式以实现强大的转换。

另一种方法是自动转换,它基于将要转换的文档(源)与目标 DTD 进行比较,使用匹配算法找到结构之间的关系。但纯自动技术在某些情况下无法提供正确的结果,因此研究了一种半自动化转换方法,试图结合过滤器和自动转换的优点。

1.5.2 编辑结构化文档

当前结构化编辑系统的一个局限性在于文档的结构约束对用户来说可能过于严格。例如,常见的复制粘贴命令在交互式结构化编辑系统中难以实现,因为系统需要允许在不同文档模型中定义的类型进行操作。

为了在类型不同时允许进行复制粘贴操作,源元素的结构必须转换为与目标通用结构一致。通常,用户希望在编辑文档时自动进行这种转换,就像使用非结构化编辑工具一样,但在有多种转换可能时,用户可能希望表明自己的偏好。这种由交互式编辑器执行的转换称为动态转换,类似于编程语言或面向对象数据库中的类型转换。

实现动态转换工具时需要考虑以下主要约束:
1. 复制粘贴操作不能丢失任何信息,同时尽可能保留结构信息。
2. 操作中涉及的类型可以是系统中已知的任何类型,因此不能像静态转换那样进行预处理。
3. 由于操作是交互式的,性能至关重要。

目前,关于交互式环境中文档类型转换的具体问题研究较少,基于上述第二个约束,探索了一种自动转换技术,该技术基于将要转换的文档(源)与目标 DTD 进行比较,使用匹配算法找到结构之间的关系。

1.6 多媒体文档的创作

1.6.1 多媒体文档的定义和特点

多媒体文档是一组在空间和时间上组织的基本对象,并可以设置导航结构。与传统文档相比,多媒体文档的特点是具有固有的时间维度。基本媒体对象(如视频)具有内在的持续时间,并且作者可以对媒体对象进行时间组织,为文档添加一个称为时间场景的时间结构,这种结构可以通过计算机的输出通道(屏幕和扬声器)由呈现引擎呈现。

目前,多媒体文档的作者通常需要是程序员,因为这是指定文档复杂同步的唯一方式(例如 Director 文档中的 Lingo 脚本)。为了提高多媒体应用的普及性,需要让非计算机专业人员能够直接创建多媒体文档,这也将大大降低多媒体作品的生产成本。

1.6.2 多媒体创作需求

多媒体创作方法的多样性反映了多媒体创作系统需要满足的大量需求,但现有应用仅部分满足了这些需求。主要的创作需求可以分为两类:
- 表达能力 :创作系统的表达能力与系统覆盖作者所需的广泛时间场景的能力有关。由于可接受的表达能力水平在很大程度上取决于作者的实践和经验,因此难以衡量。创作需求可以分为三组:
- 处理各种基本对象(文本、声音、图像、视频等)的能力,作者可以在这些对象上设置交互能力和时间样式定义。
- 时间组合方面,旨在表达不同对象对应的时间间隔之间的任意顺序。
- 超媒体导航,通过文档交互实现,可以是全局交互(如常见的超链接)或局部交互(效果应用于对象的子部分)。
- 创作能力 :一个重要的问题是作者设计一个场景需要多长时间。创作能力包括以下标准:
- 对非计算机专业人员的适应性。

下面是一个简单的 mermaid 流程图,展示了结构化文档编辑和转换的基本流程:

graph LR
    A[开始编辑结构化文档] --> B[逻辑结构编辑]
    B --> C{是否需要转换?}
    C -- 是 --> D[静态或动态转换]
    C -- 否 --> E[格式化输出]
    D --> E
    E --> F[完成]

同时,为了更清晰地展示 CSS 选择器的类型,我们可以使用表格:
| 选择器类型 | 示例 | 说明 |
| — | — | — |
| HTML 元素选择器 | p { text-indent: 3em } | 选择所有 <p> 元素 |
| 类选择器 | code.new { color: green } | 选择所有具有 class="new" <code> 元素 |
| ID 选择器 | #nb554 { font-weight: bold } | 选择具有 id="nb554" 的元素 |

通过以上内容,我们对结构化多媒体文档的创作、编辑、转换以及多媒体文档的相关知识有了较为全面的了解。在实际应用中,我们可以根据具体需求选择合适的工具和方法,以提高文档创作的效率和质量。

2. 多媒体文档时间规范与创作环境

2.1 多媒体创作标准

为了满足多媒体文档的时间规范需求,已经定义了一些标准,以下为您详细介绍:
- HyTime :是一种 SGML 应用,可用于超文本和时间规范。在超链接方面,它为文档的信息组织提供了有效的方式;在时间规范上,能够精确地定义多媒体元素的时间顺序和关系。比如在一个包含视频、音频和文本的多媒体文档中,HyTime 可以规定视频在特定时间开始播放,音频在视频播放到一半时开始,文本在特定时刻显示等。
- MHEG :该标准在多媒体超媒体信息编码方面表现出色,致力于在不同的设备和系统之间实现多媒体内容的有效交换和共享。例如,当一个多媒体文档需要在多种不同的终端设备(如手机、平板、电脑)上展示时,MHEG 可以确保内容的格式和播放效果的一致性。
- SMIL :即同步多媒体集成语言,专注于多媒体元素的同步和时间控制。它通过简洁的语法,能够方便地定义不同媒体元素之间的时间关系。例如,在一个动画演示中,SMIL 可以精确控制图片的切换时间、文字的显示和消失时间以及音频的播放时间,使整个演示更加流畅和协调。

2.2 多媒体创作需求分析

多媒体创作系统需要满足多方面的需求,主要可分为表达能力和创作能力两个大类,以下是详细分析:

2.2.1 表达能力

表达能力体现了创作系统覆盖作者所需广泛时间场景的能力,由于这一能力受作者实践和经验影响较大,较难进行衡量。具体可分为以下三个方面:
- 基本对象处理能力 :多媒体系统需要能够处理各种基本对象,如文本、声音、图像、视频等。作者可以在这些对象上设置交互能力和时间样式定义。例如,在一个在线教育的多媒体课程中,作者可以为文本设置点击交互效果,点击后弹出相关的解释说明;为视频设置特定的播放时间和暂停点,方便学生学习。
- 时间组合能力 :在时间组合方面,创作系统要能够表达不同对象对应的时间间隔之间的任意顺序。例如,在一个音乐视频作品中,视频画面的切换时间和音乐的节奏需要精确匹配,创作系统应能够实现这种复杂的时间组合。
- 超媒体导航能力 :超媒体导航通过文档交互实现,可以是全局交互(如常见的超链接)或局部交互(效果应用于对象的子部分)。例如,在一个旅游介绍的多媒体文档中,用户点击地图上的某个景点,就可以跳转到该景点的详细介绍页面,这就是全局交互;而在景点介绍的文本中,点击某个关键词可以弹出相关的图片或视频,这就是局部交互。

2.2.2 创作能力

创作能力主要关注作者设计一个场景所需的时间,以及系统对不同用户的适应性,具体标准如下:
- 对非计算机专业人员的适应性 :系统应设计得简单易懂,方便非计算机专业人员使用。例如,提供直观的图形化界面,让用户可以通过拖拽、点击等简单操作来完成多媒体文档的创作,而无需编写复杂的代码。
- 创作效率 :系统应具备高效的创作工具和功能,减少作者的创作时间。例如,提供模板功能,用户可以直接使用预设的模板进行创作,然后根据自己的需求进行修改和完善。

2.3 多媒体创作面临的挑战与解决方案

2.3.1 挑战分析

目前多媒体创作面临着诸多挑战,主要包括以下几个方面:
- 技术门槛高 :如前文所述,当前多媒体文档的作者往往需要具备编程技能,这对于非计算机专业人员来说是一个巨大的障碍。例如,使用 Director 软件创作多媒体文档时,需要编写 Lingo 脚本,这对于普通用户来说难度较大。
- 创作效率低 :复杂的创作流程和工具使得作者设计一个场景需要花费大量的时间和精力,降低了创作效率。例如,在一些多媒体创作软件中,对媒体元素的时间设置和同步操作非常繁琐,需要用户进行大量的手动调整。
- 兼容性问题 :不同的设备和系统对多媒体格式的支持存在差异,导致多媒体文档在不同环境下的播放效果不一致。例如,某些视频格式在某些手机上无法正常播放,影响了用户体验。

2.3.2 解决方案探讨

为了解决上述挑战,可以采取以下措施:
- 降低技术门槛 :开发简单易用的创作工具,提供可视化的操作界面和模板,让非计算机专业人员也能轻松上手。例如,一些在线多媒体创作平台,用户只需通过拖拽和设置参数就可以完成多媒体文档的创作。
- 提高创作效率 :优化创作工具的功能,提供自动化的操作和智能提示,减少用户的手动操作。例如,开发智能时间同步工具,能够自动根据媒体元素的属性进行时间匹配。
- 解决兼容性问题 :遵循统一的标准和规范,确保多媒体文档在不同设备和系统上的兼容性。例如,采用常见的多媒体格式(如 MP4、MP3 等),并进行适当的编码转换。

2.4 总结与展望

结构化多媒体文档的创作涉及多个方面,包括文档标准与语言、物理和超媒体结构的表示、编辑工具的使用以及多媒体创作的需求和挑战等。通过对这些内容的深入了解,我们可以更好地选择合适的工具和方法来进行文档创作。

未来,随着技术的不断发展,我们可以期待以下方面的改进:
- 更加智能化的创作工具 :能够根据用户的需求自动生成合适的文档结构和样式,提高创作效率和质量。
- 更好的兼容性和互操作性 :多媒体文档能够在各种设备和系统上完美呈现,实现无缝的信息共享和交互。
- 更广泛的用户参与 :降低创作门槛,让更多的人能够参与到多媒体文档的创作中来,推动多媒体行业的发展。

下面是一个 mermaid 流程图,展示了多媒体创作的主要流程:

graph LR
    A[确定创作需求] --> B[选择基本对象]
    B --> C[设置交互和时间样式]
    C --> D[进行时间组合和超媒体导航设计]
    D --> E[检查兼容性和优化]
    E --> F[完成多媒体文档创作]

同时,为了更清晰地展示多媒体创作标准的特点,我们可以使用表格:
| 标准名称 | 特点 | 应用场景 |
| — | — | — |
| HyTime | 可用于超文本和时间规范 | 复杂的多媒体文档,需要精确时间控制和超链接设置 |
| MHEG | 致力于多媒体内容的交换和共享 | 跨设备、跨系统的多媒体信息传播 |
| SMIL | 专注于多媒体元素的同步和时间控制 | 对时间同步要求较高的多媒体作品,如动画、演示等 |

通过以上的分析和总结,我们对结构化多媒体文档的创作有了更全面的认识,希望这些内容能够为您在多媒体创作方面提供有益的参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值