xml 用于传输数据的包_用于发布的XML

xml 用于传输数据的包

当您进入基于XML的发布环境时,正确的方法可以节省时间,如果正确地计划和设计结构,甚至可以使新的发布范例成为可能。 XML是一种强大的内容存储介质,它将您的文档从大量的文本和对象转变为可排序,可调整的分层结构。 必须评估现有的非结构化内容,以实现短期和长期的发布目标。

本文介绍如何将设计用于打印发布的文档转换为结构化文档。 接下来的部分涵盖了逻辑上的必须性,以确保在过渡到XML之后可以进行发布,甚至更加容易。 重点是如何设计内容的结构。

考虑长期XML目标进行规划

作为作者,您可能习惯于使用文字处理器的格式以及Enter键。 (您键入,选择一种格式,按Enter,再输入更多,选择另一种格式,按Enter,依此类推。)使用结构,而不是使用Enter键,而是插入结构元素。 您调整为不考虑内容的格式 。 在结构世界中,您的创作工具或XML样式表可处理格式设置。

经字处理的文档包括键入的文本,图形和表格。 转换为结构后,将识别每个组件以及驱动发布过程或控件格式可能需要的任何特殊信息。 文档部分成为XML元素,可以像数据库中的字段一样对待-可以定位,排序,用于检索和以其他方式进行操作。 也可以根据元素的上下文(在其中嵌套元素的父元素或文档树中的祖先元素(层次结构))对元素进行不同的处理。

开始时使用的工具不应影响结构化的第一步,即确定发布目标并考虑这些目标来分析现有文档。 考虑以下问题:

  • 您的文档包含哪些数据?
  • 是否有复杂信息表?
  • 您的文档是否容易分解为较小的主题或部分?
  • 您的内容主要是自由格式的文本,而不是按节进行组织吗?
  • 您需要将文档的哪些部分标识为特殊元素或属性(以确保您可以根据需要将它们定位为重用,排序,跟踪或启用其他XML好处)?
  • 如果您的目标包括翻译,是否要包括用于标识已翻译内容的属性?
  • 您要注释任何文档内容还是将其标记为可用于文档的不同版本?

确定文件的结构

评估您现有的内容,并确定内容所隐含的结构。 例如,如果您发布技术手册,则您的文档可能包括文本部分,屏幕截图,插图,表格,过程,参考数据等。 您的文本可能会分为正文段落,列表,标题,标题和突出显示的短语。 图1显示了示例文档的一部分。 本节包括一个标题,几个段落和一组程序步骤。

图1.示例文档部分
示例文档部分

将段落类型分配给元素

评估这些组件,然后将段落类型分配给元素,为元素指定逻辑名称。 您有一个<title><head>元素开始(标题为“检查安装”),后跟一个您可能会在<p>元素中映射的段落以及可能会映射到<step>编号过程。 <procedure>元素中的元素。 通过包含这些步骤,您可以决定将文档的此部分标识为节的<task>类型,或者可以仅将其称为<section>元素。

因此,您需要逐段评估内容并决定如何查看结果结构。 除非您选择现成的结构,否则您可以自行决定使用元素名称。 使元素名称符合您和文档的逻辑。

以该文档为例,在评估它时,您会发现标题使用“ Heading 1”格式, 如图2所示

图2.示例部分的格式符号
示例部分的格式符号

如果知道要在<title>元素中,则必须为转换进行映射。 同样,对于其他每个段落(“正文优先”,“编号”,“正文”),您将确定要在转换期间创建的元素。 不要忘记考虑每个段落中的斜体和粗体文本格式,交叉引用以及其他项目。

图2中 ,您可以看到段落的类型(标题,编号的步骤等)。 考虑所有段落以及其中的特殊项目。 例如,在图2中,您可以看到突出显示的文本和带引号的短语。 您不仅可以将文档分解为<title><p><steps>而且可以分解为<xref><italic><user_action> 。 然后,您可以在步骤中包含斜体(或加粗或突出显示)的文本,在以下各段中包括交叉引用,或使用特殊元素标识引用的信息。 尽管未在图中明显显示,但此内容可能已标识词汇表或索引词,您可以创建元素来将这些词括起来。

考虑每个元素的层次结构

设置元素后,必须考虑每个元素的层次结构。 结构(XML)包含有关如何使用元素的规则。 有些元素将被包装在父元素中,即,一个元素完全包含另一个元素。 父元素内的元素称为子元素。 子元素可以具有同级,而同级也位于父级内。 元素之间相互嵌套的多个级别将产生文档层次结构。 定义每个元素后,您需要确定它可以位于哪些父元素中以及它可以包含哪些子元素(如果有)。

考虑属性

还请考虑确保您可以实现发布目标所需的任何属性(元素中包括的额外数据)。 可以设置属性以更具体地标识文档的各个部分,例如为<title>元素赋予一个赋予其标识的属性(例如<title type="summary"> ,其中属性名称为type ,而属性为值是摘要 )。 属性还可以保存其他信息,例如作者姓名或发布日期,或者可能对排序,检索或文档管理很重要的信息,但永远不会出现在已发布的文档中。

必要时重写

在进行这样的详细评估期间,您不仅可以开始计划将内容移动到结构中,还可以验证结构适合内容的程度。 要解决任何不匹配问题,您可以更改结构(如果可以的话)或重写内容。 为了更好地适应选定的结构,可能需要进行一些重写,因此首先要进行较松散的分析,然后再重新整理结构,并确定需要重写的区域,以使文档能够完成您需要做的所有事情。 在进行分析时,您将能够继续以当前的非结构化形式使用内容。

自定义元素与行业标准

您可以分析文档并使用您命名和设计的元素准备适合它们的结构。 或者,您可以使用行业标准的结构(例如,MIL-SPEC,DITA,DocBook)。 如果需要符合现有结构,则可能需要更改内容以使其适合所选结构。 要针对前面给出的示例使用DITA,您可能决定重写遵循程序步骤的段落。 如果示例文档使用的是DITA任务结构,则<task>元素将在过程步骤之后为内容提供有限的选项。 例如,尽管从逻辑上讲,步骤之后的段落可能不包含面向结果的文本,但是您可能不得不强制您的内容在<result>元素内放入多个<p>元素。 或者,您可能必须重写这些段落以使它们适合<task>元素的子元素<related-links> 。 对内容的更改可能是微妙的,也可能是极端的,具体取决于文档的方式和所需的结构。 在决定结构并开始转换文档时,请牢记潜在的不当之处。

转换格式映射

在确定结构,映射格式并使用工具时,您应该能够完成转换并将结构纳入文档中。 您可能会想到一个可能的映射, 如图3所示 。 第一列显示原始非结构化文档中的内容。 标识段落,然后标识文本范围(字符级格式),然后标识其他文档组件。 在第二列中,您将看到将围绕该内容的元素的名称。 在第三列中是注释,您可以用任何对您而言合乎逻辑的方式表示这些注释,并显示层次结构(祖先)最终应位于转换后的结构中。

图3.示例映射(表格模型)
映射表示例

现在,您可以使用这些数据来制定转化计划。 根据您使用的工具或专业知识,可以通过不同的过程进行转换。 某些工具(例如Adobe®FrameMaker®)提供了转换过程。 没有自己转换为结构的工具可能会要求您首先将内容导出为中间格式(例如,文本,HTML或非常原始的XML)。 使用该中间格式时,可能需要利用内部(或外部)专业知识来使用Perl,XSLT或其他脚本选项将原始输出转换为可用于发布的结构(XML)。

完成转换后,您可以查看内容的结构(请参见图4 ),并确认该结构适用于您的内容以及您自己。

图4.示例部分的潜在结果结构
潜在的结果结构

一个试点项目(无论是完整的文档还是一章)将帮助您确定所需的转换时间。 通过试用,您可以获取一小部分文档,执行完整的转换过程,并确保完成后可以对内容进行结构化,以使其适合发布。 当您认为结构和内容结合在一起时,请使用完整的样本进行完整的转换工作流程,然后查看结果。 如果您的设计很仔细,并且结构很好地适合您的内容,那么您现在就可以继续进行而无需重新设计。

短期分销需求

本文讨论的过程(文档分析,结构映射,重写)通常在继续发布时完成。 您仍然需要把文件拿出来。 在过渡到结构时,您需要使文档保持可用格式。 根据您的分布(纸张,PDF,HTML等),您可能会混合使用非结构化内容和结构化内容来进行发布。

准备将内容移入结构时,请使用以下过程:

  1. 备份原始的非结构化文件。
  2. 使用一个文档完成转换。
  3. 查看转换结果。
  4. 将转换后的文档另存为结构化文档(在您选择的工具中)或XML文件中。
  5. 从文档发布以确保将根据需要发布。
  6. 对您的其他文档重复一次此过程。

通过使用此过程,您可以随时发布您的文档,即使其中一些文档是非结构化的,而其他文档已通过该过程。 转换完所有文档后,您可以根据需要发布所有内容,而不会丢失任何内容。

结论

从非结构化发布到结构化发布需要花费时间和精力。 如果提前计划,则可以避免问题并确保平稳过渡。 这样的过渡来自对选项的仔细考虑,预先确定转换时间的试点项目以及用于快速转换的高级设置。

确保逻辑元素,属性和层次结构就位,这意味着在转换为XML后可以平稳地继续发布。


翻译自: https://www.ibm.com/developerworks/xml/library/x-publish/index.html

xml 用于传输数据的包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值