使用xml表示电子字典数据的方法

文档序号:6615575阅读:175来源:国知局

专利名称::使用xml表示电子字典数据的方法
技术领域
:本发明涉及的是一种表示电子字典数据的方法,更确切地说是涉及一种使用可扩展标记语言(extensibleMarkupLanguage,筒称为XML)表示电子字典凄t据的方法。
背景技术
:随着数字化时代的来临,学习也逐渐走向电子化、信息化,电子字典或词典(electronicdictionary)的普及,大大减少了人们学习时烦瑣的查阅数据的时间。除了电子字典机,目前手机、个人数字助理(PDA)、MP3或MP4等产品纷纷加入了电子字典功能。对于开发者而言,处理电子字典数据的做法通常是针对出版商所提供不同格式的原始数据,通过相应的程序来生成最终应用到硬件上的二进制数据。当这些二进制数据的格式被修改后,原先用来生成这些二进制数据的程序都必须做相应的修改。而使用二进制数据调试、查找错误及修正都会比较麻烦而容易出错,尤其面对电子字典越来越庞大的数据量,更是使得测试工作相加繁重。为了解决出版商所提供的原始数据和应用到硬件上的二进制数据之间差别太大的问题,建立一种中间过渡的数据文件是非常必要的。
发明内容本发明的目的就是在提供一种使用可扩展标记语言(XML)表示电子字典数据的方法,用以克服上述缺陷。本发明提出一种使用XML表示电子字典数据的方法,其首先将各种原始数据通过相应的处理程序,以生成相应的可扩展标记语言(XML)文件,所述的原始数据是由各出版商提供以应用在电子字典的文本数据;接着将所述的XML文件通过一个转換程序,以生成相应的二进制数据,所述的二进制数据用来应用到电子字典硬件上。其中,所述的XML文件的生成规则包括(1)所述的可扩展标记语言文件定义了一个根节点,这个根节点其下包括一个格式信息节点、至少一个纪录节点及一些根节点属性,所述的根节点属性可用来提供这个根节点的基本信息;(2)所述的格式信息节点定义了电子字典数据统一的排版信息,其包括至少一格式类型节点,且所述的格式类型节点包括类型属性及排版方式属性,其中类型属性内容为所欲统一排版的对象,排版方式属性的内容规范排版方式;以(3)所述的纪录节点用来包含电子字典数据中每一个词条的可见内容和用于程序处理的检索信息及其它标志信息,所述的纪录节点其下包含一个标题节点、至少一个显示页节点和一些纪录节点属性;其中,(a)所述的纪录节点属性内容记载了纪录节点所对应的词条的唯一辨识码,它标识了词条在整个电子字典数据中的位置;(b)所述的标题节点其下包括一个检索输入方式节点、至少一个检索结果显示节点和一个显示段落节点,其中所述的检索输入方式节点包含了检索用的方式及字符串,所述的检索结果显示节点则用于包含检索时结果的显示,而所述的显示段落节点内容则是显示时的标题段落,其下包括至少一个段落片段节点,每个段落片段节点内容则是显示段落节点所对应的段落中某一片段内容,通过设定每个段落片段节点的属性来表示每个片段内容的风格;以及(c)所述的显示页节点把除词条除标题外的内容进行分解到所述的显示页节点其下所包括的段落片段节点,所述的显示页节点的显示页编号属性确保即便是词条中间位置的内容也可被容易的定位。本发明通过XML表示电子字典数据,产生更具结构性、标准性及可读性的XML文件作为中间过渡的数据文件,可以克服出版商提供的原始数据和应用到电子字典硬件上的二进制数据之间差別太大的问题,且由于统一的规范定义了不同的原始数据显示的方式,当修改了二进制数据后,只要修改负责从XML文件生成二进制数据的转换程序即可,大大降低测试难度及工作量。图1为依照本发明一实施例所绘示的使用XML表示电子字典数据的方法的流程图2为依照本发明一实施例所绘示的使用XML表示电子字典数据的方法中生成的二进制数据的片段应用到电子字典硬件上的实际显示画面;图3为依照本发明一实施例所绘示的使用XML表示电子字典数据的方法中生成的XML文件的树形结构图4为图2所示的电子字典实际显示画面相应的二进制数据的片段。附图标记说明Sll-将各种原始数据通过相应的处理程序以生成相应的XML文件;S12-将XML文件通过一个XML2BIN程序以生成相应的二进制数据。具体实施例方式以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。图1为依照本发明一实施例所绘示的使用XML表示电子字典数据的方法的流程图。请参照图1,首先,在步骤Sll,将各种原始数据通过相应的处理程序,以生成相应的XML文件。例如,原始数据A通过处理程序A以生成XML文件A,而原始数据B通过处理程序B以生成XML文件B。原始数据例如是英汉字典、汉英字典、英英字典、专业字典、生活美语、旅游会话等由各种出版商提供以应用在电子字典的文本数据。但是,不同出版商提供的原始数据的格式通常是不相同的,甚至于同一出版商提供的原始数据的格式也有可能是不相同的,因此必须依据原始数据的格式采用相应的处里程序以生成相应的XML文件。由于XML本身所具有的灵活性和结构性,使得利用一些测试程序校验步骤S11所生成的XML文件变成是一件容易的事情,而且XML文件还可以使用一般的文本编辑器来查看和修改。接着,在步骤S12,将这些XML文件通过一个转换程序(XML2BIN程序),以生成相应的二进制数据,这个二进制数据可应用到电子字典硬件上。例如,XML文件A通过XML2BIN程序以生成二进制数据A,而XML文件B通过XML2BIN程序以生成二进制lt据B。图2为依照本发明一实施例所绘示的使用XML表示电子字典数据的方法中生成的二进制数据的片段应用到电子字典硬件上的实际显示画面。请参照图2,这是一部英汉字典,画面右半部显示这部英汉字典某一词条的可见内容(即印刷出来的内容),在本例中,其包括词条的标题"anywhere"、词性"adv"、第一个词意"l任何地方renhedefang."、第二个词意"2[习语]getanywhere—GET."等。某些词条由于可见内容较多,需要两个以上的显示页才能完整表示。图3为依照本发明一实施例所绘示的使用XML表示电子字典数据的方法中生成的XML文件的树形结构图。请参照图3,所述的XML文件将电子字典数据以XML格式表示,其定义了一个名为layout的根节点。由于这个根节点亦是一个XML的根元素(rootelement),故根节点亦可称为根元素、layout节点或layout元素,而所述的XML文件亦称为layoutXML文件。这个根节点其下包括一个格式信息(format一info)节点、至少一个纪录(record)节点及一些根节点属性,其中所述的根节点属性可用来提供这个根节点的基本信息,如拥有者、字典种类、字典版本等。在layoutXML文件中,根节点属性是以元素的属性(attribute)方式表现,format—info节点和record节点是以元素(element)方式表现,故format—info节点亦可称为format—info元素,而record节点亦可称为record元素,其它可依此类推。formatjnfo节点定义了电子字典数据统一的排版信息,如缩进方式、对齐方式或对齐位置等。例如以图2所示词条画面为例,其format—info节点如下<form3t—info><format_typetype="wd—title"first—ind="0"second—ind="0"/〉<format_typetype="Definition"first—ind="0"second—ind="0"/〉<format—typetype="Meanseg"first_ind="l"second_ind="1"/〉<format—typetype="MeansegNol"head—ind="l"first—ind="3"second—ind="3"/〉<format_typetype="MeansegOneSubl"head—ind="l"first—ind="7"second—ind="7"/〉<format—typetype="subPhrase"first_ind="3"second—ind="3"/〉<format—typetype="subMeanseg"head—ind="3"first—ind="7"second—ind="7"/〉<format—typetype="subPhraseMean"first—ind="3"second—ind="3"/〉</format—info>在本例中,format—info节点其下包括数个格式类型(formatJype)节点,这些format—type节点分别用来定义不同的格式类型所对应的排版方式。如第一个format—type节点,其类型(type)属性内容为"wd_title",表示这个节点用来定义词条的标题所对应的排版方式;其排版方式属性包括内容为"O"的firstjnd属性和内容为"O"的second—ind属性,这些属性表示4非版方式为顶4亍。如果layoutXML文件中某个节点内容是词条且其type属性内容同样是"wd一title",则代表所述的节点是词条的标题,其受到所述的第一个format—type节点定义的排版方式所规范而顶行。每个record节点包含了一个词条的可见内容(即印刷出来的内容)、用于程序处理的检索信息及其它标志信息。每个record节点其下包括一个标题(title)节点、至少一个显示页(page)节点和一些record节点属性,其中所述的record节点属性内容记载了record节点所对应的词条的唯一辨识码,它标识了词条在整个字典中的位置。例如以图2所示词条画面为例,其record节点如下<recordrec—no="489"src_id="OEC2-004890"><titlepage—no=Trec_no="489"〉......</title〉<pagetype="definition"page—no="2"〉......</page></record>在本例中,record节点的rec—no属性记载词条的唯一辨识码,而src—id属性记载词条在原始凄t据中的词条编号。通常情况下,这个layoutXML文件同时还包括了一个链接映像(linkmap)文件,其亦是XML格式的文件,由src_id和dst一id对组成,记载了原始数据中的词条编号与layoutXML文件中词条的辨识码的对应关系。例如以图2所示词条画面为例,其linkmap文件如下<map_tabledescription="linkmap"〉<map〉<src—id〉OEC2-0000010</src—id〉<dst—id〉[oec2]/l/l</dst_id></map〉<map><srcid>OEC2-0000010</src—id><dst_id>[oec2]/2/l</dst—id></map〉<map><src—id>OEC2-0048070</src—id〉<dst—id>[oec2]/4807/l</dst_id〉</map><map><src—id>OEC2-0090010</src—id〉<dst—id〉[oec2]/9901/1</dst—id〉</map〉<map〉<src—id〉OEC2-0090020</src—id><dst_id〉[oec2]/9902/l</dst_id〉</map〉</map—table〉title节点其下包括一个检索输入方式(key)节点、至少一个检索结果显示(word)节点、一个显示段落(section)节点。key节点包含了检索用的方式及字符串。word节点则用于包含检索时结果的显示。section节点是最主要的组成部分,其是显示时的标题段落。section节点其下包括至少一个段落片段(segment)节点,每个segment节点内容则是section节点所对应的段落中某一片段内容,可以通过设定每个segment节点的属性来表示每个片段内容的风格,例如是否有下划线、是否有删除线、是否必须作为一个整体处理等,这样进一步就表示了整个段落内容的风格。例如以图2所示词条画面为例,其title节点如下<titlepage—no='T'rec—no="489"〉<keytype="en"string="anywhere"〉0061006E007900770068006500720065</key〉<wordtype="list">0061006E007900770068006500720065</word〉<wordtype="view"〉0861086E087908770868086508720865</word〉<sectiontype="wd_title"〉<segmenttype="word"〉0861086E087908770868086508720865</segment〉〈segmenttype="blank"〉0020</segment>〈segmenttype="pr"〉002F2206222C225D224A228F222C222F002822750029003B00200455045322022241228F222C222F2275002F</segment></section></title>在本例中,key节点的属性规范检索时以英文方式进行(type="en"),而需键入的字符串为"anywhere"(string="anywhere")。title节点其下的section节点是显示时的标题段落,即图2所示画面中词条的标题及音标,即"anywhere/tTrwTQ(q);f/S-orTQ(q)/"。这个标题段落被分成三个片段来表示,故section节点其下包括三个segment节点,分别对应到的片段内容为标题"anywhere"、空白字符""和音标"/tTnarTQ(q);^S-。rTQ(q)/"。在另一例中,词条"@"在检索时输入"at"可以查到该词条,但字典上词条的内容中并不包含此内容,其对应record节点会包含一个string属性内容为"at"的key节点。page节点把词条除标题段落外的内容进行分解,它的显示页编号(page一no)属性确保即便是词条中间位置的内容也可被容易的定位。page节点其下包括至少一个显示段落(section)节点。section节点是最主要的组成部分,其是除标题段落外显示时的段落。section节点其下包括至少一个段落片段(segment)节点,每个segment节点内容则是section节点所对应的段落中某一片段内容,可以通过设定每个segment节点的属性来表示每个片段内容的风格,例如是否有下划线、是否有删除线、是否必须作为一个整体处理等,这样进一步就表示了整个段落内容的风才各。例如以图2所示词条画面为例,其page节点如下<pagetype="definition"page—no="2"><sectiontype="Definition"><segmenttype="ps">046104640476</segment〉</section〉<sectiontype="MeansegNol"〉<headtype="serial_number"〉083l</head><segmenttype="mean—normal"〉79FD74D9730D73AE0020</segment>〈segmenttype="py"〉2553264B</segment><segmenttype="py"〉252C251F</segment〉〈segmenttype="py"〉0020</segment〉〈segmenttype="py"〉25172531</segment〉〈segmenttype="py"〉25282625</segment〉〈segmenttype="py">002E</segment〉</section><sectiontype="MeansegNol"〉<headtype="serial_number"〉0832</head>〈segmenttype="abbr_normar>005B7C717E28005D</segment〉</section><sectiontype="subPhrase"〉<userinfotype="subphrase—word">getanywhere</userinfo><segmenttype="word">08670865087400200861086E087908770868086508720865</segment〉<scction><sectiontype="subPhraseMean"〉<linkdst—id="OEC2-0048070"〉10DD</link〉〈segmenttype="link—word"〉004700450054</segment><segmenttype="mean_normal">002E</segment></section></page>在本例中,type属性内容为"subPhraseMean"的section节点,其下包括了一个链接(link)节点。这种link节点用来表示参考词条的辨识码和内容,可以利用其ref属性内容方便地找到对应的词条,如字典上仅显示有"参见「abcJ",而在link节点则会同时标出"abc"的词条编号。以上所述定义了使用XML表示电子字典数据所需的最基本的元素。如果电子字典数据中有图片需要显示,还可以在page节点其下增加图像(image)节点,并在image节点属性中定义图片的长宽、颜色、对齐方式,再将图片编码成16进制数据作为所述的image节点的内容。再者,在page节点其下还可以增加虚拟标题(vtitle)节点及/或副标题(subtitle)节点,用于含有虚拟标题及/或副标题的其下还可以增加flagjnfo节点,用于包含显示时需用的标志信息。例如以图2所示词条画面为例,其flag—info节点如下<flag—info〉<flag—defbit="0"icon="[JU]">IdiomWordFlag</flag_def><flag—defbit="9">ExampleFlag</flag—def><flag—defbit="ll"〉Nomeanpagefollowing</flag—def><flag—info〉图4为图2所示的电子字典实际显示画面相应的二进制数据的片段。请同时参照图2、图3及图4,XML2BIN程序把layoutXML文件转到二进制数据时,先读入layoutXML文件,首先遇到的是format—info节点,程序在内存中建立一个对照表,把各format—type节点的type、first—ind、second_ind等属性内容保存起来。接下来是flag—info节点,同样建立对照表保存bit属性对应的内容,以供之后处理使用。当读到record节点时,把key节点的内容分别写到用于查询的文件中,把word节点的内容写到用于list画面显示的文件中,在图4文件的0001F702H处,写入"0200"表示有1个title节点和1个page节点,然后是标题段落的总长度"2600",接着在内存中建立的第一个对照表中查找名为"wdjitle"的项,转换为标志,殳落縮进才各式的"ElFF81FF0000FDFF0BFF",然后把section节点中各segment节点的内容写入到文件中,用"FFFF"表示标题段落的结束,这样标题段落title节点的内容就写完了。接下来,与此类似,写入page节点的内容。重复此过程从而完成全部文件的转换。与图4的二进制数据格式的表示相比较,很显然以layoutXML表示的文件更容易定位记录在整个文件中的位置和辨识记录各部分内容。更主要的是一旦需要更改二进制数据的表现形式时,例如需要把字节流从BigEndian转到LitteEndian(高低字节换位,例如00AA->AA00),或者需要把title的结束标志"FFFF"修改为"EEEE",那么只需修改XML2BIN程序就可以了,不需要每本原始数据字典的程序各自去修改,从而大大减少了工作量和出错的可能性。综上所述,本发明的使用XML表示电子字典数据的方法,其通过产生更具结构性、标准性及可读性的XML文件作为中间过渡的数据文件,可以克服出版商提供的原始数据和应用到电子字典硬件上的二进制数据之间差别太大的问题,且由于统一的规范定义了不同的原始数据显示的方式,当修改了二进制数据后,只要修改负责从XML文件生成二进制数据的转换程序即可,大大降低测试难度及工作量。以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。权利要求1、一种使用可扩展标记语言表示电子字典数据的方法,其特征在于,其包括将各种原始数据通过相应的处理程序,以生成相应的可扩展标记语言文件,所述的原始数据是由各出版商提供以应用在电子字典的文本数据;以及将这些可扩展标记语言文件通过一个转换程序,以生成相应的二进制数据,所述的二进制数据用来应用到电子字典硬件上;其中,所述的可扩展标记语言文件的生成规则包括(1)所述的可扩展标记语言文件定义了一个根节点,这个根节点其下包括一个格式信息节点、至少一个纪录节点及一些根节点属性,所述的根节点属性可用来提供这个根节点的基本信息;(2)所述的格式信息节点定义了电子字典数据统一的排版信息,其包括至少一格式类型节点,且所述的格式类型节点包括类型属性及排版方式属性,其中类型属性内容为所欲统一排版的对象,排版方式属性的内容规范排版方式;以及(3)所述的纪录节点用来包含电子字典数据中每一个词条的可见内容和用于程序处理的检索信息及其它标志信息,所述的纪录节点其下包含一个标题节点、至少一个显示页节点和一些纪录节点属性;其中,(a)所述的纪录节点属性内容记载了纪录节点所对应的词条的唯一辨识码,它标识了词条在整个电子字典数据中的位置;(b)所述的标题节点其下包括一个检索输入方式节点、至少一个检索结果显示节点和一个显示段落节点,其中所述的检索输入方式节点包含了检索用的方式及字符串,所述的检索结果显示节点则用于包含检索时结果的显示,而所述的显示段落节点内容则是显示时的标题段落,其下包括至少一个段落片段节点,每个段落片段节点内容则是显示段落节点所对应的段落中某一片段内容,通过设定每个段落片段节点的属性来表示每个片段内容的风格;以及(c)所述的显示页节点把除词条除标题外的内容进行分解到所述的显示页节点其下所包括的段落片段节点,所述的显示页节点的显示页编号属性确保即便是词条中间位置的内容也可被容易的定位。2、根据权利要求1所述的使用可扩展标记语言表示电子字典数据的方法,其特征在于,所述的显示段落节点还包括一个链接节点,用于表示参考词条的辨识码和内容,以找到对应的词条。3、根据权利要求1所述的使用可扩展标记语言表示电子字典数据的方法,其特征在于,所述的显示页节点还包括至少一图像节点,在所述的图像节点属性中定义图片的长宽、颜色、对齐方式等基本信息,并把相应的图片编码作为所述的图像节点的内容。4、根据权利要求1所述的使用可扩展标记语言表示电子字典数据的方法,其特征在于,所述的显示页节点还包括虚拟标题节点或副标题节点,用于含有题节点或副标题节点的内容。5、根据权利要求1所述的使用可扩展标记语言表示电子字典数据的方法,其特征在于,所述的根节点还包括旗标信息节点,用于包含显示时需用的标志信息。6、根据权利要求1所述的使用可扩展标记语言表示电子字典数据的方法,其特征在于,所述的可扩展标记语言文件同时还包括一个链接映射文件,用于记录原始数据中词条的编号与可扩展标记语言文件中词条的辨识码的对应关系。全文摘要本发明是一种使用可扩展标记语言(简称为XML)表示电子字典数据的方法,其通过产生更具结构性、标准性及可读性的XML文件作为中间过渡的数据文件,可以克服出版商提供的原始数据和应用到电子字典硬件上的二进制数据之间差别太大的问题,且由于统一的规范定义了不同的原始数据的方式,当修改了二进制数据后,只要修改负责从XML文件生成二进制数据的转换程序即可,大大降低测试难度及工作量。文档编号G06F17/30GK101464875SQ20071030192公开日2009年6月24日申请日期2007年12月20日优先权日2007年12月20日发明者陆春勇,顾周怡申请人:金宝电子(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1