專(zhuān)利名稱(chēng):將DOM4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字家庭技術(shù)領(lǐng)域,具體涉及一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng)及方法。
背景技術(shù):
近年來(lái),數(shù)字家庭技術(shù)的發(fā)展越來(lái)越快,然而,數(shù)字電視在互動(dòng)業(yè)務(wù)方面仍存在不足?,F(xiàn)存的數(shù)字電視業(yè)務(wù)中,除視頻點(diǎn)播、節(jié)目導(dǎo)視等傳統(tǒng)的基本的互動(dòng)業(yè)務(wù)外,其他互動(dòng)業(yè)務(wù)較少,在電視商務(wù)、信息服務(wù)等方面仍需加強(qiáng)。其主要原因是目前還缺乏一個(gè)針對(duì)數(shù)字電視互動(dòng)業(yè)務(wù)服務(wù)信息的規(guī)范,嚴(yán)重阻礙了平臺(tái)提供商與眾多內(nèi)容服務(wù)提供商之間的信息對(duì)接。數(shù)字電視交互服務(wù)標(biāo)記語(yǔ)言(HSML)標(biāo)準(zhǔn)對(duì)XML語(yǔ)言進(jìn)行擴(kuò)展,制定針對(duì)數(shù)字電視交互服務(wù)的標(biāo)記語(yǔ)言,實(shí)現(xiàn)對(duì)面向三網(wǎng)融合的數(shù)字電視交互服務(wù)進(jìn)行業(yè)務(wù)呈現(xiàn)及信息交互描述,便于采用虛擬化技術(shù)對(duì)所需要的跨域共享與集成服務(wù)內(nèi)容進(jìn)行功能提取與抽象,用以突破當(dāng)前交互服務(wù)內(nèi)容與數(shù)字電視平臺(tái)高耦合度的這一瓶頸,實(shí)現(xiàn)數(shù)字電視產(chǎn)業(yè)高端增值業(yè)務(wù)的高速發(fā)展。然而,當(dāng)前的HSML技術(shù)還沒(méi)有完善,在HSML解析引擎中,沒(méi)有一種有效的解析引擎方法,能夠快速、方便地對(duì)HSML進(jìn)行解析。dom4j是一個(gè)Java的XML API,類(lèi)似于jdom,用來(lái)讀寫(xiě)XML文件的。dom4j是一個(gè)非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn)。它應(yīng)用于Java平臺(tái),采用了 Java集合框架并完全支持DOM,SAX和JAXP。
在對(duì)此方法的研究和實(shí)踐過(guò)程中,本發(fā)明的發(fā)明人發(fā)現(xiàn)由于D0M4j解析引擎具有如上的優(yōu)點(diǎn),如能提供一種方法,增加一種HSML2XML的解析器,然后將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎中去,則能方便、快速得對(duì)HSML進(jìn)行解析,縮短開(kāi)發(fā)人員的開(kāi)發(fā)周期和程序運(yùn)行時(shí)間。
發(fā)明內(nèi)容
本發(fā)明提供一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng)及方法,能夠增加一種HSML2XML的解析器,然后將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎中去,方便、快速得對(duì)HSML進(jìn)行解析,縮短開(kāi)發(fā)人員的開(kāi)發(fā)周期和程序運(yùn)行時(shí)間。一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng),其特征在于該系統(tǒng)通過(guò)增加HSML2XML的解析器,然后將D0M4 j解析弓I擎應(yīng)用到數(shù)字電視HSML解析弓I擎中,具體包括三個(gè)部分HSML2XML解析器、D0M4J解析引擎和目標(biāo)文檔處理模塊;HSML2XML解析器負(fù)責(zé)將數(shù)字電視HSML語(yǔ)言解析成XML格式的語(yǔ)言,然后將XML文檔交給D0M4j解析引擎處理;HSML跟XML語(yǔ)言比較類(lèi)似,但在格式標(biāo)準(zhǔn)上是不一樣的,所以在進(jìn)入D0M4j解析引擎之間要進(jìn)行HSML2XML解析,將HSML的文檔轉(zhuǎn)化為XML的文檔;D0M4j解析引擎主要包含三個(gè)部分D0M4j解析機(jī)制、D0M4j解析器、XML文檔;D0M4J解析機(jī)制遵循D0M4j特有的樹(shù)模型的組織結(jié)構(gòu),通過(guò)一種隨機(jī)訪問(wèn)機(jī)制,使得應(yīng)用程序利用該接口在任何時(shí)候訪問(wèn)XML文檔中的任何一部分?jǐn)?shù)據(jù),對(duì)XML文檔中的數(shù)據(jù)進(jìn)行插入、刪除、修改、移動(dòng)操作; D0M4j解析器一方面讀取XML文檔進(jìn)行解析,另一方面加載D0M4j解析機(jī)制制定解析規(guī)則;其中,D0M4j解析器包含Document對(duì)象的操作,主要包括節(jié)點(diǎn)相關(guān)、屬性相關(guān)、字符串轉(zhuǎn)化為XML和Xpath搜索節(jié)點(diǎn)四個(gè)部分; D0M4J解析弓丨擎中的XML文檔來(lái)自HSML2XML解析弓丨擎,解析的XML文檔將交付給D0M4J解析引擎進(jìn)行處理;D0M4J解析器解析后的目標(biāo)文檔不能為機(jī)頂盒操作系統(tǒng)所識(shí)別,所以在進(jìn)入機(jī)頂盒操作系統(tǒng)之前要進(jìn)行目標(biāo)文檔的處理,將目標(biāo)文檔轉(zhuǎn)化為能為機(jī)頂盒識(shí)別的文檔,然后再交由機(jī)頂盒操作系統(tǒng)處理。相應(yīng)的,D0M4J解析器獲得Document對(duì)象,有三種方法一是通過(guò)讀取XML文件,獲得Document對(duì)象;二是通過(guò)解析XML形式的文本,得到Document對(duì)象;三是主動(dòng)創(chuàng)建Document 對(duì)象。相應(yīng)的,在獲得Document對(duì)象之后,開(kāi)始對(duì)Document對(duì)象進(jìn)行操作;首先是要獲得Document對(duì)象的節(jié)點(diǎn),包括根節(jié)點(diǎn)和子節(jié)點(diǎn),對(duì)節(jié)點(diǎn)進(jìn)行添加、刪除和修改的操作;在獲得對(duì)象節(jié)點(diǎn)后,要獲得節(jié)點(diǎn)的屬性;屬性相關(guān)可獲得節(jié)點(diǎn)下的某屬性,也可遍歷某節(jié)點(diǎn)的所有屬性,對(duì)這些屬性進(jìn)行添加、刪除和修改的操作;然后是字符串與XML之間的轉(zhuǎn)換,包括將字符串轉(zhuǎn)化為XML和將文檔或節(jié)點(diǎn)的XML轉(zhuǎn)化為字符串。相應(yīng)的,本系統(tǒng)的XML解析層次模塊分為五個(gè)層次,分別為301用戶(hù)交際層;302標(biāo)記語(yǔ)言集;3032XML解析模塊;304D0M4j解析模塊;305XML實(shí)現(xiàn)模塊;最頂層的為301用戶(hù)交際層,它向上跟開(kāi)發(fā)人員進(jìn)行交互,提供用戶(hù)界面。向下為下層302標(biāo)記語(yǔ)言集提供標(biāo)記語(yǔ)言文檔;開(kāi)發(fā)人員在此層主要負(fù)責(zé)開(kāi)發(fā)工作,并提供開(kāi)發(fā)的標(biāo)記語(yǔ)言文檔,并交給下層的302標(biāo)記語(yǔ)言集進(jìn)行處理,標(biāo)記語(yǔ)言可為多種語(yǔ)言;302為標(biāo)記語(yǔ)言集,它向上處理301用戶(hù)交際層交付下來(lái)的標(biāo)記語(yǔ)言集,向下將處理的標(biāo)記語(yǔ)言集交付給下層的3032XML解析模塊,301用戶(hù)交際層生成的標(biāo)記語(yǔ)言在此層進(jìn)行處理,識(shí)別并檢測(cè)標(biāo)記語(yǔ)言,沒(méi)有出現(xiàn)錯(cuò)誤的話則將處理后的標(biāo)記語(yǔ)言文檔交付下下層3032XML解析模塊;303為2XML解析模塊,它是本發(fā)明的核心部分,主要負(fù)責(zé)把各類(lèi)標(biāo)記語(yǔ)言解析為XML格式的語(yǔ)言,它向上處理上層302交付下來(lái)的各類(lèi)標(biāo)記語(yǔ)言,在此層通過(guò)XML解析模塊的解析,轉(zhuǎn)化為XML格式的文檔,然后向下將轉(zhuǎn)化后的XML文檔交付給下層304D0M4j解析模塊;304則為D0M4j解析模塊,主要負(fù)責(zé)把上層3032XML解析模塊交付下來(lái)的XML文檔進(jìn)行解析,并生成目標(biāo)代碼,然后將目標(biāo)代碼交付給下層的305XML實(shí)現(xiàn)模塊進(jìn)行處理;最后一層是305XML實(shí)現(xiàn)模塊,主要負(fù)責(zé)處理上層304XML解析模塊生成的目標(biāo)代碼,對(duì)這些目標(biāo)代碼進(jìn)行底層的實(shí)現(xiàn),開(kāi)發(fā)人員在上層進(jìn)行各類(lèi)標(biāo)記語(yǔ)言的開(kāi)發(fā),然后最終被轉(zhuǎn)換為統(tǒng)一的XML格式的語(yǔ)言,最后在此層將XML代碼實(shí)現(xiàn)。
一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的方法,有如下操作流程I)首先開(kāi)發(fā)人員進(jìn)入系統(tǒng)進(jìn)行開(kāi)發(fā)工作;2)開(kāi)發(fā)人員開(kāi)始進(jìn)行編碼,開(kāi)發(fā)出HSML文檔;3)然后系統(tǒng)開(kāi)始對(duì)HSML文檔進(jìn)行處理,判斷此文檔是否出錯(cuò),如沒(méi)有出錯(cuò),進(jìn)入4); 4)生成HSML文檔,進(jìn)入下一步;5)生成的HSML文檔將交給HSML2XML解析器進(jìn)行解析;6)然后解析器進(jìn)行判斷,判斷解析過(guò)程中有沒(méi)有發(fā)生錯(cuò)誤,如沒(méi)有錯(cuò)誤,則進(jìn)入7);7)生成XML文檔,進(jìn)入下一步;8)將生成的XML文檔交給D0M4j解析引擎進(jìn)行處理,解析引擎將對(duì)XML文檔進(jìn)行解析;9)解析器在解析的過(guò)程中進(jìn)行判斷,看有沒(méi)有發(fā)生錯(cuò)誤,如沒(méi)有錯(cuò)誤,則進(jìn)入10);10)生成目標(biāo)文檔,進(jìn)入下一步;11)對(duì)目標(biāo)文檔進(jìn)行處理,生成可運(yùn)行于機(jī)頂盒操作系統(tǒng)的文檔;12)將上一步生成的文檔交給機(jī)頂盒操作系統(tǒng)進(jìn)行處理;13)結(jié)束。上述技術(shù)方案可以看出,由于本發(fā)明實(shí)施例采用一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng)及方法,增加一種HSML2XML的解析器,然后將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎中去,方便、快速得對(duì)HSML進(jìn)行解析,縮短開(kāi)發(fā)人員的開(kāi)發(fā)周期和程序運(yùn)行時(shí)間。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖I是本發(fā)明中將D0M4 j應(yīng)用到HSML解析弓丨擎的系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明中將D0M4j應(yīng)用到HSML解析引擎的操作流程圖;圖3是本發(fā)明系統(tǒng)的XML解析層次模塊結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的方法,通過(guò)增加一種HSML2XML的解析器,然后將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎中去,方便、快速得對(duì)HSML進(jìn)行解析,縮短開(kāi)發(fā)人員的開(kāi)發(fā)周期和程序運(yùn)行時(shí)間。以下分別進(jìn)行詳細(xì)說(shuō)明。圖I為本發(fā)明的將D0M4j應(yīng)用到HSML解析引擎的系統(tǒng)結(jié)構(gòu)圖。如圖所示,本系統(tǒng)的系統(tǒng)結(jié)構(gòu)主要包括三個(gè)部分HSML2XML解析器、D0M4j解析引擎和目標(biāo)文檔處理模塊。如圖I所示,HSML2XML解析器是本發(fā)明的第一個(gè)部分,主要負(fù)責(zé)將數(shù)字電視HSML語(yǔ)言解析成XML格式的語(yǔ)言,然后將XML文檔交給D0M4j解析引擎處理。HSML跟XML語(yǔ)言比較類(lèi)似,但在格式標(biāo)準(zhǔn)上是不一樣的,所以在進(jìn)入D0M4j解析引擎之間要進(jìn)行HSML2XML 解析,將HSML的文檔轉(zhuǎn)化為XML的文檔。D0M4J解析引擎主要包含三個(gè)部分D0M4j解析機(jī)制、D0M4J解析器、XML文檔。D0M4J解析機(jī)制遵循D0M4j特有的樹(shù)模型的組織結(jié)構(gòu),通過(guò)一種隨機(jī)訪問(wèn)機(jī)制,使得應(yīng)用程序利用該接口可以在任何時(shí)候訪問(wèn)XML文檔中的任何一部分?jǐn)?shù)據(jù),也可以對(duì)XML文檔中的數(shù)據(jù)進(jìn)行插入、刪除、修改、移動(dòng)等操作。D0M4J解析器一方面讀取XML文檔進(jìn)行解析,另一方面加載D0M4j解析機(jī)制制定解析規(guī)則。其中,D0M4j解析器包含Document對(duì)象的操作,主要包括節(jié)點(diǎn)相關(guān)、屬性相關(guān)、字符串轉(zhuǎn)化為XML和Xpath搜索節(jié)點(diǎn)四個(gè)部分。首先是獲得Document對(duì)象,有三種方法可以獲得一是通過(guò)讀取XML文件,獲得Document對(duì)象;二是通過(guò)解析XML形式的文本,得到Document對(duì)象;三是主動(dòng)創(chuàng)建Document 對(duì)象。在獲得Document對(duì)象之后,開(kāi)始對(duì)Document對(duì)象進(jìn)行操作。首先是要獲得Document對(duì)象的節(jié)點(diǎn),包括根節(jié)點(diǎn)和子節(jié)點(diǎn),也可以對(duì)這些節(jié)點(diǎn)進(jìn)行添加、刪除和修改的操作。在獲得對(duì)象節(jié)點(diǎn)后,要獲得節(jié)點(diǎn)的屬性。屬性相關(guān)可以是獲得節(jié)點(diǎn)下的某屬性,也可以遍歷某節(jié)點(diǎn)的所有屬性。也可以對(duì)這些屬性進(jìn)行添加、刪除和修改的操作。然后是字符串與XML之間的轉(zhuǎn)換。包括將字符串轉(zhuǎn)化為XML和將文檔或節(jié)點(diǎn)的XML轉(zhuǎn)化為字符串。D0M4J解析弓丨擎中的XML文檔來(lái)自HSML2XML解析弓丨擎,解析的XML文檔將交付給D0M4J解析引擎進(jìn)行處理。本系統(tǒng)的第三個(gè)部分是目標(biāo)文檔處理模塊。D0M4j解析器解析后的目標(biāo)文檔不能為機(jī)頂盒操作系統(tǒng)所識(shí)別,所以在進(jìn)入機(jī)頂盒操作系統(tǒng)之前要進(jìn)行目標(biāo)文檔的處理,將目標(biāo)文檔轉(zhuǎn)化為能為機(jī)頂盒識(shí)別的文檔,然后再交由機(jī)頂盒操作系統(tǒng)處理。為進(jìn)一步說(shuō)明本發(fā)明的具體操作方法,現(xiàn)結(jié)合圖2D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的操作流程圖來(lái)進(jìn)行說(shuō)明。如圖2所示I)首先開(kāi)發(fā)人員進(jìn)入系統(tǒng)進(jìn)行開(kāi)發(fā)工作。2)開(kāi)發(fā)人員開(kāi)始進(jìn)行編碼,開(kāi)發(fā)出HSML文檔。3)然后系統(tǒng)開(kāi)始對(duì)HSML文檔進(jìn)行處理,判斷此文檔是否出錯(cuò),如沒(méi)有出錯(cuò),進(jìn)入4)。4)生成HSML文檔,進(jìn)入下一步。 5)生成的HSML文檔將交給HSML2XML解析器進(jìn)行解析。6)然后解析器進(jìn)行判斷,判斷解析過(guò)程中有沒(méi)有發(fā)生錯(cuò)誤,如沒(méi)有錯(cuò)誤,則進(jìn)入7)。7)生成XML文檔,進(jìn)入下一步。8)將生成的XML文檔交給D0M4j解析引擎進(jìn)行處理,解析引擎將對(duì)XML文檔進(jìn)行解析。9)解析器在解析的過(guò)程中進(jìn)行判斷,看有沒(méi)有發(fā)生錯(cuò)誤,如沒(méi)有錯(cuò)誤,則進(jìn)入10)。10)生成目標(biāo)文檔,進(jìn)入下一步。11)對(duì)目標(biāo)文檔進(jìn)行處理,生成可運(yùn)行于機(jī)頂盒操作系統(tǒng)的文檔。
12)將上一步生成的文檔交給機(jī)頂盒操作系統(tǒng)進(jìn)行處理。13)結(jié)束。圖3為本發(fā)明系統(tǒng)的XML解析層次模塊圖。根據(jù)分層的架構(gòu)設(shè)計(jì),本發(fā)明可分為五個(gè)層次,分別為301用戶(hù)交際層;302標(biāo)記語(yǔ)言集;3032XML解析模塊;304D0M4j解析模塊;305XML實(shí)現(xiàn)模塊。如圖3所示,最頂層的為301用戶(hù)交際層。它向上跟開(kāi)發(fā)人員進(jìn)行交互,提供用戶(hù)界面。向下為下層302標(biāo)記語(yǔ)言集提供標(biāo)記語(yǔ)言文檔。開(kāi)發(fā)人員在此層主要負(fù)責(zé)開(kāi)發(fā)工作,并提供開(kāi)發(fā)的標(biāo)記語(yǔ)言文檔,并交給下層的302標(biāo)記語(yǔ)言集進(jìn)行處理,標(biāo)記語(yǔ)言可為多種語(yǔ)目,如HTML等。302為標(biāo)記語(yǔ)言集。它向上處理301用戶(hù)交際層交付下來(lái)的標(biāo)記語(yǔ)言集,向下將處理的標(biāo)記語(yǔ)言集交付給下層的3032XML解析模塊。301用戶(hù)交際層生成的標(biāo)記語(yǔ)言在此層進(jìn)行處理,識(shí)別并檢測(cè)標(biāo)記語(yǔ)言,沒(méi)有出現(xiàn)錯(cuò)誤的話則將處理后的標(biāo)記語(yǔ)言文檔交付下下層3032XML解析模塊。303為2XML解析模塊。它是本發(fā)明的核心部分,主要負(fù)責(zé)把各類(lèi)標(biāo)記語(yǔ)言解析為XML格式的語(yǔ)言。它向上處理上層302交付下來(lái)的各類(lèi)標(biāo)記語(yǔ)言,在此層通過(guò)XML解析模塊的解析,轉(zhuǎn)化為XML格式的文檔,然后向下將轉(zhuǎn)化后的XML文檔交付給下層304D0M4j解析模塊。304則為D0M4j解析模塊。主要負(fù)責(zé)把上層3032XML解析模塊交付下來(lái)的XML文檔進(jìn)行解析,并生成目標(biāo)代碼,然后將目標(biāo)代碼交付給下層的305XML實(shí)現(xiàn)模塊進(jìn)行處理。最后一層是305XML實(shí)現(xiàn)模塊。主要負(fù)責(zé)處理上層304XML解析模塊生成的目標(biāo)代碼,對(duì)這些目標(biāo)代碼進(jìn)行底層的實(shí)現(xiàn),開(kāi)發(fā)人員在上層進(jìn)行各類(lèi)標(biāo)記語(yǔ)言的開(kāi)發(fā),然后最終被轉(zhuǎn)換為統(tǒng)一的XML格式的語(yǔ)言,最后在此層將XML代碼實(shí)現(xiàn)。需要說(shuō)明的是,上述裝置和系統(tǒng)內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random4jAccess Memory)、磁盤(pán)或光盤(pán)等。以上對(duì)本發(fā)明實(shí)施例所提供的一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng)及方法,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制
權(quán)利要求
1.一種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng),其特征在于該系統(tǒng)通過(guò)增加HSML2XML的解析器,然后將D0M4 j解析弓I擎應(yīng)用到數(shù)字電視HSML解析弓I擎中,具體包括三個(gè)部分HSML2XML解析器、D0M4J解析引擎和目標(biāo)文檔處理模塊; HSML2XML解析器負(fù)責(zé)將數(shù)字電視HSML語(yǔ)言解析成XML格式的語(yǔ)言,然后將XML文檔交給D0M4j解析引擎處理;HSML跟XML語(yǔ)言比較類(lèi)似,但在格式標(biāo)準(zhǔn)上是不一樣的,所以在進(jìn)入D0M4J解析引擎之間要進(jìn)行HSML2XML解析,將HSML的文檔轉(zhuǎn)化為XML的文檔;D0M4j解析引擎主要包含三個(gè)部分D0M4j解析機(jī)制、D0M4j解析器、XML文檔; D0M4J解析機(jī)制遵循D0M4j特有的樹(shù)模型的組織結(jié)構(gòu),通過(guò)一種隨機(jī)訪問(wèn)機(jī)制,使得應(yīng)用程序利用該接口在任何時(shí)候訪問(wèn)XML文檔中的任何一部分?jǐn)?shù)據(jù),對(duì)XML文檔中的數(shù)據(jù)進(jìn)行插入、刪除、修改、移動(dòng)操作; D0M4J解析器一方面讀取XML文檔進(jìn)行解析,另一方面加載D0M4j解析機(jī)制制定解析規(guī)則;其中,D0M4j解析器包含Document對(duì)象的操作,主要包括節(jié)點(diǎn)相關(guān)、屬性相關(guān)、字符串轉(zhuǎn)化為XML和Xpath搜索節(jié)點(diǎn)四個(gè)部分; D0M4J解析弓丨擎中的XML文檔來(lái)自HSML2XML解析弓丨擎,解析的XML文檔將交付給D0M4j解析引擎進(jìn)行處理; D0M4J解析器解析后的目標(biāo)文檔不能為機(jī)頂盒操作系統(tǒng)所識(shí)別,所以在進(jìn)入機(jī)頂盒操作系統(tǒng)之前要進(jìn)行目標(biāo)文檔的處理,將目標(biāo)文檔轉(zhuǎn)化為能為機(jī)頂盒識(shí)別的文檔,然后再交由機(jī)頂盒操作系統(tǒng)處理。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于D0M4j解析器獲得Document對(duì)象,有三種方法一是通過(guò)讀取XML文件,獲得Document對(duì)象;二是通過(guò)解析XML形式的文本,得到Document對(duì)象;三是主動(dòng)創(chuàng)建Document對(duì)象。
3.根據(jù)權(quán)利要求I或2所述的系統(tǒng),其特征在于在獲得Document對(duì)象之后,開(kāi)始對(duì)Document對(duì)象進(jìn)行操作;首先是要獲得Document對(duì)象的節(jié)點(diǎn),包括根節(jié)點(diǎn)和子節(jié)點(diǎn),對(duì)節(jié)點(diǎn)進(jìn)行添加、刪除和修改的操作; 在獲得對(duì)象節(jié)點(diǎn)后,要獲得節(jié)點(diǎn)的屬性;屬性相關(guān)可獲得節(jié)點(diǎn)下的某屬性,也可遍歷某節(jié)點(diǎn)的所有屬性,對(duì)這些屬性進(jìn)行添加、刪除和修改的操作; 然后是字符串與XML之間的轉(zhuǎn)換,包括將字符串轉(zhuǎn)化為XML和將文檔或節(jié)點(diǎn)的XML轉(zhuǎn)化為字符串。
4.根據(jù)權(quán)利要求I所述的系統(tǒng),其特征在于本系統(tǒng)的XML解析層次模塊分為五個(gè)層次,分別為301用戶(hù)交際層;302標(biāo)記語(yǔ)言集;3032XML解析模塊;304D0M4j解析模塊;305XML實(shí)現(xiàn)模塊; 最頂層的為301用戶(hù)交際層,它向上跟開(kāi)發(fā)人員進(jìn)行交互,提供用戶(hù)界面。向下為下層302標(biāo)記語(yǔ)言集提供標(biāo)記語(yǔ)言文檔;開(kāi)發(fā)人員在此層主要負(fù)責(zé)開(kāi)發(fā)工作,并提供開(kāi)發(fā)的標(biāo)記語(yǔ)言文檔,并交給下層的302標(biāo)記語(yǔ)言集進(jìn)行處理,標(biāo)記語(yǔ)言可為多種語(yǔ)言; 302為標(biāo)記語(yǔ)言集,它向上處理301用戶(hù)交際層交付下來(lái)的標(biāo)記語(yǔ)言集,向下將處理的標(biāo)記語(yǔ)言集交付給下層的3032XML解析模塊,301用戶(hù)交際層生成的標(biāo)記語(yǔ)言在此層進(jìn)行處理,識(shí)別并檢測(cè)標(biāo)記語(yǔ)言,沒(méi)有出現(xiàn)錯(cuò)誤的話則將處理后的標(biāo)記語(yǔ)言文檔交付下下層3032XML解析模塊; 303為2XML解析模塊,它是本發(fā)明的核心部分,主要負(fù)責(zé)把各類(lèi)標(biāo)記語(yǔ)言解析為XML格式的語(yǔ)言,它向上處理上層302交付下來(lái)的各類(lèi)標(biāo)記語(yǔ)言,在此層通過(guò)XML解析模塊的解析,轉(zhuǎn)化為XML格式的文檔,然后向下將轉(zhuǎn)化后的XML文檔交付給下層304D0M4j解析模塊; .304則為D0M4 j解析模塊,主要負(fù)責(zé)把上層3032XML解析模塊交付下來(lái)的XML文檔進(jìn)行解析,并生成目標(biāo)代碼,然后將目標(biāo)代碼交付給下層的305XML實(shí)現(xiàn)模塊進(jìn)行處理; 最后一層是305XML實(shí)現(xiàn)模塊,主要負(fù)責(zé)處理上層304XML解析模塊生成的目標(biāo)代碼,對(duì)這些目標(biāo)代碼進(jìn)行底層的實(shí)現(xiàn),開(kāi)發(fā)人員在上層進(jìn)行各類(lèi)標(biāo)記語(yǔ)言的開(kāi)發(fā),然后最終被轉(zhuǎn)換為統(tǒng)一的XML格式的語(yǔ)言,最后在此層將XML代碼實(shí)現(xiàn)。
5.—種將D0M4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的方法,其特征在于有如下操作流程 1)首先開(kāi)發(fā)人員進(jìn)入系統(tǒng)進(jìn)行開(kāi)發(fā)工作; 2)開(kāi)發(fā)人員開(kāi)始進(jìn)行編碼,開(kāi)發(fā)出HSML文檔; 3)然后系統(tǒng)開(kāi)始對(duì)HSML文檔進(jìn)行處理,判斷此文檔是否出錯(cuò),如沒(méi)有出錯(cuò),進(jìn)入4); 4)生成HSML文檔,進(jìn)入下一步; 5)生成的HSML文檔將交給HSML2XML解析器進(jìn)行解析; 6)然后解析器進(jìn)行判斷,判斷解析過(guò)程中有沒(méi)有發(fā)生錯(cuò)誤,如沒(méi)有錯(cuò)誤,則進(jìn)入7); 7)生成XML文檔,進(jìn)入下一步; 8)將生成的XML文檔交給D0M4j解析引擎進(jìn)行處理,解析引擎將對(duì)XML文檔進(jìn)行解析; 9)解析器在解析的過(guò)程中進(jìn)行判斷,看有沒(méi)有發(fā)生錯(cuò)誤,如沒(méi)有錯(cuò)誤,則進(jìn)入10); 10)生成目標(biāo)文檔,進(jìn)入下一步; 11)對(duì)目標(biāo)文檔進(jìn)行處理,生成可運(yùn)行于機(jī)頂盒操作系統(tǒng)的文檔; 12)將上一步生成的文檔交給機(jī)頂盒操作系統(tǒng)進(jìn)行處理; 13)結(jié)束。
全文摘要
本發(fā)明公開(kāi)了一種將DOM4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的系統(tǒng),通過(guò)增加一種HSML2XML的解析器,然后將DOM4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎中去,該系統(tǒng)包含三個(gè)部分HSML2XML解析器、DOM4j解析引擎和目標(biāo)文檔處理模塊。同時(shí)本發(fā)明還公開(kāi)了一種將DOM4j解析引擎應(yīng)用到數(shù)字電視HSML解析引擎的方法。通過(guò)本發(fā)明可以更方便、快速的對(duì)HSML進(jìn)行解析,縮短開(kāi)發(fā)人員的開(kāi)發(fā)周期和程序運(yùn)行時(shí)間。
文檔編號(hào)G06F9/44GK102637129SQ20121006781
公開(kāi)日2012年8月15日 申請(qǐng)日期2012年3月14日 優(yōu)先權(quán)日2012年3月14日
發(fā)明者林格, 羅笑南, 鐘浩清, 韓冠亞 申請(qǐng)人:中山大學(xué)