欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

信息文檔的處理方法及裝置的制作方法

文檔序號(hào):6334406閱讀:184來源:國(guó)知局
專利名稱:信息文檔的處理方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種可擴(kuò)展標(biāo)記語言(XML)信息 文檔的處理方法及裝置。
背景技術(shù)
XML文檔是一種用來結(jié)構(gòu)化數(shù)據(jù)的通用且適應(yīng)性強(qiáng)的格式文檔,目前已經(jīng)大量應(yīng) 用在計(jì)算機(jī)軟件工業(yè)領(lǐng)域?,F(xiàn)有的對(duì)XML文檔的處理方式中,主要采用針對(duì)XML的簡(jiǎn)單應(yīng) 用程序編程接口(SAX,Simple API for XML)事件驅(qū)動(dòng)模式,直接在事件觸發(fā)過程中處理文 檔。SAX事件驅(qū)動(dòng)模式的主要處理方式為以一種流線形事件驅(qū)動(dòng)處理方式作用于XML文 檔,每遇到一個(gè)元素就會(huì)觸發(fā)一個(gè)事件,由事件處理器進(jìn)行處理,并直接在事件處理器中對(duì) 文檔內(nèi)容進(jìn)行處理且返回結(jié)果(即直接返回結(jié)果)。這種處理方式的優(yōu)點(diǎn)是事件分析器按 順序讀取XML文檔,而不把整個(gè)文檔讀入內(nèi)存,所以處理速度很快。但是,現(xiàn)有這種處理方式的缺點(diǎn)是從頭到尾讀取XML文檔,必須通過一個(gè)個(gè)標(biāo)簽 間的連續(xù)跳轉(zhuǎn)才能處理下去,是一個(gè)不掉的阻塞式處理過程,所以導(dǎo)致整個(gè)文檔的處理過 程非常漫長(zhǎng),返回結(jié)果的速度很慢。當(dāng)打開一個(gè)內(nèi)容相對(duì)多的文檔時(shí)(例如在TOB網(wǎng)頁讀 取,辦公文檔格式讀取過程中),程序?qū)⒈籜ML文檔的解析處理過程所阻塞,必須通過一個(gè) 很長(zhǎng)的時(shí)間才能將文檔全部處理完畢,用戶等待處理結(jié)果的時(shí)間很長(zhǎng),嚴(yán)重影響了軟件的 執(zhí)行效率。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種信息文檔的處理方法,加快XML文檔 返回處理結(jié)果的速度,提高計(jì)算機(jī)軟件的執(zhí)行效率。本發(fā)明的再一目的在于提供一種信息文檔的處理裝置,可加快XML文檔返回處理 結(jié)果的速度,提高計(jì)算機(jī)軟件的執(zhí)行效率。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的—種信息文檔的處理方法,該方法包括A、將可擴(kuò)展標(biāo)記語言XML文檔標(biāo)簽信息映射到可由下標(biāo)訪問的XML文檔向量模型 中;B、依據(jù)滯后處理策略信息,通過下標(biāo)訪問并處理所述XML文檔向量模型的結(jié)構(gòu)元 素,其中對(duì)于需要滯后處理的信息暫不處理,記錄該滯后處理信息的下標(biāo);C、根據(jù)步驟B中記錄的需要滯后處理信息的下標(biāo),訪問并處理所述XML文檔向量 模型中對(duì)應(yīng)的結(jié)構(gòu)元素。 在一種優(yōu)選實(shí)施例中,所述步驟A中,將所述XML文檔中的每一個(gè)標(biāo)簽所包含的信 息對(duì)應(yīng)映射到XML文檔向量模型的一個(gè)結(jié)構(gòu)元素中,其中一個(gè)標(biāo)簽映射的結(jié)構(gòu)元素包含有 以下內(nèi)容信息 1)當(dāng)前標(biāo)簽在XML文檔中的順序編號(hào);
2)當(dāng)前標(biāo)簽到包含此標(biāo)簽的父標(biāo)簽順序編號(hào)的距離;3)當(dāng)前標(biāo)簽包含的子標(biāo)簽個(gè)數(shù);4)當(dāng)前標(biāo)簽的標(biāo)簽名;5)當(dāng)前標(biāo)簽的屬性信息;6)當(dāng)前標(biāo)簽包含的起始文本內(nèi)容;7)當(dāng)前標(biāo)簽包含的結(jié)束文本內(nèi)容。在一種優(yōu)選實(shí)施例中,所述步驟A以基于事件驅(qū)動(dòng)分析處理的方式進(jìn)行處理,具 體包括以下事件驅(qū)動(dòng)處理過程起始文檔事件驅(qū)動(dòng)處理建立或清理一個(gè)可以通過下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)作為所述 XML文檔向量模型,初始化當(dāng)前處理標(biāo)簽下標(biāo);起始標(biāo)簽事件驅(qū)動(dòng)處理構(gòu)建一個(gè)新標(biāo)簽的結(jié)構(gòu)元素,并對(duì)該新結(jié)構(gòu)元素的順序 編號(hào)、該新標(biāo)簽到父標(biāo)簽順序編號(hào)的距離、該新結(jié)構(gòu)元素的標(biāo)簽名稱以及屬性進(jìn)行賦值,并 將該新建的結(jié)構(gòu)元素加入到可用下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)中,變更當(dāng)前處理下標(biāo)為當(dāng)前結(jié)構(gòu)元 素的順序編號(hào);內(nèi)容處理事件驅(qū)動(dòng)處理判斷當(dāng)前遇到的內(nèi)容是起始內(nèi)容還是結(jié)束內(nèi)容,如是起 始內(nèi)容,將對(duì)當(dāng)前元素結(jié)構(gòu)的起始內(nèi)容賦值,否則對(duì)當(dāng)前元素結(jié)構(gòu)的結(jié)束內(nèi)容賦值;結(jié)束標(biāo)簽事件驅(qū)動(dòng)處理對(duì)當(dāng)前處理結(jié)構(gòu)元素的包含子元素?cái)?shù)賦值,并將當(dāng)前處 理結(jié)構(gòu)元素的父元素下標(biāo)賦給當(dāng)前處理標(biāo)簽下標(biāo)。在一種優(yōu)選實(shí)施例中,所述步驟B具體包括Bi、將所述XML文檔向量模型的第一個(gè)結(jié)構(gòu)元素作為當(dāng)前結(jié)構(gòu)元素,構(gòu)建該結(jié)構(gòu) 元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文;B2、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理;B3、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為當(dāng)前子結(jié)構(gòu)元 素下標(biāo)賦值;B4、判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素范圍內(nèi),如果是 則進(jìn)入到步驟B9,否則進(jìn)入到步驟B5 ;B5、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處理;B6、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處理;B7、判斷當(dāng)前結(jié)構(gòu)元素是否為根結(jié)構(gòu)元素,如果是則結(jié)束本流程,否則進(jìn)入步驟 B8 ;B8、將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素下標(biāo),并返回到當(dāng) 前結(jié)構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,進(jìn)入步驟B4 ;B9、依據(jù)預(yù)設(shè)的處理策略信息,判斷當(dāng)前子結(jié)構(gòu)元素是否可以滯后處理,如果是則 進(jìn)入步驟B10,否則進(jìn)入步驟Bll ;B10、記錄當(dāng)前子結(jié)構(gòu)元素下標(biāo)的值,之后將當(dāng)前子結(jié)構(gòu)元素下標(biāo)改為下一子結(jié)構(gòu) 元素位置,進(jìn)入步驟B4;B11、將當(dāng)前處理上下文進(jìn)行相應(yīng)的處理,將當(dāng)前子結(jié)構(gòu)元素作為當(dāng)前處理結(jié)構(gòu)元 素,并構(gòu)建當(dāng)前處理結(jié)構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文,返回步驟B2。在一種優(yōu)選實(shí)施例中,步驟B中所述的滯后處理策略信息包括判斷當(dāng)前處理的信息是否為后繼處理過程中的必須項(xiàng),如果不是必須項(xiàng),且不是同等級(jí)信息中的首項(xiàng),則可 滯后處理。在一種優(yōu)選實(shí)施例中,所述步驟C中,針對(duì)每個(gè)所記錄的滯后處理信息,分別執(zhí)行 如下步驟Cl、將所記錄的滯后處理信息的下標(biāo)作為當(dāng)前子結(jié)構(gòu)元素下標(biāo),將該子結(jié)構(gòu)元素 對(duì)應(yīng)父結(jié)構(gòu)的處理上下文作為當(dāng)前處理上下文;C2、將當(dāng)前的子結(jié)構(gòu)元素下標(biāo)作為當(dāng)前結(jié)構(gòu)元素下標(biāo),并構(gòu)建該結(jié)構(gòu)元素對(duì)應(yīng)的 處理上下文作為當(dāng)前處理上下文;C3、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理;C4、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為當(dāng)前子結(jié)構(gòu)元 素下標(biāo)賦值;C5、判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素范圍內(nèi),如果是 則進(jìn)入到步驟C2,否則進(jìn)入到步驟C6 ;C6、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處理;C7、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處理;C8、判斷當(dāng)前結(jié)構(gòu)元素下標(biāo)是否為步驟Cl所述的滯后處理信息的下標(biāo);如果是則 結(jié)束本流程。否則進(jìn)入步驟C9;C9、將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素下標(biāo),并返回到當(dāng) 前結(jié)構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,返回步驟C5。在一種優(yōu)選實(shí)施例中,所述步驟B中,對(duì)于可滯后處理的信息,進(jìn)一步記錄該滯后 處理信息的父結(jié)構(gòu)的處理上下文信息,并在步驟C中直接利用所記錄的上下文信息處理對(duì) 應(yīng)的結(jié)構(gòu)元素。一種信息文檔的處理裝置,該裝置包括第一模塊,用于將可擴(kuò)展標(biāo)記語言XML文檔標(biāo)簽信息映射到可由下標(biāo)訪問的XML 文檔向量模型中;第二模塊,用于依據(jù)滯后處理策略信息,通過下標(biāo)訪問并處理所述XML文檔向量 模型的結(jié)構(gòu)元素,其中對(duì)于需要滯后處理的信息暫不處理,記錄該滯后處理信息的下標(biāo);第三模塊,用于根據(jù)第二模塊中記錄的需要滯后處理信息的下標(biāo),訪問并處理所 述XML文檔向量模型中對(duì)應(yīng)的結(jié)構(gòu)元素。在一種優(yōu)選實(shí)施例中,所述第一模塊具體包括以下事件驅(qū)動(dòng)處理模塊起始文檔事件驅(qū)動(dòng)處理模塊,用于建立或清理一個(gè)可以通過下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu) 作為所述XML文檔向量模型,初始化當(dāng)前處理標(biāo)簽下標(biāo);起始標(biāo)簽事件驅(qū)動(dòng)處理模塊,用于構(gòu)建一個(gè)新標(biāo)簽的結(jié)構(gòu)元素,并對(duì)該新結(jié)構(gòu)元 素的順序編號(hào)、該新標(biāo)簽到父標(biāo)簽順序編號(hào)的距離、該新結(jié)構(gòu)元素的標(biāo)簽名稱以及屬性進(jìn) 行賦值,并將該新建的結(jié)構(gòu)元素加入到可用下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)中,變更當(dāng)前處理下標(biāo)為 當(dāng)前結(jié)構(gòu)元素的順序編號(hào);內(nèi)容處理事件驅(qū)動(dòng)處理模塊,用于判斷當(dāng)前遇到的內(nèi)容是起始內(nèi)容還是結(jié)束內(nèi) 容,如是起始內(nèi)容,將對(duì)當(dāng)前元素結(jié)構(gòu)的起始內(nèi)容賦值,否則對(duì)當(dāng)前元素結(jié)構(gòu)的結(jié)束內(nèi)容賦 值;
結(jié)束標(biāo)簽事件驅(qū)動(dòng)處理模塊,用于對(duì)當(dāng)前處理結(jié)構(gòu)元素的包含子元素?cái)?shù)賦值,并 將當(dāng)前處理結(jié)構(gòu)元素的父元素下標(biāo)賦給當(dāng)前處理標(biāo)簽下標(biāo)。在一種優(yōu)選實(shí)施例中,所述第二模塊具體包括以下子模塊第Bl子模塊,用于將所述XML文檔向量模型的第一個(gè)結(jié)構(gòu)元素作為當(dāng)前結(jié)構(gòu)元 素,構(gòu)建該結(jié)構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文;第B2子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理;第B3子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為 當(dāng)前子結(jié)構(gòu)元素下標(biāo)賦值;第B4子模塊,用于判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素 范圍內(nèi),如果是則進(jìn)入到第B9子模塊,否則進(jìn)入到第B5子模塊;第B5子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處 理;第B6子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處 理;第B7子模塊,用于判斷當(dāng)前結(jié)構(gòu)元素是否為根結(jié)構(gòu)元素,如果是則結(jié)束本流程, 否則進(jìn)入第B8子模塊;第B8子模塊,用于將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素的 下標(biāo),并返回到當(dāng)前結(jié)構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,進(jìn)入第B4子模塊;第B9子模塊,用于依據(jù)預(yù)設(shè)的處理策略信息,判斷當(dāng)前子結(jié)構(gòu)元素是否可以滯后 處理,如果是則進(jìn)入第BlO子模塊,否則進(jìn)入第Bll子模塊;第BlO子模塊,用于記錄當(dāng)前子結(jié)構(gòu)元素下標(biāo)的值,之后將當(dāng)前子結(jié)構(gòu)元素下標(biāo) 改為下一子結(jié)構(gòu)元素位置,進(jìn)入第B4子模塊;第Bll子模塊,用于將當(dāng)前處理上下文進(jìn)行相應(yīng)的處理,將當(dāng)前子結(jié)構(gòu)元素作為 當(dāng)前處理結(jié)構(gòu)元素,并構(gòu)建當(dāng)前處理結(jié)構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文,返 回第B2子模塊。在一種優(yōu)選實(shí)施例中,所述第三模塊具體包括以下子模塊第Cl子模塊,用于將所記錄的某滯后處理信息的下標(biāo)作為當(dāng)前子結(jié)構(gòu)元素下標(biāo), 將該子結(jié)構(gòu)元素對(duì)應(yīng)父結(jié)構(gòu)的處理上下文作為當(dāng)前處理上下文;第C2子模塊,用于將當(dāng)前的子結(jié)構(gòu)元素下標(biāo)作為當(dāng)前結(jié)構(gòu)元素下標(biāo),并構(gòu)建該結(jié) 構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文;第C3子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理;第C4子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為 當(dāng)前子結(jié)構(gòu)元素下標(biāo)賦值;第C5子模塊,用于判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素 范圍內(nèi),如果是則進(jìn)入到第C2子模塊,否則進(jìn)入到第C6子模塊;第C6子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處 理;第C7子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處 理;
第C8子模塊,判斷當(dāng)前結(jié)構(gòu)元素下標(biāo)是否為第Cl子模塊所處理的滯后處理信息 的下標(biāo);如果是則結(jié)束本流程。否則進(jìn)入第C9子模塊;第C9子模塊,用于將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素下 標(biāo),并返回到當(dāng)前結(jié)構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,返回第C5子模塊。由于本發(fā)明首先將XML文檔的信息全部映射到可用下標(biāo)訪問的XML文檔向量模型 中,對(duì)該XML文檔向量模型的訪問可以不必是流線形、一個(gè)接一個(gè)元素地訪問方式,而是可 以隨機(jī)移動(dòng)訪問其中所有的結(jié)構(gòu)元素,因此本發(fā)明將可以先處理必要的結(jié)構(gòu)元素并返回處 理結(jié)果,對(duì)需要滯后處理的結(jié)構(gòu)元素隨后分批處理并分批返回處理結(jié)果,從而可以加快XML 文檔返回處理結(jié)果的速度,提高軟件的執(zhí)行效率,減少用戶等待XML文檔處理結(jié)果的時(shí)間。


圖1為本發(fā)明所述方法的核心處理流程;圖2a為本發(fā)明第一階段起始文檔事件驅(qū)動(dòng)處理的流程圖;圖2b為本發(fā)明第一階段起始標(biāo)簽事件驅(qū)動(dòng)處理的流程圖;圖2c為本發(fā)明第一階段內(nèi)容處理事件驅(qū)動(dòng)處理的流程圖;圖2d為本發(fā)明第一階段結(jié)束標(biāo)簽事件驅(qū)動(dòng)處理的流程圖;圖3為本發(fā)明一種實(shí)施例中所述第二階段的詳細(xì)處理流程圖;圖4為所述第三階段中針對(duì)所記錄的某個(gè)滯后處理信息的下標(biāo)進(jìn)行處理的詳細(xì) 處理流程圖;圖5為現(xiàn)有SAX事件驅(qū)動(dòng)處理一個(gè)XML文檔實(shí)例的示意圖;圖6為本發(fā)明第一階段將該XML文檔實(shí)例映射得到的可由下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)映 射圖;圖7為本發(fā)明第二階段處理所述XML文檔向量模型的示意圖;圖8為本發(fā)明第三階段處理所述XML文檔向量模型的示意圖。
具體實(shí)施例方式下面通過具體實(shí)施例和附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。圖1為本發(fā)明所述方法的核心處理流程,該流程包括步驟101即第一階段、將XML文檔標(biāo)簽信息映射到可由下標(biāo)訪問的XML文檔向量 模型中;步驟102即第二階段、依據(jù)滯后處理策略信息,通過下標(biāo)訪問并處理所述XML文檔 向量模型的結(jié)構(gòu)元素,其中對(duì)于需要滯后處理的信息暫不處理,記錄該滯后處理信息的下 標(biāo);步驟103即第三階段、根據(jù)上一步驟中記錄的需要滯后處理信息的下標(biāo),訪問并 處理所述XML文檔向量模型中對(duì)應(yīng)的結(jié)構(gòu)元素。在所述步驟101中,將所述XML文檔中的每一個(gè)標(biāo)簽所包含的信息對(duì)應(yīng)映射到XML 文檔向量模型的一個(gè)結(jié)構(gòu)元素中,其中一個(gè)標(biāo)簽映射的結(jié)構(gòu)元素包含有以下內(nèi)容信息1)當(dāng)前標(biāo)簽在XML文檔中的順序編號(hào);2)當(dāng)前標(biāo)簽到包含此標(biāo)簽的父標(biāo)簽順序編號(hào)的距離;
3)當(dāng)前標(biāo)簽包含的子標(biāo)簽個(gè)數(shù);4)當(dāng)前標(biāo)簽的標(biāo)簽名;5)當(dāng)前標(biāo)簽的屬性信息;6)當(dāng)前標(biāo)簽包含的起始文本內(nèi)容;7)當(dāng)前標(biāo)簽包含的結(jié)束文本內(nèi)容。下表1為一個(gè)標(biāo)簽對(duì)應(yīng)的結(jié)構(gòu)元素的內(nèi)容示例
權(quán)利要求
1.一種信息文檔的處理方法,其特征在于,該方法包括A、將可擴(kuò)展標(biāo)記語言XML文檔標(biāo)簽信息映射到可由下標(biāo)訪問的XML文檔向量模型中;B、依據(jù)滯后處理策略信息,通過下標(biāo)訪問并處理所述XML文檔向量模型的結(jié)構(gòu)元素, 其中對(duì)于需要滯后處理的信息暫不處理,記錄該滯后處理信息的下標(biāo);C、根據(jù)步驟B中記錄的需要滯后處理信息的下標(biāo),訪問并處理所述XML文檔向量模型 中對(duì)應(yīng)的結(jié)構(gòu)元素。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中,將所述XML文檔中的每一 個(gè)標(biāo)簽所包含的信息對(duì)應(yīng)映射到XML文檔向量模型的一個(gè)結(jié)構(gòu)元素中,其中一個(gè)標(biāo)簽映射 的結(jié)構(gòu)元素包含有以下內(nèi)容信息1)當(dāng)前標(biāo)簽在XML文檔中的順序編號(hào);2)當(dāng)前標(biāo)簽到包含此標(biāo)簽的父標(biāo)簽順序編號(hào)的距離;3)當(dāng)前標(biāo)簽包含的子標(biāo)簽個(gè)數(shù);4)當(dāng)前標(biāo)簽的標(biāo)簽名;5)當(dāng)前標(biāo)簽的屬性信息;6)當(dāng)前標(biāo)簽包含的起始文本內(nèi)容;7)當(dāng)前標(biāo)簽包含的結(jié)束文本內(nèi)容。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟A以基于事件驅(qū)動(dòng)分析處理的方 式進(jìn)行處理,具體包括以下事件驅(qū)動(dòng)處理過程起始文檔事件驅(qū)動(dòng)處理建立或清理一個(gè)可以通過下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)作為所述XML 文檔向量模型,初始化當(dāng)前處理標(biāo)簽下標(biāo);起始標(biāo)簽事件驅(qū)動(dòng)處理構(gòu)建一個(gè)新標(biāo)簽的結(jié)構(gòu)元素,并對(duì)該新結(jié)構(gòu)元素的順序編號(hào)、 該新標(biāo)簽到父標(biāo)簽順序編號(hào)的距離、該新結(jié)構(gòu)元素的標(biāo)簽名稱以及屬性進(jìn)行賦值,并將該 新建的結(jié)構(gòu)元素加入到可用下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)中,變更當(dāng)前處理下標(biāo)為當(dāng)前結(jié)構(gòu)元素的 順序編號(hào);內(nèi)容處理事件驅(qū)動(dòng)處理判斷當(dāng)前遇到的內(nèi)容是起始內(nèi)容還是結(jié)束內(nèi)容,如是起始內(nèi) 容,將對(duì)當(dāng)前元素結(jié)構(gòu)的起始內(nèi)容賦值,否則對(duì)當(dāng)前元素結(jié)構(gòu)的結(jié)束內(nèi)容賦值;結(jié)束標(biāo)簽事件驅(qū)動(dòng)處理對(duì)當(dāng)前處理結(jié)構(gòu)元素的包含子元素?cái)?shù)賦值,并將當(dāng)前處理結(jié) 構(gòu)元素的父元素下標(biāo)賦給當(dāng)前處理標(biāo)簽下標(biāo)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B具體包括Bi、將所述XML文檔向量模型的第一個(gè)結(jié)構(gòu)元素作為當(dāng)前結(jié)構(gòu)元素,構(gòu)建該結(jié)構(gòu)元素 對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文;B2、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理;B3、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為當(dāng)前子結(jié)構(gòu)元素下 標(biāo)賦值;B4、判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素范圍內(nèi),如果是則進(jìn) 入到步驟B9,否則進(jìn)入到步驟B5 ;B5、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處理;B6、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處理;B7、判斷當(dāng)前結(jié)構(gòu)元素是否為根結(jié)構(gòu)元素,如果是則結(jié)束本流程,否則進(jìn)入步驟B8 ;B8、將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素下標(biāo),并返回到當(dāng)前結(jié) 構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,進(jìn)入步驟B4 ;B9、依據(jù)預(yù)設(shè)的處理策略信息,判斷當(dāng)前子結(jié)構(gòu)元素是否可以滯后處理,如果是則進(jìn)入 步驟B10,否則進(jìn)入步驟Bll ;B10、記錄當(dāng)前子結(jié)構(gòu)元素下標(biāo)的值,之后將當(dāng)前子結(jié)構(gòu)元素下標(biāo)的值改為下一子結(jié)構(gòu) 元素位置,進(jìn)入步驟B4;B11、將當(dāng)前處理上下文進(jìn)行相應(yīng)的處理,將當(dāng)前子結(jié)構(gòu)元素作為當(dāng)前處理結(jié)構(gòu)元素, 并構(gòu)建當(dāng)前處理結(jié)構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文,返回步驟B2。
5.根據(jù)權(quán)利要求1或4所述的方法,其特征在于,步驟B中所述的滯后處理策略信息包 括判斷當(dāng)前處理的信息是否為后繼處理過程中的必須項(xiàng),如果不是必須項(xiàng),且不是同等級(jí) 信息中的首項(xiàng),則可滯后處理。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C中,針對(duì)每個(gè)所記錄的滯后處 理信息,分別執(zhí)行如下步驟Cl、將所記錄的滯后處理信息的下標(biāo)作為當(dāng)前子結(jié)構(gòu)元素下標(biāo),將該子結(jié)構(gòu)元素對(duì)應(yīng) 父結(jié)構(gòu)的處理上下文作為當(dāng)前處理上下文;C2、將當(dāng)前的子結(jié)構(gòu)元素下標(biāo)作為當(dāng)前結(jié)構(gòu)元素下標(biāo),并構(gòu)建該結(jié)構(gòu)元素對(duì)應(yīng)的處理 上下文作為當(dāng)前處理上下文;C3、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理; C4、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為當(dāng)前子結(jié)構(gòu)元素下 標(biāo)賦值;C5、判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素范圍內(nèi),如果是則進(jìn) 入到步驟C2,否則進(jìn)入到步驟C6 ;C6、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處理; C7、在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處理; C8、判斷當(dāng)前結(jié)構(gòu)元素下標(biāo)是否為步驟Cl所述的滯后處理信息的下標(biāo);如果是則結(jié)束 本流程。否則進(jìn)入步驟C9;C9、將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素下標(biāo),并返回到當(dāng)前結(jié) 構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,返回步驟C5。
7.根據(jù)權(quán)利要求1、4或6所述的方法,所述步驟B中,對(duì)于可滯后處理的信息,進(jìn)一步 記錄該滯后處理信息的父結(jié)構(gòu)的處理上下文信息,并在步驟C中直接利用所記錄的上下文 信息處理對(duì)應(yīng)的結(jié)構(gòu)元素。
8.一種信息文檔的處理裝置,其特征在于,該裝置包括第一模塊,用于將可擴(kuò)展標(biāo)記語言XML文檔標(biāo)簽信息映射到可由下標(biāo)訪問的XML文檔 向量模型中;第二模塊,用于依據(jù)滯后處理策略信息,通過下標(biāo)訪問并處理所述XML文檔向量模型 的結(jié)構(gòu)元素,其中對(duì)于需要滯后處理的信息暫不處理,記錄該滯后處理信息的下標(biāo);第三模塊,用于根據(jù)第二模塊中記錄的需要滯后處理信息的下標(biāo),訪問并處理所述XML 文檔向量模型中對(duì)應(yīng)的結(jié)構(gòu)元素。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一模塊具體包括以下事件驅(qū)動(dòng)處理模塊起始文檔事件驅(qū)動(dòng)處理模塊,用于建立或清理一個(gè)可以通過下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)作為 所述XML文檔向量模型,初始化當(dāng)前處理標(biāo)簽下標(biāo);起始標(biāo)簽事件驅(qū)動(dòng)處理模塊,用于構(gòu)建一個(gè)新標(biāo)簽的結(jié)構(gòu)元素,并對(duì)該新結(jié)構(gòu)元素的 順序編號(hào)、該新標(biāo)簽到父標(biāo)簽順序編號(hào)的距離、該新結(jié)構(gòu)元素的標(biāo)簽名稱以及屬性進(jìn)行賦 值,并將該新建的結(jié)構(gòu)元素加入到可用下標(biāo)訪問的數(shù)據(jù)結(jié)構(gòu)中,變更當(dāng)前處理下標(biāo)為當(dāng)前 結(jié)構(gòu)元素的順序編號(hào);內(nèi)容處理事件驅(qū)動(dòng)處理模塊,用于判斷當(dāng)前遇到的內(nèi)容是起始內(nèi)容還是結(jié)束內(nèi)容,如 是起始內(nèi)容,將對(duì)當(dāng)前元素結(jié)構(gòu)的起始內(nèi)容賦值,否則對(duì)當(dāng)前元素結(jié)構(gòu)的結(jié)束內(nèi)容賦值;結(jié)束標(biāo)簽事件驅(qū)動(dòng)處理模塊,用于對(duì)當(dāng)前處理結(jié)構(gòu)元素的包含子元素?cái)?shù)賦值,并將當(dāng) 前處理結(jié)構(gòu)元素的父元素下標(biāo)賦給當(dāng)前處理標(biāo)簽下標(biāo)。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第二模塊具體包括以下子模塊 第Bl子模塊,用于將所述XML文檔向量模型的第一個(gè)結(jié)構(gòu)元素作為當(dāng)前結(jié)構(gòu)元素,構(gòu)建該結(jié)構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文;第B2子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理; 第B3子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為當(dāng)前 子結(jié)構(gòu)元素下標(biāo)賦值;第B4子模塊,用于判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素范圍 內(nèi),如果是則進(jìn)入到第B9子模塊,否則進(jìn)入到第B5子模塊;第B5子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處理; 第B6子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處理; 第B7子模塊,用于判斷當(dāng)前結(jié)構(gòu)元素是否為根結(jié)構(gòu)元素,如果是則結(jié)束本流程,否則 進(jìn)入第B8子模塊;第B8子模塊,用于將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素的下標(biāo), 并返回到當(dāng)前結(jié)構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,進(jìn)入第B4子模塊;第B9子模塊,用于依據(jù)預(yù)設(shè)的處理策略信息,判斷當(dāng)前子結(jié)構(gòu)元素是否可以滯后處 理,如果是則進(jìn)入第BlO子模塊,否則進(jìn)入第Bll子模塊;第BlO子模塊,用于記錄當(dāng)前子結(jié)構(gòu)元素下標(biāo)的值,之后將當(dāng)前子結(jié)構(gòu)元素下標(biāo)改為 下一子結(jié)構(gòu)元素位置,進(jìn)入第B4子模塊;第Bll子模塊,用于將當(dāng)前處理上下文進(jìn)行相應(yīng)的處理,將當(dāng)前子結(jié)構(gòu)元素作為當(dāng)前 處理結(jié)構(gòu)元素,并構(gòu)建當(dāng)前處理結(jié)構(gòu)元素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文,返回第 B2子模塊。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第三模塊具體包括以下子模塊第Cl子模塊,用于將所記錄的某滯后處理信息的下標(biāo)作為當(dāng)前子結(jié)構(gòu)元素下標(biāo),將該 子結(jié)構(gòu)元素對(duì)應(yīng)父結(jié)構(gòu)的處理上下文作為當(dāng)前處理上下文;第C2子模塊,用于將當(dāng)前的子結(jié)構(gòu)元素下標(biāo)作為當(dāng)前結(jié)構(gòu)元素下標(biāo),并構(gòu)建該結(jié)構(gòu)元 素對(duì)應(yīng)的處理上下文作為當(dāng)前處理上下文;第C3子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始階段的處理; 第C4子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素起始內(nèi)容的處理,并為當(dāng)前子結(jié)構(gòu)元素下標(biāo)賦值;第C5子模塊,用于判斷當(dāng)前子結(jié)構(gòu)元素下標(biāo)是否在當(dāng)前結(jié)構(gòu)元素的子結(jié)構(gòu)元素范圍 內(nèi),如果是則進(jìn)入到第C2子模塊,否則進(jìn)入到第C6子模塊;第C6子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束內(nèi)容的處理; 第C7子模塊,用于在當(dāng)前處理上下文中進(jìn)行當(dāng)前結(jié)構(gòu)元素對(duì)應(yīng)的結(jié)束階段的處理; 第C8子模塊,判斷當(dāng)前結(jié)構(gòu)元素下標(biāo)是否為第Cl子模塊所處理的滯后處理信息的下 標(biāo);如果是則結(jié)束本流程。否則進(jìn)入第C9子模塊;第C9子模塊,用于將當(dāng)前子結(jié)構(gòu)元素下標(biāo)設(shè)為當(dāng)前結(jié)構(gòu)元素的兄弟結(jié)構(gòu)元素下標(biāo),并 返回到當(dāng)前結(jié)構(gòu)元素的父結(jié)構(gòu)元素的處理上下文中,返回第C5子模塊。
全文摘要
本發(fā)明公開了一種信息文檔的處理方法和裝置,所述方法包括A、將可擴(kuò)展標(biāo)記語言(XML)文檔標(biāo)簽信息映射到可由下標(biāo)訪問的XML文檔向量模型中;B、依據(jù)滯后處理策略信息,通過下標(biāo)訪問并處理所述XML文檔向量模型的結(jié)構(gòu)元素,其中對(duì)于需要滯后處理的信息暫不處理,記錄該滯后處理信息的下標(biāo);C、根據(jù)步驟B中記錄的需要滯后處理信息的下標(biāo),訪問并處理所述XML文檔向量模型中對(duì)應(yīng)的結(jié)構(gòu)元素。所述裝置用于執(zhí)行上述方法。利用本發(fā)明,可以加快XML文檔返回處理結(jié)果的速度,提高軟件的執(zhí)行效率,減少用戶等待XML文檔處理結(jié)果的時(shí)間。
文檔編號(hào)G06F17/22GK102004722SQ201010519870
公開日2011年4月6日 申請(qǐng)日期2010年10月19日 優(yōu)先權(quán)日2010年10月19日
發(fā)明者曾良軍, 李恒 申請(qǐng)人:北京紅旗中文貳仟軟件技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
昭通市| 于田县| 镇江市| 额尔古纳市| 襄城县| 光泽县| 绩溪县| 河曲县| 砀山县| 颍上县| 任丘市| 齐齐哈尔市| 大足县| 象州县| 永安市| 黔江区| 鹰潭市| 宁陵县| 木兰县| 邵阳县| 安庆市| 忻城县| 上蔡县| 鸡东县| 常德市| 临湘市| 大同县| 普陀区| 科技| 任丘市| 西乡县| 瑞丽市| 龙州县| 博客| 翁牛特旗| 蓬溪县| 尼勒克县| 新乡市| 龙陵县| 宿州市| 马龙县|