ETD 指南/学生/在 MS Word 中
将 MS Word 文档转换为指定 SGML 或 XML DTD 的实例是一项非常复杂的任务。您需要以下内容:
- 一个 SGML 或 XML 文档类型定义 (DTD),用作输出的结构模型。也就是说,输出 SGML 文档对特定 DTD 有效,或者说是该 DTD 的实例
- 一个 Word 样式表,根据 DTD 中的结构保存段落和字符样式。因此,如果在 DTD 中定义了作者的结构(例如,在输出文件中表示为)
- <author>
- <title>Dr.</title><firstname>Peter</firstname><surname>Fox</surname>
- </author>
- 您必须在 Word 中找到表达方式
- 段落样式:作者
- 字符样式(仅用于作者段落):firstname、surname、title
- 您需要某种配置文件,以便将 DTD 元素映射到 Word 元素,反之亦然。
- 您需要一个 SGML 或 XML 解析器来根据 DTD 检查输出 SGML/XML 文档。
转换通常是通过直接使用 MS Word 的插件完成的。但其他选项使用 Microsoft 内部交换格式 RTF(富文本格式)进行转换。这些工具可以解释带有 MS Word 样式的 RTF 文件,这些样式仍然编码在这个 RTF 文件中,并将它导出为 SGML 文档。此过程主要在批处理模式下进行,无需使用太多图形用户界面。
在以下段落中,我们将描述几种方法
1. 蒙特利尔大学、里昂第二大学、智利大学的方法
2. 柏林洪堡大学和德国范围内的在线论文项目
其他方法也在开发中,特别是在斯堪的纳维亚和奥斯陆大学/挪威。我们尚未提及他们的解决方案。
将 Word 文件转换为 SGML 文档的处理流程是在 CyberThèses 项目中开发的,使用用 Omnimark 语言编写的脚本。
处理流程的输入是带有“结构样式表”的 RTF 文件,输出是根据 TEI Lite DTD 编码的 SGML 文档(参见 TEI 网站 http://etext.virginia.edu/TEI.html)。
转换过程由三个主要步骤组成:
- 第一步将 RTF 文件转换为根据 RTF DTD 编码的扁平 XML 文件。生成的文件是段落元素的线性序列,每个元素都有一个显式的“样式名称”属性,对应于 RTF 样式名称。
- 第二步是根据对样式名称属性的分析重新生成文档的层次结构和逻辑结构。
- 最后,SGML 解析器允许验证生成的 SGML 文档与 TEI Lite DTD 的一致性。
然后,一些补充脚本允许将 SGML 文档导出到其他格式(HTML、XML)。
大多数脚本可从 CyberTheses 网站获取:http://www.cybertheses.org
该系统专用于特定 DTD,但将其推广到其他文档模型不会造成任何困难。
为什么我们使用 SGML Author for Word?
“在线论文”项目实施并完善了转换策略,允许将使用特殊样式表 (dissertation.dot) 在 MS Word 中编写的文档转换为 DiM.dtd 的 SGML 实例。
我们出于以下几个原因使用了微软的这款产品 SGML Author for Word:
- SGML Author 非常易于配置
- 它易于使用。
- 与其他生产相同质量的 SGML 文件的软件相比,它的价格更便宜。
- 它支持国际表格标准:CALS。
- 作为 Word 的插件,它比其他工具更好地处理 MS-Word doc 格式的文档。
- 由于我们在 1997 年开始使用这项技术,它从一开始就支持 Word97,即当时实际使用的 Word 版本。
不幸的是,微软没有继续开发这款工具。因此,Office 2000、Office XP 或 Office 2007 都有新版本可用。但 MS Word 97、MS Word 2000、Office XP 和 Office 2007 的内部文档格式在转换为 SGML 的意义上是相同的。这意味着在 Word 2000、Office XP 或 Office 2007 中编写的文档可以导入到 Word97 中,因此可以进行转换。
先决条件
要成功将 Word 文档转换为 DiML 文档,您需要:
- DiML 文档类型定义 (diml20.dtd、calstb.dtd)
- SGML-Author for Word97(可能不再在 Microsoft 商店中提供,但 NDLTD 尤其是 Edward Fox 教授可能会提供可与英语 Word 配合使用的英语版本)
- Microsoft SGML-Author for Word 的关联文件 (diml20.dta)
- 转换样式表,它包含几个宏,用于简化预转换过程。
- perl 编程语言(免费软件)
- nsgmls-Parser(免费软件)
- 几个 perl 脚本用于修正表格的转换。
您的计算机上必须安装以下软件:
- SP (NSGMLS)(James Clark 编写的 SGML 文件解析器)。(新版本可在 http://openjade.sourceforge.net/doc-1.4/index.htm 获得,但我们尚未测试)
- 运行 SP(Richard Light 编写的 SP 的 WYSIWYG 工具)。 http://www.light.demon.co.uk/runsp/index.htm
- Perl(用于使用 perl 脚本的脚本语言)。
转换样式表和作者样式表可从以下网站获取:http://dochost.rz.hu-berlin.de/epdiss/vorlage.html
转换脚本和 perlscript 可从 http://www.educat.hu- berlin.de/diss_online/software/tools.exe (Perl scriptc、DTD 和 MS SGML-Author for Word 的转换文件 - KonverterDiML2_0.dta)
转换
将 Microsoft Word 文档转换为 SGML 文档(它是柏林洪堡大学使用的 DiML.dtd 的实例)需要几个步骤:
1. 步骤:准备转换,无需直接使用转换器 Microsoft SGML Author for Word
检查正确的使用方法
加载转换样式表(不是作者使用的样式表),参见下图。
可以使用某些特定于 Word 的文本锚点从 Word 文档中获取页码,这是一个特殊功能。必须使用页码样式表将它们转换为硬编码信息。
作者在不使用样式表的情况下应用的格式必须替换为正确的样式表。
为了在普通浏览器中使用 CSS 样式表正确显示表格,空的表格单元格必须用一个空格(字母)填充。
软编码的换行符必须保留以进行转换。这是通过在其中插入特殊字符 #BR# 来完成的。这将用于稍后插入软换行符的特殊 SGML 标签
.
2. 步骤:使用 Microsoft SGML Author for Word 进行转换
在“文件”菜单中按“另存为 SGML”按钮。
加载转换器文件 KonverterDiML2_0.DTA
使用反馈文件 (fbk) 检查 XML/SGML 输出,参见下图。
3. 步骤:自动处理输出文件(根据 DiML.dtd 输出)。
使用批处理文件 preprocessor.bat 加载 perlskripts
解析 DiML 文件
必须手动清除错误
4. 步骤:将 DiML 文件转换为 HTML 文件
使用批处理文件 did2html.bat 加载 perl 脚本
检查 HTML 输出。
手动更正 SGML 文件中的可能错误,然后重复转换。
演示 QuickTime 视频也可在 ETD-Guide 服务器上找到。(参见 http://www.educat.hu- berlin.de/diss_online/software/didi.mov)
文本编辑器,可以导出 SGML/XML 文档的桌面出版系统
使用用户指定的 [1] DTD 导出数据的工具
- WordPerfect 7.0 及更高版本(Corel http://www.corel.com )
- FrameMaker+SGML6.0(Adobe)(http://www.adobe.com )
使用其自身原生 [2] DTD 导出数据的工具
- Openoffice(SUN/开源)(http://www.openoffice.org )
- AbiWord(AbiWord/开源)(http://www.abisource.com )
- Kword(KOffice,KDE 项目/开源)(http://www.kde.org )
Omnimark(Omnimark)(http://www.omnimark.com )
MarkupKit(Schema)(http://www.schema.de )
Majix(Tetrasix)(http://www.tetrasix.com )
TuSTEP(RZ Uni Tübingen)(http://www.uni-tuebingen.de/zdv/tustep/index.html)
文献
[1] Bollenbach, Markus; Rüppel, Thomas, Rocker, Andreas: FrameMaker+SGML5.5. Bonn; Reading, Mass., Addison-Wesley Longman, 1999, ISBN 3 8273 1508 5
[2] St. Laurent; Biggar, Robert: Inside XML DTDs. New York, McGraw Hill, 1999, ISBN 0 07 134621 X
[3] Ducharme, Bob: SGML CD. New Jersey, Prentice Hall, 1997, ISBN 0 13 475740 8
[4] Smith, Norman E.: Practical Guide to SGML/XML Filters. Plano. Texas, Wordware Publishing Inc., 1998, ISBN 1 55622 587 3
[5] Goldfarb, Charles; Prescod, Paul: XML Handbuch. München, Prentice Hall, 1999, ISBN 3 8277 9575 0 无效 ISBN
下一部分:在 WordPerfect 中