结构化文挡处理器、结构化文挡处理方法和程序的制作方法

文档序号:6417157阅读:151来源:国知局
专利名称:结构化文挡处理器、结构化文挡处理方法和程序的制作方法
技术领域
本发明涉及一种结构化文档处理器,用于处理由一个或多个结构组件组成的结构化文档,具体来说,涉及用于高效地将模板应用于结构化文档的结构化文档处理器。
背景技术
当前在Internet上存在许多网站。有各种网站,从商业化的到专用的网站,应有尽有。特别是在商业化的网站上,有许多Web页面经过精心设计,以便吸引客户。一个这样的精心设计的示例是,一个公司的网站中包括的多个Web页面这样设计,以便给人一致的感觉。例如,一种格式常常用于使多个Web页面均匀,其中菜单列表放在Web页面的左侧,Web页面的顶部是带有一个公司的徽标的栏。
然而,如果在创建这样的均匀的Web页面之后公司的徽标发生更改,网站中包括的所有Web页面都必须纠正。对于一个大公司,可能包括成千上万的Web页面,则必须要编辑成千上万的Web页面。这需要完成大量的工作。
相应地,已经有人发明了向实现Web页面的诸如HTML文档之类的结构化文档应用模板(模型文档)(例如,请参考专利文件1)。模板用于使文档的布局均匀。在模型文档中清楚地指定了两种类型的区域在将向其中应用模板的多个文档之中共同使用的区域,根据向其中应用模板的文档用于自由地设置或编辑不同内容的区域(以下简称为“内容区域”)。使用模板管理Web页面的优点在于甚至在更改公司徽标的情况下,向其中应用模板的所有Web页面都只需通过重写包括徽标的文件(模板)自动地进行纠正。在专利文件1中,通过从结构化文档中提取文档组件并插入或替代模板中的每一个文档组件,执行文档构成进程。
发布的未经审查的专利申请No.2001-209641(第10-22页;图2到9)[本发明解决的问题]然而,专利文件1有一个问题必须将一个标签以一一对应的方式嵌入到模板和结构化文档中的每一个中,在没有嵌入标签的情况下,不可能使用通用模板或将模板应用到结构化文档中。
提供了一种产品,用于帮助在创建Web页面时将模板应用到HTML文档。然而,对这样的产品的使用施加了下列限制第一限制是,可以只为整个文档指定要插入到内容区域的一部分;第二限制是,即使在模板中有多个内容区域,文档也只能插入到一个内容区域;第三限制是,模板只能应用于一个文档,并且无法同时应用于多个文档。
最后,现有技术中没有一种能有效地将模板应用到结构化文档的技术。
本发明是为了解决上文所提及的技术问题而提出的,其目标是能有效地将模板应用到结构化文档。

发明内容
在此目标下,本发明可以指定要插入到模板的内容区域的文档的结构组件。即,根据本发明的结构化文档处理器包括结构组件选择接受装置,用于接受从构成预先确定的文档的多个结构组件中进行的对特定结构组件的选择;模板应用装置,用于将特定结构组件插入到预先确定的模板中所包括的预先确定的内容区域,其中对所述特定结构组件的选择已经被结构组件选择接受装置接受。
本发明还可以作为用于指定构成一个文档的结构组件作为要插入到模板中的内容区域的一个部分的用户界面。在此情况下,根据本发明的结构化文档处理器包括文档结构显示装置,用于显示预先确定的文档的结构;以及应用结果显示装置,用于,响应被文档结构显示装置显示的结构中所包括的多个结构组件之中的特定结构组件的选择,显示将特定的结构组件插入到预先确定的模板中所包括的预先确定的内容区域的结果。
此外,本发明还可以作为结构化文档处理器中的结构化文档处理方法,用于指定构成一个文档的结构组件作为要插入到模板中的内容区域的一个部分。在此情况下,根据本发明的结构化文档处理方法包括接受从构成预先确定的存储装置中存储的预先确定的文档的多个结构组件中进行的对特定结构组件的选择;以及将特定结构组件插入到预先确定的存储装置中存储的预先确定的模板中所包括的预先确定的内容区域,其中对所述特定结构组件的选择已经被接受。
此外,本发明还可以作为一种计算机程序,用于指定构成一个文档的结构组件作为要插入到结构化文档处理器中的模板中的内容区域的一个部分。在此情况下,根据本发明的程序使计算机执行以下功能接受从构成预先确定的文档的多个结构组件中进行的对特定结构组件的选择;以及将特定结构组件插入到预先确定的模板中所包括的预先确定的内容区域,其中对所述特定结构组件的选择已经被接受。
根据本发明,可以高效地将模板应用到结构化文档中。
附图简要说明

图1是显示本实施例的整个配置的方框图;图2是显示根据本实施例的将模板应用到单个文档中的操作的流程图;图3是显示根据本实施例的将模板应用到另一个文档中的操作的流程图;图4描述了在本实施例的特定的示例中使用的文档;
图5描述了在本实施例的特定的示例中使用的文档;图6描述了在本实施例的特定的示例中使用的文档;图7描述了在本实施例的特定的示例中使用的模板;图8显示了在本实施例的特定的示例中提供的屏幕的示例;图9显示了在本实施例的特定的示例中提供的屏幕的示例;图10显示了在本实施例的特定的示例中提供的屏幕的示例;图11显示了在本实施例的特定的示例中提供的屏幕的示例;图12显示了在本实施例的特定的示例中的应用方法存储装置中存储的内容的示例;图13显示了在本实施例的特定的示例中在应用模板之前和应用模板之后彼此相比的文档;图14显示了在本实施例的特定的示例中提供的屏幕的示例;以及图15显示了在本实施例的特定的示例中提供的屏幕的示例。
11 ...模板存储装置12 ...模板选择接受装置13 ...模板结构分析装置14 ...内容区域选择接受装置15 ...文档存储装置16 ...文档选择接受装置17 ...文档结构分析装置18 ...结构组件选择接受装置19 ...应用方法存储装置20 ...文档结构检查装置21 ...模板应用装置22...结构组件检索装置
具体实施例方式
下面将参考附图详细描述本发明的一个实施例。
首先,将对根据本实施例的结构化文档处理器的配置进行描述。
图1显示了根据本实施例的结构化文档处理器的整个配置。
如图1所示,结构化文档处理器具有模板存储装置11、模板选择接受装置12、模板结构分析装置13、内容区域选择接受装置14、文档存储装置15、文档选择接受装置16、文档结构分析装置17、结构组件选择接受装置18、应用方法存储装置19、文档结构检查装置20、模板应用装置21和结构组件检索装置22。
模板存储装置11是用于存储用作模板(下文,简单地称为“模板”)的结构化文档的装置,模板选择接受装置12是用于接受识别用户选择的模板的信息的装置。模板结构分析装置13是用于分析指定的模板的文档结构的装置,内容区域选择接受装置14是用于接受模板中的内容区域之中的特定内容区域的选择的装置。
文档存储装置15是用于存储将向其中应用模板的结构化文档(下文,简单地称为“文档”)的装置,文档选择接受装置16是用于接受标识用户所选择的文档的信息的装置。文档结构分析装置17是用于分析指定的文档的结构的装置,结构组件选择接受装置18是用于接受构成文档的结构组件中进行的对特定结构组件的选择的装置。
应用方法存储装置19是用于存储有关内容区域(内容区域选择接受装置14已经为其接受了选择)的信息和彼此相关联的有关结构组件(结构组件选择接受装置18已经为其接受了选择)的信息的装置。文档结构检查装置20是检查从文档的结构角度来看将指定的结构组件插入到指定的内容区域是否有效的装置。模板应用装置21是在内存上应用模板的装置。结构组件检索装置22是用于从文档结构分析装置17的分析结果中所包括的结构组件中检索类似于应用方法存储装置19中存储的结构组件的结构组件的装置对于根据本实施例的结构化文档处理器,可以采用类似于通用计算机系统的配置的硬件配置。即,可以采用任何配置,只有在它包括中央处理单元(CPU)和主存储器(它们通过总线连接到辅助存储设备)的情况下才行。辅助存储器被认为是硬盘、软盘、MO(磁光盘)、CD-ROM等等。
用于实现此实施例的计算机程序存储在辅助存储设备中。通过中央处理单元(CPU)将计算机程序读取到主存储器中,并执行它,实现了模板选择接受装置12、模板结构分析装置13、内容区域选择接受装置14、文档选择接受装置16、文档结构分析装置17、结构组件选择接受装置18、文档结构检查装置20、模板应用装置21和结构组件检索装置22中的每一个。
可以借助于辅助存储设备或借助于主存储器实现模板存储装置11、文档存储装置15和应用方法存储装置19中的每一个。
此外,诸如键盘和指示设备之类的输入设备可以连接到结构化文档处理器。也可以连接诸如显示器之类的输出设备。这样的配置也是可以的与结构化文档处理器分开提供作为输入设备和输出设备的终端设备并相互通过通信线路进行连接。
在任何一种情况下,结构化文档处理器都具有与输入设备和输出设备连接的装置,尽管在图1中未显示。用于显示有关选择的模板中包括的内容区域的信息内容区域信息显示装置、用于显示选择的文档的结构的文档结构显示装置和用于显示将所选择的结构组件插入到选择的内容区域的结果的应用结果显示装置是其示例。
下面将对根据本实施例的结构化文档处理器的操作进行描述。
图2是显示根据本实施例的结构化文档处理器中的将模板应用到单个文档中的操作的流程图。
当用户从模板存储装置11中存储的模板中选择一个他希望应用的模板时,模板选择接受装置12接受选择(步骤201)。然后,模板结构分析装置13分析所选择的模板的结构,并保留分析结果(步骤202)。模板的描述包括表示模板的哪些区域是内容区域的信息,以便内容区域选择接受装置14能够通过参考模板结构的分析结果输出内容区域信息。
当用户从文档存储装置15中存储的文档中选择一个他希望向其中应用在步骤201中选择的模板时,文档选择接受装置16接受选择(步骤203)。然后,文档结构分析装置17分析所选择的文档的结构,并保留分析结果(步骤204)。文档的描述包括有关构成文档的结构组件的信息,以便结构组件选择接受装置18能够通过参考文档结构的分析结果输出结构组件信息。
当用户从作为步骤201和202中的处理结果输出的内容区域中选择一个他希望向其中插入结构组件的内容区域时,内容区域选择接受装置14接受选择(步骤205)。然后,内容区域选择接受装置14存储有关应用方法存储装置中的所选择的内容区域的信息。
当用户从作为步骤203和204中的处理结果输出的结构组件中选择一个他希望插入到所选择的内容区域的结构组件时,结构组件选择接受装置14接受选择(步骤206)。结构组件选择接受装置18存储有关所选择的结构组件的信息,该信息与有关在步骤205中存储在应用方法存储装置19中的内容区域的信息相关联。即,有关在步骤205中选择的内容区域的信息和有关在步骤206中选择的结构组件的信息之间的关联信息存储在应用方法存储装置19中。
然后判断是否为所有内容区域指定了将要插入的结构组件(步骤207)。如果判断还没有为所有内容区域指定结构组件,那么,过程返回到步骤205。如果判断已经为所有内容区域指定了结构组件,那么,进入步骤208。
然后,文档结构检查装置20基于有关应用方法存储装置19中存储的内容区域信息和结构组件信息的信息之间的关联的信息判断从文档的结构角度来看应用模板的结果是否有效(步骤208)。如果判断应用模板的结果从文档的结构角度来看有效,那么,模板应用装置21将模板应用到内存上的文档,结果,输出应用模板的结果的预览(步骤209)。另一方面,如果判断应用模板的结果无效,那么,则输出一个有关该效果的警告(步骤210)。然后,模板应用装置21将模板应用到内存上的文档,结果,输出应用模板的结果的预览(步骤209)。
当在步骤208中判断应用模板的结果无效时,可以停止应用模板,不用输出应用结果的预览。然而,考虑到一些用户即使应用从文档的结构角度来看无效也需要检查应用结果的预览,在输出警告之后,输出应用结果的预览。
尽管在上面的描述中没有提及模板存储装置11为存储模板执行的处理,也可以假定所有存在于结构化文档处理器中的模板都存储在模板存储装置11中。或者,假定只有在模板预选步骤(从所有存在于结构化文档处理器中的模板中选择一些模板)中选择的模板存储在其中。
尽管在上面的描述中没有提及文档存储装置15为存储文档执行的处理,也可以假定所有存在于结构化文档处理器中的文档都存储在文档存储装置15中。或者,假定只有在模板预选步骤(从所有存在于结构化文档处理器中的模板中选择一些模板)中选择的模板存储在其中。
图3是一个流程图,当对另一个文档(下文称为“新文档”)执行类似于将模板应用到图2显示的单个文档(下文称为“以前的文档”)的应用时,在本实施例中执行的操作。假设在应用方法存储装置19存储了有关以前的文档内容区域的信息和有关结构组件的信息之间的关联信息,即,表示哪些结构组件已经插入到以前的文档中的哪些内容区域,作为图2中的步骤205和206的处理结果。
当用户从文档存储装置15中存储的文档中选择一个新文档时,或当结构化文档处理器自动选择它时,文档选择接受装置16接受选择(步骤301)。
然后,文档结构分析装置17分析所选择的文档的结构,并保留分析结果(步骤302)。
然后,结构组件检索装置22从构成新文档的结构组件中检索适合于插入到每一个内容区域的每一个结构组件,以便以类似于为以前的文档执行的应用方法(该应用方法存储在应用方法存储装置19中)的方法执行应用。具体来说,执行下面显示的过程。
结构组件检索装置22,将注意力集中在应用方法存储装置19中存储的一段关联信息(表示哪些结构组件已经插入到以前的文档中的哪些内容区域的信息),判断在文档结构分析装置17的分析结果中包括的结构组件中是否有位置类似于关联信息中包括的结构组件的任何结构组件(步骤303)。
如果判断没有任何适当的结构组件,那么,应用方法存储装置19中存储的关联信息中包括的结构组件被切换到更高级别的结构组件(步骤304)(下文,结构组件的这样的更改被称为“展开”)。结构组件检索装置22判断从文档的结构角度来看展开是否有效(步骤305)。如果从文档的结构角度来看展开无效,那么过程返回到步骤304,并试图再次展开结构组件范围。如果从文档的结构角度来看展开有效,则过程进入步骤303,在此,判断在文档结构分析装置17的分析结果中包括的结构组件中是否有位置类似于展开之后的结构组件的任何结构组件(步骤303)。
如果在步骤303中判断有适当的结构组件,那么,保留有关内容区域的信息和有关结构组件的信息之间的关联信息(表示哪些结构组件应该插入到新文档中的哪一个内容区域),并判断对于所有内容区域是否已经执行将要插入的结构组件的检索(步骤306)。如果判断对于所有内容区域还没有执行检索,那么对于其他内容区域执行步骤303到305。如果判断已经为所有内容区域执行了检索,那么,过程进入步骤307。最终,模板应用装置21基于要为所有内容区域插入的结构组件的信息应用内存上的模板(步骤307)。
下面将使用特定的示例详细描述此实施例的操作。
在此特定的示例中,图4到6所示的文档将用作将向其中应用模板的文档。在图4到6中,在左侧显示了文档的显示图像。即,假设实现这样的显示的HTML文档存储在文档存储装置15中。在图4到6中,在右侧也显示了文档的结构。然而,假设当选择文档时,文档的结构将要由文档结构分析装置17生成,稍后将描述。
在图4所示的文档(“index.html”)中,区域401对应于<TABLE>411;包括区域402到404的区域对应于<TABLE>412;区域402、403和404分别对应于<TD>413、414和415。在图5所示的文档中(“page2.html”)中,区域501对应于<TABLE>511;包括区域502和503的区域对应于<TABLE>512;区域502和503分别对应于<TD>513和514。在图6所示的文档(“page3.html”)中,区域601对应于<TABLE>611,区域602对应于<TABLE>612(作为框架),并对应于<TD>613作为内容。
在此特定的示例中,图7所示的模板将用作应用于上文所提及的文档的模板。在图7中,在左侧显示了模板的显示图像。即,假设实现这样的显示的HTML模板存储在模板存储装置11中。在图7中,在右侧也显示了模板的文档结构。然而,假设当选择模板时,模板的结构将要由模板结构分析装置13生成,稍后将描述。
在图7所示的模板(“template.htpl”)中,区域701对应于<TABLE>711;包括区域702到704的区域对应于<TABLE>712;区域702、703和704分别对应于<TD>713、714和716;区域705对应于<TABLE>717。
模板还包括表示内容区域的信息。此信息可以作为放入HTML标记的特殊标记来实现。在图7中的示例中,特殊标记<tpl:insert>715被放HTML标记<td>中,以表示对应于<TD>的区域703是一个内容区域。
此外,在标记715中还描述了诸如内容区域的名称之类的标识信息,尽管图7中没有显示。
在上面的描述的假设中,将对将模板应用到图2中的流程图所显示的单个文档的操作进行具体描述。
可以预先执行文档预选步骤,以从存在于结构化文档处理器中的许多文档中选择将向其中应用模板的一些文档,并将它们存储在文档存储装置15中。这里假设,上文所提及的文档“index.html”、“page2.html”和“page3.html”通过这样的过程存储在文档存储装置15中。然后开始图2所示的过程。
图8显示了过程开始时的屏幕图像。在图8中的屏幕上,模板示例或用户定义的模板都可以作为模板类型指定。这里指定了用户定义的模板,如图所示。然后,在最下面的区域显示了可选择的模板“template.htpl”的缩略图。尽管只显示了一个模板,因为在此特定的示例中假定只有一个模板,当假定有多个模板时,显示多个缩略图。
如果用户点击“template.htpl”的缩略图,则模板“/Webcontent/theme”的位置和其文件名“template.htpl”显示在缩略图的紧上面的区域,标识所选择的模板的信息发送到结构化文档处理器。为响应此,模板选择接受装置12接受该信息(步骤201)。
在此时间点,模板结构分析装置13分析所选择的模板的结构(步骤202),尽管它没有在屏幕上显示出来。具体来说,生成有关模板的文档结构的信息,该信息在图7的右侧显示。
在步骤202的处理之后或与其平行,显示了一个屏幕,用于指定哪些结构组件应该插入到所选择的模板中的哪些内容区域(以图9到11所示的格式的屏幕)。在模板结构分析装置13在步骤202中生成的模板的文档结构中,包括表示内容区域“main”存在于模板“template.htpl”中的信息,以便“main”在最初显示屏幕时作为可选择的内容区域显示。尽管只显示了一个内容区域名称,因为在此特定的示例中使用了只具有一个内容区域的模板,如果使用具有多个内容区域的模板,则显示多个内容区域名称。
用户首先在此屏幕上指定将模板应用于哪一个文档。
图9显示了将要显示的屏幕图像。通过点击图9中的粗线围绕的区域的右侧的向下三角形标记,将显示出用于标识可选择的文档(“/WebContent/index.html″、“/webContent/page2.html”和“Webcontent/page3.html”)的信息,这里选择了“/webcontent/index.html”,如图所示。在左下区域,显示了所选择的文档的预览映像,如“预览”箭头所示,标识所选择的文档的信息被发送到结构化文档处理器。为响应此,文档选择接受装置16接受该信息(步骤203)。
在此时间点,文档结构分析装置17分析所选择的文档的结构,尽管它没有在屏幕上显示出来(步骤204)。具体来说,生成有关文档结构的信息,该信息在图4的右侧显示。
此外,有关构成文档“index.html”的结构组件的信息(这是文档结构分析装置17分析的结果),以便有关构成文档“index.html”的结构组件的信息显示右边的区域中间。在初始显示屏幕中,只显示了最高等级的结构组件。
然后,用户选择应该向其中插入结构组件的内容区域。
图10显示了在此时间点的屏幕图像。在图10中粗线围绕的区域选择了内容区域“main”。然后,将标识所选择的内容区域的信息发送到结构化文档处理器,内容区域选择接受装置14接受信息(步骤205)。
然后,用户从表示文档结构的树中选择将要插入到所选择的内容区域的结构组件。
图11显示了将要显示的屏幕图像。按顺序跟随<BODY>,在其下的第二<TABLE>,在其下的第一<TBODY>,然后在图11中的粗线围绕的区域中的在其下的第一<TR>,提供了如图所示的屏幕显示。这里选择了<TR>下的第二<TD>,即,图4中的<TD>414。然后,将标识所选择的结构组件的信息发送到结构化文档处理器,结构组件选择接受装置18接受信息(步骤206)。
在此特定的示例中,由于只有一个内容区域存在于模板“template.htpl”中,并且没有未处理的内容区域(步骤207中的YES),然后,文档结构检查装置判断将结构组件<TD>414插入到模板“template.htpl”中的内容区域“main”中从文档的结构角度来看是否有效(步骤208)。判断插入从文档的结构角度来看有效(稍后将描述的过程),以便模板应用装置21应用模板,显示了图11中的右下区域中显示的预览(步骤209)。
在本实施例中,有关在步骤205中选择的内容区域的信息和有关在步骤206中选择的结构组件的信息之间的关联信息存储在应用方法存储装置19中,图12显示了一个示例。在图12中,内容区域的名称是作为有关内容区域的信息存储的。作为有关结构组件的信息,有关文档结构(排除文档结构中的结构组件,不向其中传递)的信息到达结构组件。然而,这只是一个示例,任何信息都可以存储(只有在它可以识别哪个结构组件已经插入到哪一个内容区域的情况下才可。例如,包括内容区域信息的模板结构信息可以作为内容区域信息存储,而不是作为内容区域的名称。
在步骤208中按如下方式执行从文档的结构角度来看的有效性检查。首先,通过参考模板结构分析装置13对模板结构的分析的结果,文档结构检查装置20识别出,内容区域“main”是放入在<TD>中的内容区域。此外,通过参考应用方法存储装置19,已知,将要插入的结构组件是<TD>。相应地,文档结构检查装置20检查文档的<TD>本身是否可以插入到模板的<TD>中。作为检查的结果,判断出插入是不可能的。然后,作为检查文档的内容<TD>是否可以插入到模板的<TD>的结果,判断插入是可以的。因此,文档结构检查装置20判断从文档的结构角度来看将结构组件<TD>414插入到内容区域“main”是有效的。
相反,如果尝试将<PR>插入到放入<TD>中的内容区域,例如,那么,在步骤208中判断从文档的结构角度来看是无效的,则会显示一个警告(步骤210)。尽管在上面的描述中假设,文档结构检查装置20是指存储在应用方法存储装置19中的信息和模板结构分析装置13在检查从文档的结构角度来看的有效性时的分析结果,在应用方法存储装置19存储了模板结构信息和文档结构信息之间的关联的情况下,也可以从文档的结构角度来看检查有效性,而不参考模板结构分析装置13的分析结果。
作为通过上文描述的过程将模板应用到文档的结果,文档“index.html”按如图13所示的那样更改。即,放了一个<tpl:put>标记,这是一个表示在应用模板之后结构组件已经插入到<TD>1311的特殊标记。在<tpl:put>标记中提供了对应于<TD>1301的描述,尽管没有显示。
然后,对将模板应用到图3中的流程图显示的另一个文档的操作进行具体的描述。这里,假设将模板应用到上文描述的文档“index.html”作为主要情况(将模板应用到一个特定文档,以便指定对于其他文档要执行的模板应用的方法),将对对于其他文档“page2.html”和“page3.html”执行类似的应用的情况进行描述。
首先,将对图5所示的将模板应用到文档“page2.html”的过程进行描述。
图14显示了将要显示的屏幕图像。尽管在图14中选中了所有文档“index.html”、“page2.html”和“page3.html”,但这里将只集中注意力描述文档“page2.html”。通过选中图14中的左下区域中的向其中应用了模板的文档“page2.html”,选择了文档“page2.html”。然后,将标识文档“page2.html”的信息发送到结构化文档处理器,文档选择接受装置16接受该信息(步骤301)。然后,文档结构分析装置17分析文档“page2.html”的结构(步骤302)。具体来说,生成有关文档结构的信息,该信息在图5的右侧显示。
然后,结构组件检索装置22从文档结构分析装置17的分析结果中包括的结构组件中检索类似于应用方法存储装置19中存储的应用方法中显示的结构组件的结构组件(步骤303)。在应用方法存储装置19中显示了,<BODY>下的第二<TABLE>下的第一<TBODY>下的第一<TR>下的第二<TD>已经插入到如图12所示的内容区域“main”。相应地,结构组件检索装置22从图5右侧的文档结构检索其位置类似于此<PD>的结构组件,这是文档结构分析装置17的分析的结果。在此情况下,能识别出<TD>514,这是<BODY>下的第<TABLE>下的第一<TBODY>下的第一<TR>下的第二<TD>,也存在于图5右侧的文档结构中。没有“main”之外的内容区域(在步骤306中为YES),以便模板应用装置21只执行将<TD>514插入到内存上的内容区域“main”,然后显示图14的右下区域显示的预览映像。
作为通过上文描述的过程将模板应用到文档的结果,文档“page2.html”的文档结构类似于图13所示的文档结构。然而,在<tpl:put>标记中提供了对应于图5中的<PD>514的描述。
接下来,将对图6所示的将模板应用到文档“page3.html”的过程进行描述。
图15显示了将要显示的屏幕图像。尽管在图15中选中了所有文档“index.html”、“page2.html”和“page3.html”,但这里将只集中注意力描述文档“page3.html”。通过选中图15中的左下区域中的向其中应用了模板的文档“page3.html”,选择了文档“page3.html”。然后,将标识文档“page3.html”的信息发送到结构化文档处理器,文档选择接受装置16接受该信息(步骤301)。然后,文档结构分析装置17分析文档“page3.html”的结构(步骤302)。具体来说,生成有关文档结构的信息,该信息在图6的右侧显示。
然后,结构组件检索装置22从文档结构分析装置17的分析结果中包括的结构组件中检索类似于应用方法存储装置19中存储的应用方法中显示的结构组件的结构组件(步骤303)。在应用方法存储装置19中显示了,<BODY>下的第二<TABLE>下的第一<TBODY>下的第一<TR>下的第二<PD>已经插入到如图12所示的内容区域“main”。相应地,结构组件检索装置22从图6右侧的文档结构检索其位置类似于此<TD>的结构组件,这是文档结构分析装置17的分析的结果。
在此情况下,没有查找到对应于图6的右侧的文档结构中的<BODY>下的第二<TABLE>下的第一<TBODY>下的第一<PR>下的第二<TD>的结构组件,因此,结构组件检索装置22保存图12所示的信息的内容,并临时展开插入范围(步骤304)。即,用一个方法重写应用方法,指定<BODY>下的第<TABLE>下的第一<TBODY>下的第一<PR>应该插入到内容区域“main”。
然后,结构组件检索装置22判断从文档的结构角度来看展开是否有效(步骤305)。具体来说,通过参考结构信息,模板结构分析装置13的分析结果,结构组件检索装置22识别出内容区域“main”被放在HTML标记<td>中。由于<PR>无法插入到<td>中,结构组件检索装置22判断从文档的结构角度来看展开无效,并重新展开插入范围(步骤304)。即,用一个方法重写模板应用方法,指定<BODY>下的第二<TABLE>下的第一<TBODY>应该插入到内容区域“main”。
然后,结构组件检索装置22判断从文档的结构角度来看展开是否有效(步骤305)。内容区域“main”被放HTML标记<td>,不可能将<TBODY>插入到<td>中。因此,结构组件检索装置22判断从文档的结构角度来看展开无效,并再次重新展开插入范围(步骤304)。即,用一个方法重写模板应用方法,指定<BODY>下的第二<TABLE>应该插入到内容区域“main”。
结构组件检索装置22判断从文档的结构角度来看展开是否有效(步骤305)。内容区域“main”被放HTML标记<td>,可以将<TBODY>插入到<td>中。因此,结构组件检索装置22判断,从文档的结构角度来看展开是否有效,并从图6的右侧的文档结构检索其位置类似于<TABLE>的结构组件,这是文档结构分析装置17的分析的结果。在此情况下,还存在<TABLE>612,这是图6的右侧的文档结构中的<BODY>下的第二<TABLE>。没有“main”之外的内容区域(在步骤306中为YES),以便模板应用装置21只执行将<TABLE>612插入到内存上的内容区域“main”,然后显示图15的右下区域显示的预览映像。
作为通过上文描述的过程将模板应用到文档的结果,文档“page3.html”的文档结构类似于图13所示的文档结构。然而,在<tpl:put>标记中提供了对应于图6中的<TABLE>612的描述。
描述了本实施例的一个特定的示例。尽管在上面的描述中没有详细提及如何保留模板结构分析装置13的分析结果,但是,模板结构分析装置13可以分析模板存储装置11中存储的模板,以在每次需要模板结构信息时获取模板结构信息。或者,当最初生成模板结构信息时,可以在内存上扩展它,以便在内存上扩展的结构信息可以用于随后的处理。
同样,文档结构分析装置17的分析结果也可以在每次需要分析结果时通过分析文档存储装置15中存储的文档来获取。或者,当最初生成文档结构信息时,可以在内存上扩展它,以便在内存上扩展的结构信息可以用于随后的处理。
此外,尽管在本实施例中在步骤305中从文档的结构角度来看有效性检查是由结构组件检索装置22执行的,但是,也可以将有关展开之后结构组件的信息传递到文档结构检查装置20,文档结构检查装置20通过参考模板结构分析装置13的分析的结果来执行有效性检查。
在本实施例中,模板应用装置21应用内存上的模板,并提供了应用模板之前/之后的文档的状态的预览,以便由于应用模板造成丢失文档信息的风险最小化。然而,由模板应用装置21应用模板可以不在内存上执行,而是在硬盘上执行。
如此,本实施例的优点在于,通过执行遵循图2中的流程图的过程,可以在应用模板时指定结构组件(HTML标记)作为将要插入到内容区域的一部分。此外,通过执行遵循图2中的流程图的过程,还可以在模板具有多个内容区域时为每一个内容区域指定不同的结构组件(HTML标记)。
此外,本实施例的优点在于,通过执行遵循图3中的流程图的过程,可以为单个文档指定要插入到内容区域的一部分自动将模板应用到多个文档。
权利要求
1.一种结构化文档处理器,包括结构组件选择接受装置,用于接受从构成预先确定的文档的多个结构组件之中进行的对特定结构组件的选择;以及模板应用装置,用于将特定结构组件插入到预先确定的模板中所包括的预先确定的内容区域中,其中对所述特定结构组件的选择已经被结构组件选择接受装置接受。
2.根据权利要求1所述的结构化文档处理器,进一步包括内容区域选择接受装置,用于接受从预先确定的模板中所包括的内容区域中进行的对预先确定的内容区域的选择,其中对于所述预先确定的内容区域,将向其中插入特定的结构组件。
3.根据权利要求1所述的结构化文档处理器,进一步包括文档结构检查装置,用于检查将特定结构组件插入到预先确定的内容区域从文档的结构角度来看是否有效,其中对所述特定结构组件的选择已经被结构组件选择接受装置接受。
4.根据权利要求1所述的结构化文档处理器,进一步包括结构组件检索装置,用于从构成不同于预先确定的文档的另一个文档的结构组件中检索其位置类似于特定结构组件的结构组件,其中对所述特定结构组件的选择已经被结构组件选择接受装置接受;其中,模板应用装置将结构组件检索装置检索到的结构组件插入到预先确定的内容区域。
5.根据权利要求4所述的结构化文档处理器,其中,结构组件检索装置如果找不到位置类似于特定结构组件的结构组件,则从构成不同的文档的结构组件中检索其位置类似于不同于预先确定的结构组件的更高级别的结构组件,其中对所述特定结构组件的选择已经被结构组件选择接受装置接受。
6.根据权利要求5所述的结构化文档处理器,其中,结构组件检索装置判断从文档的结构角度来看,将不同的结构组件插入到预先确定的内容区域是否有效,并且如果判断有效,则从构成不同的文档的结构组件中检索其位置类似于不同的结构组件的结构组件。
7.一种结构化文档处理器,包括文档结构显示装置,用于显示预先确定的文档的结构;以及应用结果显示装置,用于,响应从由文档结构显示装置显示的结构中所包括的多个结构组件中进行的对特定结构组件的选择,显示将特定的结构组件插入到预先确定的模板中所包括的预先确定的内容区域的结果。
8.根据权利要求7所述的结构化文档处理器,进一步包括内容区域信息显示装置,用于显示有关预先确定的模板中所包括的内容区域的信息,其中响应从由内容区域信息显示装置显示的信息中进行的对特定信息的选择,应用结果显示装置显示将特定的结构组件插入到对应于特定信息的内容区域的结果。
9.结构化文档处理方法,包括下列步骤接受从构成预先确定的存储装置中存储的预先确定的文档的多个结构组件之中进行的对特定结构组件的选择;以及将特定结构组件插入到预先确定的存储装置中存储的预先确定的模板中所包括的预先确定的内容区域,其中对所述特定结构组件的选择已经被接受。
10.根据权利要求9所述的结构化文档处理方法,进一步包括以下步骤接受从预先确定的模板中所包括的内容区域中进行的对预先确定的内容区域的选择,对于所述预先确定的内容区域,将向其中插入特定的结构组件。
11.根据权利要求9所述的结构化文档处理方法,进一步包括下列步骤生成显示预先确定的模板的结构的第一结构信息;生成显示预先确定的文档的结构的第二结构信息;以及基于第一和第二结构信息,检查将特定结构组件插入到预先确定的内容区域从文档的结构角度来看是否有效,其中对所述特定结构组件的选择已经被接受。
12.根据权利要求9所述的结构化文档处理方法,进一步包括下列步骤生成显示不同于预先确定的文档的不同文档的结构的第三结构信息;从第三结构信息中所包括的结构组件中检索其位置类似于特定结构组件的结构组件,其中对所述特定结构组件的选择已经被接受;以及将检索到的结构组件插入到预先确定的内容区域。
13.根据权利要求12所述的结构化文档处理方法,其中检索结构组件的步骤包括下列步骤判断在第三结构信息中所包括的结构组件中是否存在其位置类似于特定结构组件的结构组件,其中对所述特定结构组件的选择已经被接受;在没有位置类似的结构组件的情况下,将特定结构组件临时更改为不同于特定结构组件的更高级别的结构组件;以及从第三结构信息中所包括的结构组件中检索其位置类似于不同结构组件的结构组件。
14.根据权利要求13所述的结构化文档处理方法,其中在检索其位置类似于不同结构组件的结构组件的步骤,判断从文档的结构角度来看,将不同的结构组件插入到特定的内容区域是否有效,如果判断有效,则从第三结构信息中所包括的结构组件检索其位置类似于不同结构组件的结构组件。
15.一种使计算机执行如下功能的程序产品接受从构成预先确定的文档的多个结构组件中进行的对特定结构组件的选择;以及将特定结构组件插入到预先确定的模板中所包括的预先确定的内容区域,其中对所述特定结构组件的选择已经被接受。
16.根据权利要求15所述的程序产品,进一步使计算机执行以下功能接受从预先确定的模板中所包括的内容区域中进行的对预先确定的内容区域的选择,其中对于所述预先确定的内容区域,将向其中插入特定的结构组件。
17.根据权利要求15所述的程序产品,进一步使计算机执行以下功能检查将特定结构组件插入到预先确定的内容区域从文档的结构角度来看是否有效,其中对所述特定结构组件的选择已经被接受。
18.根据权利要求17所述的程序产品,进一步使计算机执行以下功能从构成不同于预先确定的文档的另一个文档的结构组件中检索其位置类似于特定结构组件的结构组件,其中对所述特定结构组件的选择已经被接受;将检索到的结构组件插入到预先确定的内容区域。
19.根据权利要求18所述的程序产品,在检索结构组件的功能中,进一步使计算机执行以下功能判断在构成不同的文档的结构组件中是否存在其位置类似于特定结构组件的结构组件,其中对所述特定结构组件的选择已经被接受;以及在没有位置类似的结构组件的情况下,从构成不同的文档的结构组件中检索其位置类似于不同于预先确定的结构组件的更高级别的结构组件。
20.根据权利要求19所述的程序产品,在检索结构组件的功能中,进一步使计算机执行以下功能判断从文档的结构角度来看,将不同的结构组件插入到预先确定的内容区域是否有效,如果判断有效,则从构成不同的文档的结构组件中检索其位置类似于不同的结构组件的结构组件。
全文摘要
公开了结构化文档处理器、结构化文档处理方法和程序。提供了模板存储装置11,用于存储模板,模板选择接受装置12,用于接受模板的选择,模板结构分析装置13,用于分析模板的结构,内容区域选择接受装置14,用于接受内容区域的选择,文档存储装置15,用于存储文档,文档选择接受装置16,用于接受文档的选择,文档结构分析装置17,用于分析文档的结构,结构组件选择接受装置18,用于接受结构组件的选择,应用方法存储装置19,用于存储所选择的内容区域和所选择的结构组件,文档结构检查装置20,用于检查将结构组件插入到内容区域从文档的结构角度来看的有效性,结构组件检索装置22,用于从其他文档的结构组件中检索类似于所选择的结构组件的结构组件,以及模板应用装置21,用于应用模板。
文档编号G06F17/21GK1577323SQ20041006009
公开日2005年2月9日 申请日期2004年6月28日 优先权日2003年7月28日
发明者长山淳一 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1