以双层容器生成目标文件的系统及其方法

文档序号:6338222阅读:202来源:国知局
专利名称:以双层容器生成目标文件的系统及其方法
技术领域
本发明涉及一种文件生成系统及其方法,特别是指一种以双层容器生成目标文件的系统及其方法。
背景技术
使用者界面(User hterface,UI),是电脑软硬件与使用者之间进行资讯交换的媒介,凡参与人类与机械的资讯交流的领域都存在着使用者界面。使用者界面使得使用者能够方便有效率地去操作电脑软硬件以达成双向的互动,完成所希望借助电脑完成的工作。使用者和电脑软硬件之间一般用受限制的自然语言进行互动,但随着视窗作业系统的普及,目前的使用者界面大多是以图形使用者界面(Graphics User Interface,⑶I)的方式呈现。事实上,开发图形使用者界面的过程是非常不容易的,开发者需要为图形使用者界面中的每一个图形物件撰写相对应的程序代码,这将使得一个看起来简单的图形使用者界面会有着冗长的程序代码,同时,在程序代码中通常会定义每一个图形物件(如图示或是程序的执行结果的显示范围)的大小、位置、颜色等属性以及图形使用者界面的整体显示风格,一旦图形物件需要更动,例如更改大小、位置、颜色等,开发者便需要修改程序代码,这样使得图形使用者界面的开发更加辛苦,因此,目前有许多软件改为使用HTML语法来呈现图形使用者界面,如此,图形使用者界面的开发者只需要使用简单的HTML语法便可以完成图形使用者界面的开发,这比撰写程序代码容易许多。在以HTML语法表现图形使用者界面的开发方式中,目前所使用的方式都是直接将图形使用者界面中的资料按照排列在HTML文件中的先后顺序排列成一个序列,如此,只需要按照序列的顺序读取资料便可以生成HTML文件。不过,由于某些HTML语法有着固定的位置,例如,CSS文件的载入语法必须要在网页的“〈HEAD〉”标签内,如此,在生成网页时, 一旦CSS文件的载入语法产生的时间较“〈HEAD〉”标签晚,则CSS文件的载入语法将排列在 “〈HEAD〉”标签之后,如此,网页中使用到该CSS文件的语法都无法正确的被表现,因此,开发人员在建立生成网页的序列时,往往需要特别考量各个语法产生的先后顺序,造成开发上的复杂度。综上所述,可知现有技术中长期以来一直存在网页语法必须要按照特定顺序产生而增加开发复杂度的问题,因此有必要提出改进的技术手段,来解决此一问题。

发明内容
有鉴于现有技术存在网页语法必须要按照特定顺序产生而增加开发复杂度的问题,本发明于是公开一种以双层容器(container)生成目标文件的系统及其方法,其中本发明所公开的以双层容器生成目标文件的系统,至少包含内存;目标资料读取模块,用以至各资料来源中读取目标资料;资料储存模块,用以于内存中初始化容器,容器包含多个子容器(sub-container),及用以将目标资料的各第一资料项目存入与各第一资料项目对应的子容器中,其中,子容器具有相对应的排列顺序;资料项目获取模块,用以获取与资料来源对应的第二资料项目,并由资料储存模块将第二资料项目存入另一子容器中;文件生成模块,用以依据各子容器的排列顺序及各第一资料项目与各第二资料项目于各子容器中的排列顺序,读取容器中的所有第一资料项目及所有第二资料项目,借以生成目标文件;输出模块,用以输出目标文件。本发明所公开的以双层容器生成目标文件的方法,其步骤至少包括初始化容器, 容器包含多个子容器,子容器具有相对应的排列顺序;至各资料来源中读取目标资料;获取与各资料来源对应的第二资料项目;将目标资料的各第一资料项目存入与各第一资料项目对应的子容器中;将各第二资料项目存入另一子容器中;依据各子容器的排列顺序及各第一资料项目与各第二资料项目于各子容器中的排列顺序,读取容器中的所有第一资料项目与所有第二资料项,借以生成目标文件;输出目标文件。本发明所公开的系统与方法如上,与现有技术之间的差异在于本发明通过容器所包含的各个子容器储存不同资料类别的资料项目,并依据子容器与资料项目的排列顺序读取资料项目来产生目标文件,借以解决现有技术所存在的问题,并可以达成将特定资料项目加入目标文件中的指定位置的技术功效。


图1为本发明所提的双层容器的示意图。图2为本发明所提的以双层容器生成目标文件的系统架构图。图3为本发明所提的以双层容器生成目标文件的方法流程图。主要元件符号说明100容器110第一子容器120第二子容器210内存220目标资料读取模块 230资料项目获取模块250资料分割模块260资料储存模块270文件生成模块280输出模块290标签模块400外部储存介质
具体实施例方式以下将配合图式及实施例来详细说明本发明的特征与实施方式,内容足以使任何本领域技术人员能够轻易地充分理解本发明解决技术问题所应用的技术手段并据以实施, 借此实现本发明可达成的功效。本发明是以双层式的容器(container)来产生包含目标资料的目标文件。其中, 本发明所提的目标资料为需要被显示的资料,其被储存于本发明之外的资料来源中。本发明所提的容器为内存中的储存空间,可能是一块连续的储存空间或是多个不连续的储存空间。一般而言,本发明所提的容器为链结串行(Iinked-Iist)的形式,但本发明并不以此为限,例如容器也可以为动态阵列的形式。如图1所示,在本发明所提的容器100中的各个元素实际上是另外一个容器,在本发明中,容器中的容器称为“子容器(sub-container)”,子容器(如第一子容器110、第二子容器120等)同样可以是链结串行或是动态阵列的形式,而子容器中的元素(如第一元素111、第二元素112等)才是储存资料项目的位置。其中,本发明所提的资料项目包含第一资料项目与第二资料项目,第一资料项目为目标资料中的部分资料,也就是说,目标资料可以被分为多个第一资料项目,各个第一资料项目分别顺序地被储存在容器100所包含的对应子容器的各个元素中。另外,第二资料项目为目标资料中需要放置在固定位置的资料项目,目标资料中包含有多个第二资料项目,且所有的第二资料项目被顺序储存在容器100 的另一个子容器的各个元素中。在本发明中,容器中的每一个子容器只储存属于特定的资料类别的资料项目。例如,容器中包含两个子容器,此两个子容器分别储存属于“CSS语法”的资料类别以及属于 "HTML语法”的资料类别的资料项目。但本发明所提的资料类别并不以“CSS语法”以及 “HTML语法”为限。以下先以图2本发明所提的以双层容器生成目标文件的系统架构图来说明本发明的系统运作。如图2所示,本发明的系统含有内存210、目标资料读取模块220、资料项目获取模块230、资料储存模块沈0、文件生成模块270以及输出模块观0。内存210负责提供储存空间。目标资料读取模块220负责至外部储存介质400中读取目标资料的第一资料项目。资料储存模块260负责在内存210中初始化容器100,也就是在内存210中配置一
块储存空间给容器100使用。资料储存模块260也负责将组成目标资料的所有第一资料项目分别存入与各个第一资料项目对应的子容器中。值得一提的是,资料储存模块260所储存的第一资料项目会成为与其资料类别相对应的子容器的最后一个元素。另外,在资料储存模块260储存资料项目时,若容器中不存在储存第一资料项目的资料类别的子容器,则资料储存模块260会先在容器100中建立储存属于该资料类别的第一资料项目的子容器,再将第一资料项目存入新建立的子容器中。 其中,特别值得一提的是,资料储存模块260建立子容器时,会依据组成目标文件所需的资料类别的顺序,将新建立的子容器排列在适合的位置,例如,目标文件为HTML档时,若属于 "CSS语法”的资料类别的子容器为新建立的子容器,则资料储存模块260会将属于“CSS语法”的资料类别的子容器排列在属于“HTML语法”的资料类别的子容器之前。资料项目获取模块230负责获取与外部储存介质400中的各资料来源对应的第二资料项目。资料项目获取模块230获取的第二资料项目通常为附加在目标文件中,与目标资料相关的资料。例如,第二资料项目可以为用来定义目标资料中各资料的显示格式的资料,但本发明所提的第二资料项目并不以此为限。一般而言,资料项目获取模块230只会获取与目标资料的资料来源对应的第二资料项目,但本发明并不以此为限。资料储存模块260会将资料项目获取模块230获取到的第二资料项目存入容器 100中的特定的子容器,其中,储存第一资料项目的子容器与储存第二资料项目的子容器并不相同。文件生成模块270负责依据容器中的各个子容器的排列顺序及各第一资料项目,各第二资料项目于各子容器中的排列顺序,由各个子容器中读取各个第一资料项目以及各个第二资料项目,借以由读出的资料项目生成目标文件。其中,文件生成模块270会依据资料项目在子容器中的排列顺序由各个子容器中读取资料项目,也就是说,每个子容器中的资料项目只会被文件生成模块270读取一次,而后当文件生成模块270至同一子容器读取资料项目时,文件生成模块270将会读取排列在前次被读取出的资料项目后的资料项目。输出模块280负责输出目标文件。输出模块280可以将目标文件显示在屏幕上的方式输出目标文件,也可以将目标文件储存到储存介质输出目标文件,但输出模块280输出目标文件的方式并不以上述为限。本发明还可以包含资料分割模块250。在本发明中,目标资料可能在储存于资料来源时,便已被分为多个第一资料项目,但若目标资料没有被分为多个第一资料项目,则资料分割模块250会在目标资料读取模块220读取到目标资料后,将目标资料分割为多个第一资料项目。一般而言,资料分割模块250会将目标资料中的每一行或每一个段落分割为不同的第一资料项目,但本发明并不以此为限。本发明更可以包含标签模块四0,标签模块290负责依据目标资料读取模块220 读取出的目标资料的资料来源或依据目标资料的预定格式,对目标资料中的各个第一资料项目加入相对应的显示标签,例如,对第一资料项目在目标资料中的位置加入包含特定CSS 语法的HTML标签或是会载入特定CSS语法的HTML标签。一般而言,显示标签可以在输出模块观0以显示的方式输出目标文件时,对目标文件中的第一资料项目进行对应处理,使得被显示的目标文件中的第一资料项目以对应的外观呈现,例如改变第一资料项目被显示时的字体、颜色等。接着以第一实施例来解说本发明的运作系统与方法,并请参照图3本发明所提的以双层容器生成目标文件的方法流程图。在本实施例中,本发明包含在释义查找软件中,负责读取字词库所储存的字词的释义资料,借以生成提供给使用者的目标文件,也就是说,执行释义查找软件的装置所储存的字词库即为本发明所提的外部储存介质400,而本发明所提的目标资料即为字词的释义资料,其中,字词的释义资料包含但不限于字词的发音符号、 词性、说明文字、例句等。但本发明所提的目标资料并不以字词的释义资料为限。其中,特别值得一提的是,在本实施例中所产生目标文件为HTML格式,也就是说,字词的释义资料将以HTML来表示。当使用者欲使用释义查找软件查找字词“test”的释义资料时,使用者首先会在释义查找软件所提供的查询界面中输入字词“test”之后,目标资料读取模块220便可以至执行释义查找软件的装置的字词库(外部储存介质400)的各个字典档中,查找字词“test” 的释义资料(目标资料),借以完成目标资料中的第一资料项目的读取(步骤310)。在实务上,本实施例中的目标资料读取模块220也可以在特定的时间等条件下自动读取释义资料借以生成目标文件,而不一定需要在使用者查找释义资料时才读取释义资料。在实务上,目标资料读取模块220所读取到的目标资料并不一定已被分为第一资料项目,因此,若本实施例的释义查找软件中还包含在资料分割模块250,则在目标资料读取模块220读取目标资料中的第一资料项目(步骤310)后,资料分割模块250还可以将目标资料分割为多个第一资料项目(步骤321)。在本实施例中,字词“test”的释义资料通常为一个完整的资料,因此,目标资料读取模块220会依据字词“test”的释义资料中的每一个换行符号将字词“test”的释义资料分割为多个第一资料项目,也就是说,在本实施例中, 字词“test”的释义资料中的一行即为一个第一资料项目,例如,第一资料项目可能为字词 “test”的发音符号、词性、一个说明、一个例句,或是一个例句翻译等,但本发明并不以此为限。在目标资料读取模块220至多个资料来源查找字词“test”的释义资料以读取目标资料中的第一资料项目(步骤310)后,资料项目获取模块230可以获取与各资料来源对应的第二资料项目(步骤330)。在本实施例中,假设目标资料读取模块220在英汉字典以及英英字典中读取到目标资料,由于字词的释义资料是以HTML表示,因此资料项目获取模块230会依据读取到目标资料的资料来源,也就是英汉字典以及英英字典,获取定义分别定义由英汉字典或英英字典所读出的释义资料的表现格式的CSS文件路径,并依据获取到的CSS文件路径生成与英汉字典以及英英字典相对应的CSS文件载入语法。在资料储存模块260初始化容器100 (步骤301),且资料项目获取模块230获取与各资料来源对应的第二资料项目(步骤330)后,若本实施例的释义查找软件中还包含标签模块四0,则标签模块290可以依据显示目标资料的预设格式,对第一资料项目加入对应的显示标签(步骤350)。在本实施例中,标签模块290可以依据表示释义资料的HTML文件的格式,对各个第一资料项目加入改变第一资料项目的显示外观的对应HTML标签,使得各个第一资料项目符合表示释义资料的HTML文件的格式,例如对释义资料中的字词的说明文字加入“<div id=" dropdownid" class=" t_buue" >”的标签,对释义资料中的字词的发音符号、词性以及例句则加上其他标签等,但本发明所提的显示标签并不以此为限。事实上,在目标资料读取模块220读取目标资料中的第一资料项目(步骤310)之前或之后,资料储存模块260需要先在内存210中初始化容器100 (步骤301)。在本实施例中,假设容器100为链结串行,容器中的子容器也为链结串行,但本发明并不以此为限。在实务上,资料储存模块260在内存210中初始化容器100 (步骤301)与目标资料读取模块220读取目标资料的第一资料项目(步骤310)的步骤没有先后次序的关系,同样的,资料储存模块260在内存210中初始化容器100 (步骤301)也与资料项目获取模块 230获取与各资料来源对应的第二资料项目(步骤330)的步骤没有先后次序的关系。在标签模块290对第一资料项目加入对应的显示标签(步骤350)后,资料储存模块260可以将第二资料项目存入专门储存CSS文件载入语法的子容器中(步骤361),并可以将目标资料的各第一资料项目存入与各第一资料项目对应的子容器中(步骤36 ,在本实施例中,也就是将由英汉字典或英英字典所读出的释义资料中的第一资料项目分别存入与英汉字典或英英字典对应的子容器中。其中,由于在HTML文件中,CSS文件载入语法必须要排列在显示释义资料的HTML语法之前,因此,资料储存模块260会将专门储存CSS文件载入语法的子容器排列在各个储存与第一资料项目对应的子容器之前。在实务上,资料储存模块260将目标资料的各第一资料项目存入与各第一资料项目对应的子容器中(步骤36 与资料储存模块260将第二资料项目存入专门储存CSS文件载入语法的子容器中(步骤361)并没有先后顺序的关系,也就是说,资料储存模块沈0 可以先将第一资料项目存入与各第一资料项目对应的子容器中(步骤36 后,再将第二资料项目存入专门储存CSS文件载入语法的子容器中(步骤361)。在资料储存模块260将目标资料的各资料项目存入与各资料项目对应的子容器中(步骤365)时,由于本实施例中的子容器为链结串行,因此,资料储存模块260在储存资料项目时,只需要在内存210中初始化被储存的资料项目的储存空间,并在储存资料项目至该储存空间后,设定与该资料项目对应的子容器的最后一个元素链结到储存该资料项目的储存空间便完成资料项目的储存,但若子容器为动态阵列,则资料储存模块260需要建立可以储存与该资料项目对应的子容器中的所有元素以及该资料项目的储存空间,再将该资料项目对应的子容器中的所有元素依序存入该储存空间后,最后存入该资料项目才完成资料项目的储存。在资料储存模块260将第二资料项目存入子容器中(步骤361),并将目标资料的各第一资料项目存入与各第一资料项目对应的子容器中(步骤36 后,文件生成模块270 可以依据子容器的排列顺序以及第一资料项目及第二资料项目于子容器中的排列顺序,依序读取容器100中的所有第一资料项目与所有第二资料项目,并依序将读出的第一资料项目与第二资料项目组成目标文件(步骤370)。最后,由输出模块280显示目标文件(步骤380)。由于在本实施例中,目标文件包含载入CSS文件的HTML语法(第二资料项目),也包含带有显示标签的第一资料项目,因此,在输出模块280所显示的目标文件中,第一资料项目会随着与显示标签对应的CSS语法改变显示的外观。综上所述,可知本发明与现有技术之间的差异在于具有双层的容器,容器所包含的各个子容器储存不同资料类别的资料项目,并依据子容器与资料项目的排列顺序读取资料项目来产生目标文件的技术手段,借由此一技术手段可以解决现有技术所存在网页语法必须要按照特定顺序产生而增加开发复杂度的问题,进而达成将特定资料项目加入目标文件中的指定位置的技术功效。再者,本发明的以双层容器生成目标文件的方法,可实现于硬件、软件或硬件与软件的组合中,亦可在电脑系统中以集中方式实现或以不同元件散布于若干互连的电脑系统的分散方式实现。虽然本发明所公开的实施方式如上,惟所述的内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中普通技术人员,在不脱离本发明所公开的精神和范围的前提下,对本发明的实施的形式上及细节上作些许的更动润饰,均属于本发明的专利保护范围。本发明的专利保护范围,仍须以所附的权利要求书所界定者为准。
权利要求
1.一种以双层容器生成目标文件的方法,用以输出储存于至少一资料来源的一目标资料,其特征在于,该方法至少包含下列步骤初始化一容器,该容器包含多个子容器(sub-container),该些子容器具有相对应的排列顺序;至各该资料来源中读取该目标资料的各第一资料项目; 获取与各该资料来源对应的一第二资料项目; 将各该第一资料项目存入与各该第一资料项目对应的一该子容器中; 将各该第二资料项目存入另一子容器中;依据各该子容器的排列顺序、各该第一资料项目及各该第二资料项目于各该子容器中的排列顺序,读取该容器中的所有第一资料项目与所有第二资料项,借以生成一目标文件; 及输出该目标文件。
2.如权利要求1所述的以双层容器生成目标文件的方法,其特征在于,该方法于该至各该资料来源中读取该目标资料的第一资料项目的步骤后,更包含依据各该资料来源或该目标资料的格式,对各该第一资料项目加入对应的一显示标签的步骤。
3.如权利要求1所述的以双层容器生成目标文件的方法,其特征在于,该方法于该至各该资料来源中读取该目标资料的第一资料项目的步骤后,更包含分割该目标资料为各该第一资料项目的步骤。
4.一种以双层容器生成目标文件的系统,用以输出储存于至少一资料来源的一目标资料,其特征在于,该系统至少包含一内存;一目标资料读取模块,用以至各该资料来源中读取该目标资料; 一资料储存模块,用以于该内存中初始化一容器,该容器包含多个子容器,及用以将该目标资料的各第一资料项目存入与各该第一资料项目对应的一该子容器中,其中,该些子容器具有相对应的排列顺序;一资料项目获取模块,用以获取与各该资料来源对应的一第二资料项目,并由该资料储存模块将各该第二资料项目存入另一子容器中;一文件生成模块,用以依据各该子容器的排列顺序及各该第一资料项目与各该第二资料项目于各该子容器中的排列顺序,读取该容器中的所有第一资料项目及第二资料项目, 借以生成一目标文件;及一输出模块,用以输出该目标文件。
5.如权利要求4所述的以双层容器生成目标文件的系统,其特征在于,该系统更包含一标签模块,用以依据各该资料来源或该目标资料的格式,对各该第一资料项目加入相对应的一显示标签,该输出模块更用以于以显示的方式输出该目标文件时,依据该显示标签处理该第一资料项目。
6.如权利要求4所述的以双层容器生成目标文件的系统,其特征在于,该系统更包含一资料分割模块,用以将目标资料分割为各该资料项目。
7.如权利要求4所述的以双层容器生成目标文件的系统,其特征在于,该容器及该子容器是链结串行。
8.如权利要求4所述的以双层容器生成目标文件的系统,其特征在于,该资料来源为字典档,该目标资料为字词的释义资料。
全文摘要
本发明公开了一种以双层容器生成目标文件的系统及其方法,其通过容器所包含的各个子容器储存不同资料类别的资料项目,并依据子容器与资料项目的排列顺序读取资料项目来产生目标文件的技术手段,可以任意顺序产生的资料项目生成目标文件,并达成将特定资料项目加入目标文件中的指定位置的技术功效。
文档编号G06F17/30GK102479243SQ201010582568
公开日2012年5月30日 申请日期2010年11月30日 优先权日2010年11月30日
发明者赵华北, 邱全成 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1