愛我中華,肄我中文
> 汉文博士及字词库下载
汉文博士网站已搬迁至 hanbox.cnblogs.com,请更新您的收藏夹
> EditPlus 中文版下载
版本:5.7.4586 (2024年1月编译) 密码:8518
> BowPad 中文版下载
版本:2.8.8 (2023年6月编译) 密码:8518
> BabelMap 中文版下载
最新版本:15.1.0.3 (2023年10月更新)
> Classic Shell 中文版下载
最新版本:4.3.1 (2017年10月16日)

循序渐进制作我的词典数据库(一)

期待已久的词典编译器终于发布了。从今天开始,我将逐步向大家介绍如何制作词典数据库。

制作词典数据库至少要有两个文件:第一个是编译器所用的配置文件;第二个是词典的文本内容,即源数据文件。编译器的配置文件用于告诉程序如何将词典的文本内容编译 成词典数据库,配置文件是 XML 文件,要按一定的语法撰写。而源数据文件的结构则是自由的。只要文本数据有一定的规律,都可能可以通过编写配置文件来编译成数据库。

下面,让我们从最简单的地方开始,制作一个只有两个词条的词典数据库。本示例所采用的文件可在此处下载

源数据文件

首先,使用记事本或其它文本编辑器,编写一个词典文本文件(示例1.txt),其内容如下:


yi1
最简单的数字

一鼓作气
yi1 gu3 zuo4 qi4
一下子完成任务

该文件有七行,其中有两个词条(“一”和“一鼓作气”)。第一行(“一”)是词条,在词条下面的两行是“一”的解释文本;后续出现的一个空行表示解释文本结束,再下一行将是新的词条(“一鼓作气”),后续的内容则是“一鼓作气”的解释。

将上述词典文本文件保存到硬盘上,命名为“示例1.txt”。

编译器配置文件

有了源数据文件后,我们可以开始编写编译器的配置文件了。

编译器配置文件是 XML 文件。这是一种使用尖括号标签标记的文本代码文件,在W3School网站IBM网站上均有如何编写 XML 文档的概念和入门讲解,在此就不再介绍 XML 文档的知识了。本示例的编译器配置代码如下所示。

 1 <?xml version="1.0" encoding="gbk"?>
 2 <config
 3     title="示例1"
 4     description="一步步教你生成数据库"
 5     url="http://hanzisearcher.cnblogs.org"
 6     author="Dr. Han"
 7     version="第一版">
 8     <data file="示例1.txt">
 9         <row field="1"/>
10     </data>
11 </config>

编译配置文件的根元素中包含了词典的基本属性。其中,“title”属性是词典在程序检索结果中出现的名称,它是必须出现的。其它的内容则是可选的信息,例如“description”表示词典的简要描述内容,“url”告诉使用者查看该网址可以获得更多的信息,“author”表示词典的制作者或编者,“version”表示词典的版本信息。

“data”元素出现在根元素之内,表示词典数据库的数据来源及内容布局。执行编译时,程序会读取“file”属性所指向的文件,然后按照“data”内各子元素的定义分析源文件,将其转换为词典数据库的条目。之前,我们已经保存源数据文件为“示例1.txt”,因此,在“file”属性中填入“示例1.txt”。在“data”元素内的“row”子元素,表示“示例1.txt”文件是由一行一行的文本构成的,“field”属性表示文本对应哪个字段定义。在本示例中,我们没有定义任何字段,所以,在“field”属性的值中填“1”。

完成编辑后,将配置文件保存为“示例1.xml”文件。配置文件和源数据文件要处于同一个目录下,否则需要更改“data”元素的“file”属性以匹配两文件的位置关系。

执行编译

保存了上述两个文件后,打开程序,在“文件”菜单中选择“词典编译器”命令。

词典数据库编译器

点击“定义文件”右边的“加载”按钮,选择之前保存的“示例1.xml”文件。

选择了定义文件之后,在“输出位置”处将显示将要生成的词典数据库的位置(默认位置为程序安装目录下的“database”文件夹。

 

输出位置中的输出文件名默认为配置文件根元素的“title”属性值。

点击“编译”按钮,程序将按编译配置文件的配置读取源数据文件并生成词典数据库。结果如下图所示。

编译结果

测试词典

完成编译后,程序将自动挂接刚刚生成的词典。在词典的管理界面可以看到增加了新的词典,名称为“示例1”,如下图所示。

新增的“示例1”词典

双击词典的名称,可以查看其摘要信息,如下图所示。

编译后生成的示例词典信息

关闭词典信息和词典对话框,在词典检索界面输入“一鼓作气”,可得到如下检索结果。

再输入“一”,可得到如下检索结果。

恭喜你,第一个词典数据库编译成功了!

posted @ 2013-02-19 16:17  汉文学士  阅读(5335)  评论(0编辑  收藏  举报