Adobe InDesign CS5 是可以生成并使用 XML 的众多应用程序之一。在 InDesign 文件中为内容添加标签后,可以将文件存储和导出为 XML,以便能在其他 InDesign 文件或其他应用程序中重新利用。同样,您可以将 XML 文件导入 InDesign 并让 InDesign 以您想要的任何方式显示 XML 数据和设置其格式。

关于 XML

借助 XML(可扩展标记语言),可重新利用文件中的数据,或者自动使用某个文件中的数据替换另一个文件中的数据。XML 使用标签来描述文件的各个部分 -- 例如,标题或者文章。这些标签对数据进行标记,以便可以将其存储在 XML 文件中并在导出到其他文件时进行相应的处理。可以将 XML 视为一种数据翻译机制。XML 标签对文件中的文本和其他内容添加了标签,以便应用程序可以识别和显示数据。

可扩展的语言

XML 被认为是一种可扩展的语言,因为每个人都可以创建自己的 XML 标签 -- 他们可以为想要重新利用的每一种信息类型创建一个标签。XML 标签不包含如何显示数据以及如何为其设置格式的信息。XML 标签仅用于标识内容。

例如,在 InCopy 中,可以创建一个 Heading1 标签并将其指定给文档中所有的一级标题。在将文档存储为 XML 文件之后,即可导入 Heading1 内容,并由可读取 XML 的任何应用程序用作 Web 页、打印目录、目录、价格表或数据库表。

InDesign 是可以生成并使用 XML 的众多应用程序之一。在 InDesign 文件中为内容添加标签后,可以将文件存储和导出为 XML,以便能在其他 InDesign 文件或其他应用程序中重新利用。同样,您可以将 XML 文件导入 InDesign 并让 InDesign 以您想要的任何方式显示 XML 数据和设置其格式。

Adobe InCopy 是可以生成和使用 XML 的应用程序之一。在 InCopy 文件中为内容添加标签后,可以将文件存储和导出为 XML,以便能在其他 InCopy 文件、InDesign 文件或其他应用程序中重新利用。

在 InCopy 中,即使没有任何 XML 使用经验,也可以创建 XML 标签并向文档的各个部分添加标签。InCopy 处理幕后的 XML 编程工作,并在您以 XML 格式导出文档时为您创建 XML。

注意:

不要混淆 XML 标签与 InCopy 标记文本。标记文本是另外一种导出和导入 InCopy 内容的方法。有关标记文本的更多信息,请参阅“标记文本”PDF 文档,网址:www.adobe.com/go/learn_id_taggedtext_cs5_cn (PDF)。

XML 数据结构

元素是 XML 数据的构建单元;元素是添加了标签的数据。在 XML 文件中,元素嵌套元素,由此创建数据的层次结构。

可以在显示元素层次结构和顺序的“结构”窗格中看到 XML 数据的结构。在 XML 结构中,子元素包含在父元素之中,而父元素可能又是其他元素的子元素。或者,从另一个方向来看,父元素包含子元素,而这些子元素可能又是其他子元素的父元素。

例如,在下图中可以看到,chapter 元素(作为 recipe 元素的父元素)包含了若干 recipe 元素。反过来,每个 recipe 元素又是名为 recipenameingredientsinstructionsnotesservings 的元素的父元素。所有元素都包含在 Root 元素内部,该元素出现在“结构”窗格的顶部。

vb_21
XML in InDesign Structure pane (left) and placed in layout (right)

例如,在下图中可以看到,chapter 元素(作为 recipe 元素的父元素)包含了一个 recipe 元素。反过来,recipe 元素又是名为 recipenameingredients 的元素的父元素。所有元素都包含在 Story 元素内部,该元素总是出现在“结构”窗格的顶部。

ch_11
InCopy document formatted with XML tags

XML 工具

InCopy 提供了“结构”窗格和“标签”面板来处理 XML 内容。“结构”窗格显示文档中的所有元素及其层次结构。为了帮助识别每个元素,InCopy 显示其元素标签和一个指示标签所含内容类型的图标。此外,“结构”窗格还可显示元素中文本的最初几个单词(称为文本片段,不可与存储对象以备重复使用的片段文件相混淆)。

vb_22
Structure pane (left) and Tags panel (right)

A. Triangle to expand or collapse elements B. Element (placed in layout) C. Element (not in layout) D. Text snippet E. Element tag 
vb_22_IC
Structure pane (left) and Tags panel (right)

A. Triangle to expand or collapse elements B. Element placed in layout C. Text snippet D. Element tag 

使用“结构”窗格可查看、编辑和管理 XML 元素。使用 XML 时可按多种方式使用“结构”窗格。例如,要将导入的 XML 内容置入版面中,可直接将元素从“结构”窗格拖到页面中。还可以使用“结构”窗格调整元素的层次结构。可以通过“结构”窗格添加元素、属性、注释和处理指令。

“标签”面板列出了元素的标签。可以导入、导出、添加、删除和重命名标签。您可以使用“标签”面板将元素标签应用于准备导出为 XML 的内容,并可在将 XML 内容导入框架之前将标签应用于框架。

“标签”面板列出了元素的标签。可以导入、导出、添加、删除和重命名标签。可使用“标签”面板将元素标签应用于准备导出为 XML 的内容。

关于 DTD 文件

若要与他人共享 XML 数据,需要就标签名称和元素属性集达成一致标准,以便组中的所有成员都以相同的方式使用和应用标签。处理 XML 数据共享问题的方法之一是使用文档类型定义 (DTD) 文件。

DTD 文件提供了一组元素和属性供工作组成员使用。它还定义了有关元素在结构层次中的显示位置的规则。例如,DTD 文件可能要求 Title 元素作为 Story 元素的子元素,因为标题应该显示在文章内部;如果为标题添加了标签但是却没有为应在其中显示标题的文章添加标签,那么 DTD 文件将把 Title 元素标记为无效元素。使用 DTD 文件,可以在 InDesign 文件中搜索并标出无效结构错误。这个过程称为验证

若要使用 DTD 文件(如果文档尚未包含该文件),可以将其载入到文档中。这会将元素名称从 DTD 导入到“标签”面板中。载入了相同 DTD 文件的其他人将拥有相同的元素名称,从而确保组中所有成员都使用相同的元素。导入的元素处于锁定状态,也就是说它们不能被删除或重命名,除非从文档中删除 DTD 文件。

虽然无法将 DTD 文件导入 InCopy,但是在 InCopy 中编辑文章时,也可以使用在 InDesign 中导入的 DTD 文件。可以在 InCopy 中查看该 DTD 文件并对照它验证文章,以确保标签已经正确应用。

ch_10
DTD file opened for viewing in InCopy

注意:

您可能会发现某个工作组或企业创建的 DTD 文件与自己的文件十分相似(包括符合您要求的标签和结构)。有关已注册 DTD 的当前列表,请参阅 www.xml.com/pub/rg/DTD_Repositories(仅英文)。

XML 规则集

XML 规则集是使用脚本语言(如 JavaScript 或 AppleScript)编写的指令集,用来评估 XML 数据并在数据满足特定条件时采取相应操作。每条规则都包括至少一个条件和至少一个操作。规则对照条件评估 XML 数据,并且在满足条件时采取相应操作。例如,某条 XML 规则可以规定,只要 Paragraph 元素出现在 Subhead 元素之下(条件),便应用特定的样式(操作);或者,只要出现 Product 元素(条件),便创建一个新框架并导入一幅产品图像(操作)。XML 规则是一种基于 XML 动态创建和设置格式版面的手段。

为 K4 或 InCopy 工作流程准备 XML 文件

要准备具有 XML 标签的文件以便在 K4 或 InDesign/InCopy 工作流程环境中使用,您可能需要调整准备结构的方式以及将 XML 导入 InDesign 文件的方式。

有两种方法可将 XML 导入 InDesign:合并和追加。合并会替换现有结构,而追加会将 XML 添加到所有现有结构。在这两种情况下,根元素均不得与文本框架有关联。根据当前的工作流程或要求,使用名为“Root”的默认元素或重命名此元素,并再次确认此元素与文本框架没有关联。

有关在 K4 或 InCopy 工作流程中使用 XML 的更多信息,请与您的系统管理员联系。

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略