基于规则的文档内容挖掘器的制作方法

文档序号:6557960阅读:204来源:国知局
专利名称:基于规则的文档内容挖掘器的制作方法
技术领域
本发明涉及如何从超文本、文本、各种文档等非结构化的文档和以XML和类XML的结构化文档中进行内容选择分析,并自动转换为指定的可扩展标记语言形式。
背景技术
扩展的标记语言(Extensible Markup Language,缩写为XML)是SGML(Standard Generalized Markup Language,标准通用标记语言)的一个子集,是简化的SGML。它是互联网联合组织(W3C)创建一组规范,以便于软件开发人员和内容创作者在网页上组织信息,其目的不仅在于满足不断增长的网络应用需求,而且也在于确保在通过网络进行交互合作时,具有良好的可靠性与互操作性。由于XML可以自定义文件类型,有利于信息的表达和结构化组织,且可以以一致的方式格式化和传送数据,大大降低了数据管理和交换的成本。XML的强大之处就在于它具有一套统一的数据格式,这种统一的数据格式可以使数据管理和交换的成本更低,也更易于管理。结构化信息的一个主要的用处就是允许不同格式的数据可以相互交换。不同的行业往往创建不同的规则来确定本行业内交换信息所需的内容模型。一旦这个内容模型被确定,整个行业就需要都使用这个内容模型来标记信息以保证行业内彼此能容易且有效地共享信息。因此,XML在电子商务、信息服务、通讯等领域有着广泛应用。
本发明的目的是通过该方法和装置来归整非结构化文档和结构化文档内容,实现数据的无缝连接和显示。
本发明的再一个目的是通过有语义的可扩展标记语言来实现对数据文件内容的智能机器理解。
本发明解决上述问题的技术方案如下1.将非结构化的文档内容转换成具有语义的XML的方法包括步骤1)通过各种文件对应的驱动器来解析文件内容,然后将文件内容自动预处理成pXML,一种可扩展标记语言形式。将文本内容转换成pXML的目的是归整文档内容。非结构化文档的驱动器包括web文件驱动器、PDF文件驱动器、WordML文件驱动器、RTF文件驱动器、Excel文件驱动器、PowerPoint文件驱动器、Word文件驱动器、Latex文件驱动器和FrameMaker驱动器。
2)用文档所对应的映射模板中的映射规则来解析pXML内容,并提取成标准的、具有语义功能的文档内容,并用如DocBook XML,Legal XML等扩展标记语言形式来表示。
3)用文档所对应的XSLT或外部程序把标准的XML或pXML转换成html、WML等显示格式,以供浏览器终端或阅读器阅读。
非结构化文档在转换成具有语义功能的XML时,可根据实际需要来选择以上三个转换步骤。若为了非结构化数据的规整和显示,仅用第一、第三步就可完成。若为了同其它数据保持统一的接口,仅用第一、第二步就可完成。而若为了以某种指定的数据格式的显示和深入分析,则需完成以上三个步骤。
2.将结构化的文档内容转换成具有语义的XML的方法包括步骤1)通过结构化的文档的驱动器来解析文件内容,将文件内容自动预处理成pXML形式。结构化文档驱动器包括自定义的结构化的文档接口程序,如数据库系统的驱动程序等。
2)用结构化的文档所对应的映射模板中的映射规则来解析pXML内容,并转换成标准的、具有语义功能的文档内容,并以如DocBook XML,Legal XML等扩展标记语言形式表示。
3)用XSLT或外部程序把标准的XML转换成html、WML等显示格式,以供浏览器终端或阅读器阅读。
结构化文档内容在转换成具有语义功能的XML时,可根据实际需要来选择以上三个转换步骤。若为了结构化数据的规整和显示,仅用第一、第三步就可完成。若为了同其它数据保持统一的接口,仅用第一、第二步就可完成。而若为了以某种指定的数据格式的显示,则需完成以上三个步骤。
3.根据上述1和2中所用到的pXML定义了元素XMLSTREAM、HEAD、DMETATAGS、DMETA、EMETATAGS、EMETA、DSTYLES、DSTYLE、DSTRUCTURE、BODY、SECTION、PAGE、PARAGRAPH、SPECIALTEXT、TEXT、IMAGE、LINK、FOOTNOTE、ENDNOTE、HEADER、FOOTER、ANCHOR、TAB、HR、MARKER、TABLE、TGROUP、TBODY、THEAD、TFOOT、ROW、CELL、COLUMN、COLUMN-DEF、LIST、LI、LABEL、BLOCKQUOTE、PRE、BREAK、FRAME、SVG、FIELD、INDEXITEM。
pXML中元素的属性有Style、css-style、number、font、font-size、font-fixed、origfont、cmphasis、emphasis-bold、emphasis-italic、emphasis-underline,emphasis-superscript、emphasis-subseript、x、y、height、width、top、left、align、valign、leftindent、rightindent、spacebefore、spaceafter、textindent、border-left、border-right、border-top、border-bottom、top-padding、Left-padding、right-padding、bottom-padding、rowspan、colspan、width-type、height-type。这些属性可用到多个元素中。
4.根据上述1中步骤2和2的步骤2,用驱动器解析和映射模板转换文档内容为pXML元素时,驱动器识别出文档内容中的段落、表格、图、连接、分层、帧等内容,并转换成pXML中的PARAGRAPH、TABLE、IMAGE、LINK、PAGE、FRAME等元素内容。
5.根据上述1和2中所用到的映射模板是由多个映射规则组成,每个映射规则分预处理规则、映射对象、后处理规则等三种类型,它们的分工如下1)对于如word、pdf等非结构化的文档,在文档驱动器的解析下,常用预处理规则来对文档内容进行预处理。预处理规则的主要目的是将文档转换成pXML。然后,用映射对象解析pXML。
2)映射对象是映射规则的核心,主要用于解析文档、抽取文本内容、最终以XML来表达文档内容。映射对象作用是将文档转换成有意义的XML的、可自我定义的规则。映射模板可能有一个或多个映射对象。在定义映射对象时需要考虑最终的输出XML的方式,并用标记符号标定出来。
3)后处理规则是XML元素执行完后所进行的后续处理工作。一般情况用XSLT或其它外部程序,就可将XML形式的文档内容转换成一种最终的显示格式,最终显示格式可能是HTML,WML、sHTML等,以便于显示。
6.上述5中所用的映射对象包括输入规则、输出规则及子映射对象等三个部分,各部分解释如下1)映射对象的输入规则是用于寻找源文档的特定内容,该过程可称之为输入选择,相似一个文字处理器从文档中搜索内容。输入规则从打开后的文档中搜索出特定语句并标记出所选语句内容,用模式匹配的方法和布尔规则来决定选择内容。一般而言,输入规则是映射对象的基础,映射对象的映射方式决定了映射对象的选择内容。
2)映射对象的输出规则用于创建映射对象的输出的XML元素,包括元素的属性、内容及标签的名称等。
3)映射对象的子映射对象和子规则用于分级处理输入选择内容。
7.上述5中所用到的映射对象具有如下基本属性和功能a)映射对象的名称是用于追踪和调用映射对象,且在映射模板中的定义是独一无二。
b)即调即用开关。当需调用映射对象时,映射对象是不能自动启动,而是被其它映射对象或映射模板来调用它。因此,默认为关闭状态,表示为当它所在映射模板被启动或它被其它映射对象调用时,映射对象被启用。
c)激活开关。当启用所有映射对象时,只有已打开激活开关的映射对象才能被启用。一般默认为关闭状态。
d)启动次序。当启用所有映射对象时,所有的映射对象将按照预定义次序被调用,直到映射对象的输入规则输出成功。
8.对于上述6中的所定义的映射对象,输入规则是它的核心,指导映射对象解析输入文本内容并得到某数据。若输入的是文本流或文档,便称之为文本选择;若输入的是XML文档或数据流,则称之为元素选择。因此,按输入格式,映射对象的输入规则大体可分为两大类1)以如text、XML中的#PCDATA等文本内容做为输入的文本输入规则。基于文本输入规则的映射对象能在文档或特定的文本中找到正确的文本内容。
2)以如word,pdf,Framemaker,html等文件内容被预处理成pXML形式或其它结构化格式数据做为输入内容的元素输入规则。基于元素输入规则的映射对象在找到合适的元素对象后,用文本解析的输入规则来解析XML元素。
9.上述8的1)中所定义的文本输入规则用于解析文本内容或来自元素的文本内容。文本输入规则包括文本遍历、文本解析、标记语法等三种规则,可分为文本解析规则和标记语法规则等两大类。
10.在上述9中的文本解析规则包括行规则、固定长度规则、正则表达式规则、超文本标签规则、文本匹配规则等规则。它们分别定义如下1)行规则。在文本输入中选择某指定行的文本内容。
2)固定长度规则。在文本输入中选择某固定长度的文本内容。
3)正则表达式规则。用正则表达式解析输入文本内容。
4)超文本标签规则。从文本输入中提取标签匹配方法。
5)文本匹配规则。用特定的起始字符串和中止字符串来选取特定的字符串。
11.在上述9中的标记语法也称为词语法规则,采用语法解析方法来解析文本输入内容。标记语法有顺序规则、块或规则、重复规则、模板对象规则、符号标签规则、数字标签规则、字符串规则、存在规则,不存在规则、词规则、词大写规则、空规则等标记语法规则。
1)顺序规则是标记语法中的默认规则,是近邻方式来选择标记。对一个有效的SEQUENCE规则而言,它的所有子规则须在某行内能匹配上该文本输入。它的子规则可能是映射对象或其它标记。它也可能作为一个子规则。
2)块或规则实际上是一个交换准则。它有子规则也可作为其它规则的子规则。
3)重复规则是当其子规则匹配成功一次以上时,返回为成功。它只能有一个子规则,但它也可作为其它规则的子规则。
4)模板对象规则是封装其它映射对象的子规则,来对输入文本内容进行解析。
5)符号标签规则是在找到指定符号标记后将返回成功,而指定字符标记作为它的参数来指定。符号标签规则没有子规则,但当可作为其它规则的子规则。
6)数字标签规则是在找到数字标记后将返回成功。该数字标记可能为正或负、十进制或其它、有限或无限。缺省为无限。数字标签规则没有子规则,但其可作为其它映射对象的子规则。
7)字符串规则在找到指定字符串后成功返回。指定字符串是它的参数,字符串规则没有子规则当可作为其它规则的子规则。
8)存在规则是在匹配上标签列中的某个标签时成功返回。若只有一个标签而不是一列时,用文字标签规则。存在标签规则没有子规则,可作为其它规则的子规则。
9)不存在规则在所有标记都不能匹配上字符串时成功返回。不存在规则没有子规则,但可作为其它规则的子规则。
10)词规则和词大写规则用于解析词,但不确定那些词。词规则和词大写规则之间的区别在于分区大小写。词规则和词大写规则没有子规则,但可作为其它规则的子规则。
11)空规则是用于执行可任选元素的表达式。它在任何情况下都返回真。
11.在上述8的2)中的元素输入规则从其功能上可大体分为初级元素输入规则和高级元素输入规则两大类。它们的功能如下1)初级元素输入规则是用于判断当前选定的XML元素是否能匹配上。
2)高级元素输入规则不单纯用于判断当前元素,还用于一系列元素,这些元素包括当前元素的子孙,也可能为子元素,或文本节点的子节点等。
12.在上述11的1)中,初级元素输入规则有如下几类1)组合类规则。组合类规则用布尔逻辑组合其子规则,组合类规则有“与”、“或”、“否”等。
2)对比类规则。对比类规则是按某种方式比较规则的主体,对比类规则有“包含”、“字符串相等”、“数字相等”、“小于”、“大于”、“大于或等于”、“小于或等于”、“真”、“假”、“大写”、“小写”、“起点包含”等。
3)速记类规则。速记类规则用于匹配输入元素的特定属性或名称,有“包含格式”、“格式等于”、“名称等于”等规则。
4)混合类规则有“任意”、“存在”、“越界”等规则。“任意”规则能处理任何元素时都返回真。“存在”规则表示当前元素是否存在有规则所定义的对象。“越界”规则是用于判断对象的插入点是否在在制定的元素范围内。
5)拥有类规则。拥有规则包括“包含文本”、“包含子元素”等规则。“包含文本”规则是指当前元素含有与其相关文本的时,返回真;“包含子元素”规则是指当前元素有任意子元素时,返回真。
6)调用类规则。执行规则用于调用其它映射对象的规则,有“执行规则”、“后代执行规则”、等。
7)XML路径语言评价规则,即为“XPATH评价”规则,在获取XPATH表达式,在当前元素中来评价XPATH,并得到返回结果。
8)其它类规则。具它类规则包括“节点类型”、“首个兄弟节点”、“最后兄弟节点”等。“节点类型”规则用于判断节点是否是文本、元素、CDATA区等。首个兄弟节点”和“最后兄弟节点”规则判断当前元素或节点在兄弟节点集中的位置是否为第一个或最后一个节点或元素。
13.在上述12的2)中的高级规则包括语法序列规则、首尾序列规则和子映射对象规则等规则。这些规则定义如下1)语法序列规则用于执行一系列的、连续的XML输入元素,每个元素互为相邻,形成一个序列,从而在语法上形成一个层级关系。这些元素可能为当前元素的子元素、子节点或兄弟节点。
2)首尾序列规则用于执行一系列的互为相邻的元素集。与语法序列规则的区别是,首尾序列规则只关心起始和结束元素的执行顺序,不关心中间元素的执行顺序,而语法序列规则则严格按照元素的排列顺序执行。
3)子映射对象规则。子映射对象规则指定一些映射对象做为当前对象的自映射对象后,按照指定顺序执行这些子映射对象。
14.上述6的2)中的输出规则是用于按照一定的格式要求输出映射对象处理后的文本内容。映射对象包括输出标签名、输出值、输出值属性等三部分内容。其中,输出标签名定义映射对象的输出处理后XML元素的标签名,它可能是一个常量,也可为原元素的标签名;输出规则中的输出值定义XML元素的文本处理结果;而输出规则中的输出元素属性定义XML元素的属性。每个属性有其对应的规则,即可能为常值,也可为所指定的文本或XML元素。输出规则依赖于输入规则是进行文本解析规则还是XML元素解析规则。
15.在上述14中的映射对象的输出规则具有如下规则1)“无指定”输出规则表示输出元素将无输出值,即输出元素没有任何文本内容。
2)“完整输入文本”输出规则表示输出元素的值是输入规则的输入内容。若输入内容是文本,则将文本拷贝给输出元素;若输入内容是XML元素,则该元素的文本内容拷贝给输出元素。
3)“输入”输出规则表示按某种方式从输入提取的内容来作为输出元素的值,如输入的文本或属性或运行XPATH表达式等。
4)“常值”输出规则表示输出元素的值为一个固定的文本字符串。
5)“子结果”输出规则表示输出元素的值为该映射对象的子映射对象。
6)“最大子结果”输出规则表示当前映射对象的所有子映射对象的输出XML元素的最大值作为当前映射对象的输出结果。
7)“平均子结果”输出规则表示当前映射对象的所有子映射对象的输出XML元素的平均值作为当前映射对象的输出结果。
8)“表映射”输出规则表示输入或集合来用于建立输出结果的对照表,以便于确定输出元素的实际值。例如,若输出元素的值为“男”或“女”,而输入是“M”或“F”,以次建立对应关系。


图1.文本内容挖掘器的构成。
图2.文本内容挖掘器的工作流程。
图3.映射对象实例。
图4.映射模板实例。
具体实施例方式
文本内容挖掘器由文档所对应的映射模板包括预处理器、规则引擎和后处理器等三部分组成,如图1所示。预处理器使用预处理规则将源文件转换成pXML,然后用规则引擎把一些特定的元素进行文本挖掘和内容抽取。后处理器将提取的内容转换成一种指定格式输出内容。
在图2中,非结构化文档和结构化文档通过其所对应的驱动器来解析文档,识别文档的相关格式内容,并将它们转换成pXML格式。如pdf、doc、rtf、ppt、html、mif等非结构化文档用其所对应的驱动器将文档内容解析后生成pXML中的相应的元素内容,如SECTION、PAGE、PARAGRAPH、SPECIALTEXT、TEXT、IMAGE、LINK等。
图2中的规则引擎是对pXML中的元素文本内容按规则进行解析。规则引擎由映射对象组成。映射对象需有输入规则,输入规则进行文本匹配pXML元素内容,抽取映射规则所需的文本内容。而映射对象的输出规则对选择后的文本以何种格式输出文本内容。简单而言,一个映射对象用模式匹配技术从输入文档中找到特定内容,如章、节、段落或其它关键词。一旦找到后,映射对象创建输出的XML元素,也成为核心元素,它们通过映射模板所定义的输出格式输出成文档或数据流。一个映射对象的输出包括父元素、祖先元素、子元素和兄弟元素等内容。
映射对象是映射模板的基本构件,用于将一个自由格式的非结构化或半结构化的文档转换成XML。映射对象从这些非结构化的文本内容中抽取有意义内容,并生成具有语义功能的XML,这些映射对象依赖于转换和源文件内容。输出元素名称依赖于映射对象的定义,如映射对象可能从文本中查找一个日期,则可在映射对象中创建输出元素可命名为<Date></Date>或其它名称。
图3是一个映射对象的实例,其中,映射对象名为“header_paragraph”,输入内容为XML元素,输入规则类型为XML输入,输入规则有″NAME_EQUALS″和″STRING_EQUALS″子规则,输出规则为<OutputAttribute outputname=″number″outputtype=″input″inputtype=″attribute″inputname=″number″/>
子映射对象如下<Children xmlchildrenpasstype=″currentelement″childsettype=″alternate″>
<OBJECT ref=″PARA_BODY″minOccurs=″0″maxOccurs=″unbounded″/>
</Children>
映射模板可认为由是映射对象的集合。每个映射对象至少产生一个输出元素,因此,在指定输出的XML文件中,一个输出元素需有一个映射对象来生成。而一个XML文件有且仅有一个根元素。因此,输出XML文件应当类似如下
<PressRelease>
<title></title>
<subtitle></subtitle>
<bookname></bookname>
<prdate></prdate>
<body>
<para>四库全书-12/17/02-<Bookurl>www.books.com.cn/skqs.html</Bookurl>announced today that....
</para>
<para>...
</para>
</body>
</PressRelease>
映射对象中的输入规则用于在源文档中搜索特定内容,这些内容可称之为输入选择。输入选择相似与用词处理器从文档中选择特定内容过程。这个过程包括打开文档、搜索特定语句、选定语句内容等。特定情况下,是选择整个语句内容,但需要通过定义映射规则,采用模式匹配和boolean规则选取该语句的部分内容或部分关键词等。因此,输入规则是映射对象的基础。
映射对象的输出规则决定映射对象怎样创建输出的XML元素。如一个输出XML元素如下<Release type=″news″date=″5/12/05″>
....some text...some child elements...
</Release>
映射对象的输出规则将告诉映射对象如何构建输出XML元素,包括输出的标签名称、元素属性、输出文本或cdata节点等内容。
在映射对象还包括子映射对象和子规则。映射对象在处理输入选择后将反过来调用子映射对象,对原始输入选择的内容进行进一步处理。如当PARAGRAPH被一个映射对象选取后,子映射对象和规则则能处理PARAGRAPH元素中的内容、文本节点以及内部嵌套元素。当处理文档转换成pXML后,当设定映射对象为“可执行子XML元素或拷贝所有文本节点”,映射对象将遍历所选元素的子节点(包括元素和文本节点)。每个子节点将被映射对象遍历一遍,找到输入规则首次匹配的内容,而文本节点一般是直接从源文本输出到输出文档/图4.是一个将HTML转换成Docbook XML形式的映射模板,在该映射模板中的元素<TransformationRules>定义了如下内容1)预处理器中的html驱动器。driver=″HtmlDriverJ″2)文件后缀名。输入后缀extensions=″.html,.htm″;输出后缀OutputExtension=″xml″;3)处理内容包括<OutputParameters=″Tables=False|Lists=True|Graphics=True|FormattedText=True|BlankParas=True|PageBreaks=False|Links=True|CopyImages=True″DebugMode=″False″/>
4)文件编码规则。encoding=″UTF-16″5)输出格式等如下<PostProcessingRule driver=″MAPDriver″extensions=″″OutputExtension=″xml″OutputParameters=″Package=docbook|Template=docbook.PostGrammar″ebugMode=″False″/>
权利要求
1.将非结构化的文档内容转换成具有语义的XML的方法包括步骤1)通过各种文件对应的驱动器来解析文件内容,然后将文件内容自动预处理成pXML,一种可扩展标记语言形式。将文本内容转换成pXML的目的是归整文档内容。非结构化文档的驱动器包括web文件驱动器、PDF文件驱动器、WordML文件驱动器、RTF文件驱动器、Excel文件驱动器、PowerPoint文件驱动器、Word文件驱动器、Latex文件驱动器和FrameMaker驱动器。2)用文档所对应的映射模板中的映射规则来解析pXML内容,并提取成标准的、具有语义功能的文档内容,并用如DocBook XML,Legal XML等扩展标记语言形式来表示。3)用文档所对应的XSLT或外部程序把标准的XML或pXML转换成html、WML等显示格式,以供浏览器终端或阅读器阅读。非结构化文档在转换成具有语义功能的XML时,可根据实际需要来选择以上三个转换步骤。若为了非结构化数据的规整和显示,仅用第一、第三步就可完成。若为了同其它数据保持统一的接口,仅用第一、第二步就可完成。而若为了以某种指定的数据格式的显示和深入分析,则需完成以上三个步骤。
2.将结构化的文档内容转换成具有语义的XML的方法包括步骤1)通过结构化的文档的驱动器来解析文件内容,将文件内容自动预处理成pXML形式。结构化文档驱动器包括自定义的结构化的文档接口程序,如数据库系统的驱动程序等。2)用结构化的文档所对应的映射模板中的映射规则来解析pXML内容,并转换成标准的、具有语义功能的文档内容,并以如DocBook XML,Legal XML等扩展标记语言形式表示。3)用XSLT或外部程序把标准的XML转换成html、WML等显示格式,以供浏览器终端或阅读器阅读。结构化文档内容在转换成具有语义功能的XML时,可根据实际需要来选择以上三个转换步骤。若为了结构化数据的规整和显示,仅用第一、第三步就可完成。若为了同其它数据保持统一的接口,仅用第一、第二步就可完成。而若为了以某种指定的数据格式的显示,则需完成以上三个步骤。
3.在权利1和2中的pXML中定义了元素XMLSTREAM、HEAD、DMETATAGS、DMETA、EMETATAGS、EMETA、DSTYLES、DSTYLE、DSTRUCTURE、BODY、SECTION、PAGE、PARAGRAPH、SPECIALTEXT、TEXT、IMAGE、LINK、FOOTNOTE、ENDNOTE、HEADER、FOOTER、ANCHOR、TAB、HR、MARKER、TABLE、TGROUP、TBODY、THEAD、TFOOT、ROW、CELL、COLUMN、COLUMN-DEF、LIST、LI、LABEL、BLOCKQUOTE、PRE、BREAK、FRAME、SVG、FIELD、INDEXITEM。pXML中元素的属性有Style、css-style、number、font、font-size、font-fixed、origfont、emphasis、emphasis-bold、emphasis-italic、emphasis-underline,emphasis-superscript、emphasis-subscript、x、y、height、width、top、left、align、valign、leftindent、rightindent、spacebefore、spaceafter、textindent、border-left、border-right、border-top、border-bottom、top-padding、Left-padding、right-padding、bottom-padding、rowspan、colspan、width-type、height-type。这些属性可用到多个元素中。
4.在权利1中2)和权利2的2)中,在用驱动器解析和映射模板转换文档内容为pXML元素时,驱动器识别出文档内容中的段落、表格、图、连接、分层、帧等内容,并转换成pXML中的PARAGRAPH、TABLE、IMAGE、LINK、PAGE、FRAME等元素内容。
5.在权利1和权利2中的映射模板是由多个映射规则组成,每个映射规则分预处理规则、映射对象、后处理规则等三种类型,它们的分工如下1)对于如word、pdf等非结构化的文档,在文档驱动器的解析下,常用预处理规则来对文档内容进行预处理。预处理规则的主要目的是将文档转换成pXML。然后,用映射对象解析pXML。2)映射对象是映射规则的核心,主要用于解析文档、抽取文本内容、最终以XML来表达文档内容。映射对象作用是将文档转换成有意义的XML的、可自我定义的规则。映射模板可能有一个或多个映射对象。在定义映射对象时需要考虑最终的输出XML的方式,并用标记符号标定出来。3)后处理规则是XML元素执行完后所进行的后续处理工作。一般情况用XSLT或其它外部程序,就可将XML形式的文档内容转换成一种最终的显示格式,最终显示格式可能是HTML,WML、sHTML等,以便于显示。
6.在权利5中,一个映射对象包括输入规则、输出规则及子映射对象等三个部分,各部分解释如下1)映射对象的输入规则是用于寻找源文档的特定内容,该过程可称之为输入选择,相似一个文字处理器从文档中搜索内容。输入规则从打开后的文档中搜索出特定语句并标记出所选语句内容,用模式匹配的方法和布尔规则来决定选择内容。一般而言,输入规则是映射对象的基础,映射对象的映射方式决定了映射对象的选择内容。2)映射对象的输出规则用于创建映射对象的输出的XML元素,包括元素的属性、内容及标签的名称等。3)映射对象的子映射对象和子规则用于分级处理输入选择内容。
7.在权利5中,映射对象具有如下基本属性和功能a)映射对象的名称是用于追踪和调用映射对象,且在映射模板中的定义是独一无二。b)即调即用开关。当需调用映射对象时,映射对象是不能自动启动,而是被其它映射对象或映射模板来调用它。因此,默认为关闭状态,表示为当它所在映射模板被启动或它被其它映射对象调用时,映射对象被启用。c)激活开关。当启用所有映射对象时,只有已打开激活开关的映射对象才能被启用。一般默认为关闭状态。d)启动次序。当启用所有映射对象时,所有的映射对象将按照预定义次序被调用,直到映射对象的输入规则输出成功。
8.在权利6中的所定义的映射对象中,输入规则是它的核心,指导映射对象解析输入文本内容并得到某数据。若输入的是文本流或文档,便称之为文本选择;若输入的是XML文档或数据流,则称之为元素选择。因此,按输入格式,映射对象的输入规则大体可分为两大类1)以如text、XML中的#PCDATA等文本内容做为输入的文本输入规则。基于文本输入规则的映射对象能在文档或特定的文本中找到正确的文本内容。2)以如word,pdf,Framemaker,html等文件内容被预处理成pXML形式或其它结构化格式数据做为输入内容的元素输入规则。基于元素输入规则的映射对象在找到合适的元素对象后,用文本解析的输入规则来解析XML元素。
9.权利8的1)中所定义的文本输入规则用于解析文本内容或来自元素的文本内容。文本输入规则包括文本遍历、文本解析、标记语法等三种规则,可分为文本解析规则和标记语法规则等两大类。
10.在权利9中的文本解析规则包括行规则、固定长度规则、正则表达式规则、超文本标签规则、文本匹配规则等规则。它们分别定义如下1)行规则。在文本输入中选择某指定行的文本内容。2)固定长度规则。在文本输入中选择某固定长度的文本内容。3)正则表达式规则。用正则表达式解析输入文本内容。4)超文本标签规则。从文本输入中提取标签匹配方法。5)文本匹配规则。用特定的起始字符串和中止字符串来选取特定的字符串。
11.在权利9中的标记语法也称为词语法规则,采用语法解析方法来解析文本输入内容。标记语法有顺序规则、块或规则、重复规则、模板对象规则、符号标签规则、数字标签规则、字符串规则、存在规则,不存在规则、词规则、词大写规则、空规则等标记语法规则。1)顺序规则是标记语法中的默认规则,是近邻方式来选择标记。对一个有效的SEQUENCE规则而言,它的所有子规则须在某行内能匹配上该文本输入。它的子规则可能是映射对象或其它标记。它也可能作为一个子规则。2)块或规则实际上是一个交换准则。它有子规则也可作为其它规则的子规则。3)重复规则是当其子规则匹配成功一次以上时,返回为成功。它只能有一个子规则,但它也可作为其它规则的子规则。4)模板对象规则是封装其它映射对象的子规则,来对输入文本内容进行解析。5)符号标签规则是在找到指定符号标记后将返回成功,而指定字符标记作为它的参数来指定。符号标签规则没有子规则,但当可作为其它规则的子规则。6)数字标签规则是在找到数字标记后将返回成功。该数字标记可能为正或负、十进制或其它、有限或无限。缺省为无限。数字标签规则没有子规则,但其可作为其它映射对象的子规则。7)字符串规则在找到指定字符串后成功返回。指定字符串是它的参数,字符串规则没有子规则当可作为其它规则的子规则。8)存在规则是在匹配上标签列中的某个标签时成功返回。若只有一个标签而不是一列时,用文字标签规则。存在标签规则没有子规则,可作为其它规则的子规则。9)不存在规则在所有标记都不能匹配上字符串时成功返回。不存在规则没有子规则,但可作为其它规则的子规则。10)词规则和词大写规则用于解析词,但不确定那些词。词规则和词大写规则之间的区别在于分区大小写。词规则和词大写规则没有子规则,但可作为其它规则的子规则。11)空规则是用于执行可任选元素的表达式。它在任何情况下都返回真。
11.在权利8的2)中的元素输入规则从其功能上可大体分为初级元素输入规则和高级元素输入规则两大类。它们的功能如下1)初级元素输入规则是用于判断当前选定的XML元素是否能匹配上。2)高级元素输入规则不单纯用于判断当前元素,还用于一系列元素,这些元素包括当前元素的子孙,也可能为子元素,或文本节点的子节点等。
12.在权利11的1)中,初级元素输入规则有如下几类1)组合类规则。组合类规则用布尔逻辑组合其子规则,组合类规则有“与”、“或”、“否”等。2)对比类规则。对比类规则是按某种方式比较规则的主体,对比类规则有“包含”、“字符串相等”、“数字相等”、“小于”、“大于”、“大于或等于”、“小于或等于”、“真”、“假”、“大写”、“小写”、“起点包含”等。3)速记类规则。速记类规则用于匹配输入元素的特定属性或名称,有“包含格式”、“格式等于”、“名称等于”等规则。4)混合类规则有“任意”、“存在”、“越界”等规则。“任意”规则能处理任何元素时都返回真。“存在”规则表示当前元素是否存在有规则所定义的对象。“越界”规则是用于判断对象的插入点是否在在制定的元素范围内。5)拥有类规则。拥有规则包括“包含文本”、“包含子元素”等规则。“包含文本”规则是指当前元素含有与其相关文本的时,返回真;“包含子元素”规则是指当前元素有任意子元素时,返回真。6)调用类规则。执行规则用于调用其它映射对象的规则,有“执行规则”、“后代执行规则”、等。7)XML路径语言评价规则,即为“XPATH评价”规则,在获取XPATH表达式,在当前元素中来评价XPATH,并得到返回结果。8)其它类规则。其它类规则包括“节点类型”、“首个兄弟节点”、“最后兄弟节点”等。“节点类型”规则用于判断节点是否是文本、元素、CDATA区等。首个兄弟节点”和“最后兄弟节点”规则判断当前元素或节点在兄弟节点集中的位置是否为第一个或最后一个节点或元素。
13.在权利12的2)中的高级规则包括语法序列规则、首尾序列规则和子映射对象规则等规则。这些规则定义如下1)语法序列规则用于执行一系列的、连续的XML输入元素,每个元素互为相邻,形成一个序列,从而在语法上形成一个层级关系。这些元素可能为当前元素的子元素、子节点或兄弟节点。2)首尾序列规则用于执行一系列的互为相邻的元素集。与语法序列规则的区别是,首尾序列规则只关心起始和结束元素的执行顺序,不关心中间元素的执行顺序,而语法序列规则则严格按照元素的排列顺序执行。3)子映射对象规则。子映射对象规则指定一些映射对象做为当前对象的自映射对象后,按照指定顺序执行这些子映射对象。
14.权利6的2)中的输出规则是用于按照一定的格式要求输出映射对象处理后的文本内容。映射对象包括输出标签名、输出值、输出值属性等三部分内容。其中,输出标签名定义映射对象的输出处理后XML元素的标签名,它可能是一个常量,也可为原元素的标签名;输出规则中的输出值定义XML元素的文本处理结果;而输出规则中的输出元素属性定义XML元素的属性。每个属性有其对应的规则,即可能为常值,也可为所指定的文本或XML元素。输出规则依赖于输入规则是进行文本解析规则还是XML元素解析规则。
15.在权利14中的映射对象的输出规则具有如下规则1)“无指定”输出规则表示输出元素将无输出值,即输出元素没有任何文本内容。2)“完整输入文本”输出规则表示输出元素的值是输入规则的输入内容。若输入内容是文本,则将文本拷贝给输出元素;若输入内容是XML元素,则该元素的文本内容拷贝给输出元素。3)“输入”输出规则表示按某种方式从输入提取的内容来作为输出元素的值,如输入的文本或属性或运行XPATH表达式等。4)“常值”输出规则表示输出元素的值为一个固定的文本字符串。5)“子结果”输出规则表示输出元素的值为该映射对象的子映射对象。6)“最大子结果”输出规则表示当前映射对象的所有子映射对象的输出XML元素的最大值作为当前映射对象的输出结果。7)“平均子结果”输出规则表示当前映射对象的所有子映射对象的输出XML元素的平均值作为当前映射对象的输出结果。8)“表映射”输出规则表示输入或集合来用于建立输出结果的对照表,以便于确定输出元素的实际值。例如,若输出元素的值为“男”或“女”,而输入是“M”或“F”,以次建立对应关系。
全文摘要
本发明提供一种将web、文本、PDF、WordML、RTF、Excel、PowerPoint、MicrosoftWord、FrameMaker等格式文件转换成具有语义的可扩展标记语言的装置和实现方法。本装置,即可扩展标记语言集中器,由预处理器、规则引擎和后处理器等三个部分组成。本装置的预处理器由各种数据文件的驱动器组成,通过数据文件驱动器读取文件内容,然后将文件内容自动处理成一种可操作的可扩展标记语言形式,记为Processible Extensible Markup Language,简称pXML。pXML对数据内容起到归整作用。规则引擎是用已定义好的规则来解析和规整pXML内容。这些规则预先定义在数据文档所对应的标准的转换映射模板中。在后处理器中,用可扩展样式语言或另外标准的转换映射模板来把规整后的pXML转换成最终的具有语义功能的可扩展标记语言。
文档编号G06F17/30GK101055578SQ20061007253
公开日2007年10月17日 申请日期2006年4月12日 优先权日2006年4月12日
发明者陈翌, 何余良 申请人:龙搜(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1