国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法

      文檔序號:7892340閱讀:198來源:國知局
      專利名稱:一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)字電視技術(shù)領(lǐng)域,尤其涉及一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法。
      背景技術(shù)
      隨著數(shù)字家庭和數(shù)字電視產(chǎn)業(yè)在我國的不斷發(fā)展和人們對家庭數(shù)字化和信息化的認識的提高,人們對于數(shù)字電視互動應(yīng)用和服務(wù)有著非常巨大的需求。然而,在中國,生產(chǎn)數(shù)字電視和機頂盒的廠家數(shù)以十計,例如海爾、長虹、海信、TCL、神州電子等等,國外的更是數(shù)不勝數(shù)。這些廠商在數(shù)字電視互動應(yīng)用頁面的解析上存在著非常大的差異,并沒有達成一個統(tǒng)一的標(biāo)準(zhǔn),而且頁面解析和渲染的實現(xiàn)方式也與各個廠商自己的硬件緊密相關(guān)。為了解決由于頁面標(biāo)記技術(shù)和實現(xiàn)方式的不統(tǒng)一,而帶來的同一個互動應(yīng)用和服務(wù)不能在不同廠商的終端設(shè)備上運行和不同的互動應(yīng)用和服務(wù)之間很難進行數(shù)據(jù)的交換和信息的共享。而基于上述存在的問題,數(shù)字電視交互服務(wù)標(biāo)記語言HSML標(biāo)準(zhǔn)主要是在W3C定義的可擴展超文本標(biāo)記語言(XHTML 1.0)的基礎(chǔ)上對標(biāo)簽元素進行了相應(yīng)的剪裁和擴展,刪除了部分數(shù)字電視互動應(yīng)用環(huán)境中不需要的一些標(biāo)簽以及標(biāo)簽的某些屬性,同時也根據(jù)數(shù)字電視互動應(yīng)用的需求擴展了統(tǒng)一媒體播放(audio和video)、終端信息獲取(profile)、邊框布局(box和board)和智能刷卡(payCard)等標(biāo)簽元素。目前的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法主要是對采用數(shù)字電視互動應(yīng)用頁面標(biāo)記語言的頁面進行解析,該系統(tǒng)屬于由文件操作模塊、編碼轉(zhuǎn)換模塊、驗證模塊、詞法分析模塊、語法分析模塊、顯示模塊等組成。該系統(tǒng)首先從網(wǎng)絡(luò)上獲取遵循HSML標(biāo)準(zhǔn)的頁面,然后對該頁面進行編碼轉(zhuǎn)換,再用正則表達式對頁面進行驗證,隨后進行詞法分析和語法分析,最后把頁面完整呈現(xiàn)出來,其整個實現(xiàn)方案可以參見圖I。該解析系統(tǒng)可以對遵循HSML標(biāo)準(zhǔn)的數(shù)字電視互動應(yīng)用頁面進行解析,具有占內(nèi)存少的優(yōu)點,但是它不能夠使信息和用戶之間實現(xiàn)一種實時動態(tài)的可交互的關(guān)系,也就是不能夠?qū)崿F(xiàn)復(fù)雜的網(wǎng)頁功能,例如動態(tài)的與后臺進行交互、動態(tài)的生成數(shù)據(jù)等等復(fù)雜的功能,即不支持javascript功能;該解析系統(tǒng)不是基于DOM模型的,可操作性和靈活性差。現(xiàn)在的解析系統(tǒng)核心大多是基于DOM的,以便實現(xiàn)復(fù)雜的網(wǎng)頁功能和技術(shù)。

      發(fā)明內(nèi)容
      基于現(xiàn)有技術(shù)存在的問題,本發(fā)明設(shè)計了一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言(HSML)解析系統(tǒng),使這些使用該標(biāo)記語言的數(shù)字電視互動應(yīng)用和服務(wù)能在不同廠家的終端上正確運行,也使不同的互動應(yīng)用和服務(wù)之間能夠進行數(shù)據(jù)的交換和信息的共享。這不僅促進了數(shù)字電視互動應(yīng)用和服務(wù)的發(fā)展,以及國家數(shù)字家庭和數(shù)字電視產(chǎn)業(yè)的發(fā)展,同時也極大降低了數(shù)字電視節(jié)目和服務(wù)提供商和數(shù)字電視生產(chǎn)商的開發(fā)成本?;谏鲜鰡栴},本發(fā)明實施例提供了一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方 法,包括
      從網(wǎng)絡(luò)上獲取數(shù)字電視交互服務(wù)標(biāo)記語言HSML文檔,分析出文檔中具有獨立意義的各個標(biāo)記元素Token,并根據(jù)所定義的語法規(guī)則,得出語法結(jié)構(gòu),建立用于表達標(biāo)記元素之間相互關(guān)系的結(jié)構(gòu)樹DOM樹,再從上到下遍歷DOM樹,根據(jù)每個標(biāo)記元素所蘊含的語義概念調(diào)用相應(yīng)的處理函數(shù)對標(biāo)記進行處理,最后由圖形處理模塊對處理之后的結(jié)果進行渲染呈現(xiàn)。
      所述方法具體包括文件下載模塊通過http協(xié)議、https協(xié)議或者ftp協(xié)議從網(wǎng)絡(luò)上獲取一個HSML文件,該文件遵循HSML標(biāo)準(zhǔn);將HSML文檔交給HSML頁面解析模塊進行解析,對HTML文件進行詞法分析、語法分析和語義分析; 經(jīng)過HSML文檔解析模塊后,由DOM樹構(gòu)建模塊按照w3c提供的DOM規(guī)范的要求形成棵DOM樹;JavaScript與DOM對象接口綁定模塊將DOM對象在javaseript解釋引擎上實現(xiàn)綁定;在形成DOM樹后,頁面布局模塊為排每個可顯不DOM結(jié)點形成一個Render結(jié)點,為Render結(jié)點形成一棵Render樹并對Render樹進行排版;由頁面渲染與呈現(xiàn)模塊進行輸出。所述對HTML文件進行詞法分析具體包括詞法分析是從給定的輸入串中提取詞素,并產(chǎn)生與之對應(yīng)的標(biāo)記;詞法分析會跳過注釋以及空格,并將分析出的詞素插入符號表,同時還會分析標(biāo)記里存在的語法錯誤。所述對HTML文件進行語法分析具體包括語法分析讀入詞法分析階段所識別出的符號,根據(jù)文檔類型定義DTD文檔所定義的語法規(guī)則,識別出各個語法結(jié)構(gòu)并建立相應(yīng)的內(nèi)部表示,同時還檢查語法的正確性,給出相應(yīng)的出錯信息;經(jīng)過語法分析之后,得到標(biāo)記元素之間的嵌套關(guān)系,形成一棵以HSML標(biāo)記為根節(jié)點的語法樹;語法樹中的每個節(jié)點可以采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)存儲,用標(biāo)記名稱來標(biāo)識節(jié)點,節(jié)點包含了標(biāo)記的屬性和文本內(nèi)容,同時還包含該節(jié)點的孩子節(jié)點和兄弟節(jié)點的地址信息,根據(jù)分析出的語法樹,很容易生成HSML文檔的DOM樹。所述對HTML文件進行語義分析具體包括 在HSML文檔的解析過程中,語義分析是從HTML根節(jié)點開始,自頂向下遞歸地處理語法樹,實現(xiàn)標(biāo)記處理和渲染顯示功能,包括根據(jù)標(biāo)記的含義進行相應(yīng)的處理操作,對文檔中存在的渲染控制描述和腳本進行解析和處理,調(diào)用布局管理器和圖形界面接口對需要顯示的標(biāo)記元素進行渲染和呈現(xiàn)。所述由DOM樹構(gòu)建模塊按照w3c提供的DOM規(guī)范的要求形成棵DOM樹具體包括DOM在對HSML文檔解釋時將HTML文檔看作一棵樹,<HSML>作為樹的根,而HSML文檔中的其他結(jié)點則看作樹中的結(jié)點,結(jié)點既可作為父結(jié)點,其下包含自己的子結(jié)點,也可作為其他結(jié)點的子結(jié)點,更可與同一層的結(jié)點成為兄弟結(jié)點。所述JavaScript與DOM對象接口綁定模塊將DOM對象在javaseript解釋引擎上實現(xiàn)綁定包括
      當(dāng)HSML解析器在HSML頁面中遇到〈script〉標(biāo)記時,即從HSML文檔中把javascript腳本分離出來,再調(diào)用javascript解釋器對腳本進行解釋和執(zhí)行。綜上,通過實施本發(fā)明實施例,本發(fā)明的實施公開了一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析系統(tǒng),能夠?qū)ψ裱璈SML標(biāo)準(zhǔn)的頁面的進行有效的正確的解析,同時能夠支持動態(tài)的javascript腳本語言和w3c制定的DOM標(biāo)準(zhǔn),增強信息與用戶之間的交互性、操作的靈活性等。


      為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖I是現(xiàn)有技術(shù)中的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法流程圖;圖2是本發(fā)明實施例中的基于數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析系統(tǒng)架構(gòu)圖;圖3是本發(fā)明實施例中的HSML文檔解析系統(tǒng)結(jié)構(gòu)圖;圖4是本發(fā)明實施例中的語法分析流程圖。
      具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的實施公開了一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析系統(tǒng),能夠?qū)ψ裱璈SML標(biāo)準(zhǔn)的頁面的進行有效的正確的解析,同時能夠支持動態(tài)的javascript腳本語言和w3c制定的DOM標(biāo)準(zhǔn),增強信息與用戶之間的交互性、操作的靈活性等。文檔對象模型DOM是W3C建立的一個標(biāo)準(zhǔn)API,是操作和訪問HSML文檔的非常方便的方法,可任意訪問和更改HTML和XML文檔中的數(shù)據(jù),有很強的可操作性、靈活性?;贖SML瀏覽器進行HSML解析的數(shù)字電視互動應(yīng)用系統(tǒng)架構(gòu)如圖2所示,HSML瀏覽器向Web服務(wù)器發(fā)送HTTP請求,Web服務(wù)器根據(jù)HTTP請求執(zhí)行相應(yīng)的業(yè)務(wù)邏輯和數(shù)據(jù)庫讀寫操作之后,在HTTP響應(yīng)消息中返回HSML文檔,HSML瀏覽器對HSML文檔進行解析和處理之后呈現(xiàn)用戶界面。本文推薦在產(chǎn)業(yè)化應(yīng)用中采用這種方式,因為這種方式對數(shù)字電視互動應(yīng)用沒有特殊的要求,只需要互動應(yīng)用頁面標(biāo)記符合HSML規(guī)范,并且數(shù)字電視終端瀏覽器支持HSML規(guī)范,互動應(yīng)用就可以順利的運行。 在這種方式下數(shù)字電視終端上的瀏覽器只需要支持未經(jīng)擴展的基本的HTML標(biāo)記,由數(shù)字電視互動應(yīng)用公共支撐平臺負責(zé)將HSML文檔中擴展定義的標(biāo)記解析和轉(zhuǎn)換為標(biāo)準(zhǔn)的HTML標(biāo)記,然后HTML文檔在瀏覽器端解析和呈現(xiàn)。這種方式類似于目前互聯(lián)網(wǎng)上的社交網(wǎng)絡(luò)開放平臺對標(biāo)記語言的解析方式,例如國內(nèi)的人人開放平臺定義的XNML(XiaoNeiMarkup Language)和美國的 Facebook 開放平臺定義的 FML(Facebook Markup Language)都是在HTML的基礎(chǔ)上擴展定義了私有的標(biāo)記,應(yīng)用運行時通過平臺將私有標(biāo)記轉(zhuǎn)化為標(biāo)準(zhǔn)的HTML標(biāo)記之后在客戶端呈現(xiàn)。這種方式比較適合于僅支持HTML瀏覽器的數(shù)字電視終端對HSML應(yīng)用進行訪問,比較適合于對信息呈現(xiàn)類HSML擴展標(biāo)記的解析和轉(zhuǎn)換。該方式需要通過數(shù)字電視互動應(yīng)用公共支撐平臺對客戶端請求進行轉(zhuǎn)發(fā),并對互動應(yīng)用進行統(tǒng)一
      的管理。HSML解析系統(tǒng)的主要功能是先從 網(wǎng)絡(luò)上獲取HSML文檔,然后分析出文檔中具有獨立意義的各個標(biāo)記元素(Token),并根據(jù)所定義的語法規(guī)則,得出語法結(jié)構(gòu),建立用于表達標(biāo)記元素之間相互關(guān)系的結(jié)構(gòu)樹(即DOM樹),然后再從上到下遍歷DOM樹,根據(jù)每個標(biāo)記元素所蘊含的語義概念調(diào)用相應(yīng)的處理函數(shù)對標(biāo)記進行處理,最后由圖形處理模塊對處理之后的結(jié)果進行渲染呈現(xiàn)。HSML解析是將HSML標(biāo)記語言寫的源文件轉(zhuǎn)換為數(shù)字電視終端可以顯示的目標(biāo)文件,而編譯程序的功能是把高級語言源程序翻譯成等價的低級語言目標(biāo)程序,其中都包含了對程序中語詞元素(Token)的分析,程序語法的分析和語義的分析,DOM樹的創(chuàng)建,javascript的解析以及DOM與javascript的綁定等。圖3是HSML文檔解析系統(tǒng)。數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析系統(tǒng)主要包括7個部分文件獲取(FileOp)、HSML文檔的解析(包括詞法分析、語法分析、語義分析)、DOM樹的構(gòu)建、javascript的解析、javascript與DOM的綁定、文檔排版(Layout)、頁面繪畫(UI)。具體執(zhí)行步驟如下Step I :文件下載模塊通過http協(xié)議、https協(xié)議或者ftp協(xié)議從網(wǎng)絡(luò)上獲取一個HSML文件,該文件遵循HSML標(biāo)準(zhǔn);Step 2 :將HSML文檔交給HSML頁面解析模塊進行解析,主要是對HTML文件進行詞法分析、語法分析和語義分析;Step 3 經(jīng)過HSML文檔解析模塊后,由DOM樹構(gòu)建模塊按照w3c提供的DOM規(guī)范的要求形成棵DOM樹;Step 4 :JavaScript與DOM對象接口綁定模塊將DOM對象在javaseript解釋引擎(即JS Engine模塊)上實現(xiàn)綁定;Step 5 :在形成DOM樹后,頁面布局模塊為排每個可顯不DOM結(jié)點形成一個Render結(jié)點(圖形渲染結(jié)點),為Render結(jié)點形成一棵Render樹(Render樹和DOM樹的結(jié)構(gòu)不一定相同)并對Render樹(圖形渲染樹)進行排版;Step 6 :最后由頁面渲染與呈現(xiàn)模塊進行輸出(頁面繪畫);St印7 :HSML文檔解析結(jié)束。下面對HSML文檔解析系統(tǒng)中的主要模塊進行詳細的闡述。HSML Parser模塊可以大概分為詞法分析,語法分析和語義分析三個階段,三個階段所完成的功能各不相同。詞法分析是從給定的輸入串中提取詞素,并產(chǎn)生與之對應(yīng)的標(biāo)記。詞法分析會跳過注釋以及空格,并將分析出的詞素插入符號表,同時還會分析標(biāo)記里存在的語法錯誤。簡單的來說,詞法分析程序會從左到右逐個讀入HSML文檔中的字符,根據(jù)DTD文件中定義的詞法規(guī)則識別出具有獨立意義的符號,如開始字符“ < ”,標(biāo)記名稱“video”,標(biāo)記的屬性“sre”,賦值號“=”等。去除空格和注釋之后將這些識別出的符號插入符號表,同時檢測符號中存在的語法錯誤,向用戶報告。
      語法分析讀入詞法分析階段所識別出的符號,根據(jù)DTD文檔所定義的語法規(guī)則,識別出各個語法結(jié)構(gòu)并建立相應(yīng)的內(nèi)部表示(如語法分析樹),同時還檢查語法的正確性,給出相應(yīng)的出錯信息。語法分析有兩種技術(shù),分別為自頂向下分析技術(shù)和自底向上分析技術(shù)。自頂向下分析按照先序跟蹤或建立分析樹,分析樹的遍歷自根開始,每個節(jié)點都先于它的樹枝被訪問。自底向上分析是從葉節(jié)點開始向樹根發(fā)展來構(gòu)造分析樹。HSML的文檔結(jié)構(gòu)比較簡單,沒有程序設(shè)計語言中復(fù)雜的循環(huán)、分支、跳轉(zhuǎn)等操作,它是一種簡單的自頂向下的嵌套結(jié)構(gòu),因此采用自頂向下的分析技術(shù)比較符合HSML文檔的結(jié)構(gòu)特點。語法分析程序讀入詞法分析階段分析出的符號流,識別出每個標(biāo)記元素、標(biāo)記的作用范圍、標(biāo)記的文本內(nèi)容和標(biāo)記對應(yīng)的屬性,并為每個標(biāo)記及其屬性和文本內(nèi)容建立一個節(jié)點,整個語法分析的流程如圖4所示。經(jīng)過語法分析之后,可以得到標(biāo)記元素之間的嵌套關(guān)系,形成一棵以<HSML>標(biāo)記為根節(jié)點的語法樹。語法樹中的每個節(jié)點可以采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)存儲,用標(biāo)記名稱來標(biāo)識節(jié)點,節(jié)點包含了標(biāo)記的屬性和文本內(nèi)容,同時還包含該節(jié)點的孩子節(jié)點和兄弟節(jié)點的地址信息。根據(jù)分析出的語法樹,可以很容易的生成HSML文檔的DOM樹。語義分析是由一些語義子程序完成的,這些語義子程序?qū)φZ法分析樹進行靜態(tài)語義檢查并生成中間表示代碼。語義分析主要完成四項功能,即確定類型、類型和運算合法性檢查、識別含義和相應(yīng)的語義處理以及其他的靜態(tài)語義檢查。在HSML文檔的解析過程中,語義分析的主要任務(wù)是從HTML根節(jié)點開始,自頂向下遞歸地處理語法樹,實現(xiàn)標(biāo)記處理和渲染顯示功能,主要包括根據(jù)標(biāo)記的含義進行相應(yīng)的處理操作,對文檔中存在的渲染控制描述和腳本(如Javascript)進行解析和處理,調(diào)用布局管理器和圖形界面接口對需要顯示的標(biāo)記元素進行渲染和呈現(xiàn)。作為W3C的規(guī)范,DOM提供了一種可以應(yīng)用干不同平臺和不同編程語言中的標(biāo)準(zhǔn)的程序接口。它定義了文檔的邏輯結(jié)構(gòu),把一個文檔看成一棵樹,文檔中的每個部分都是樹上的一個結(jié)點,對結(jié)點可以進行各種追歷、查詢、側(cè)減、修改操作,并提供了對結(jié)點進行訪問和操作的方法。這樣,利用D0M,程序開發(fā)人員就可以動態(tài)地創(chuàng)建文檔,追歷文檔結(jié)構(gòu),添加、修改、刪除文檔內(nèi)容,改變文檔的顯示方式等。所以,要在瀏覽器中實現(xiàn)DOM接口,先要按以DOM規(guī)范將HSML文檔構(gòu)建成一棵由一些結(jié)點構(gòu)成的以DOM樹,每一個結(jié)點就是HSML文檔中的一個標(biāo)簽元素。DOM在對HSML文檔解釋時將HTML文檔看作一棵樹,<HSML>作為樹的根,而HSML文檔中的其他結(jié)點則看作樹中的結(jié)點,結(jié)點既可作為父結(jié)點,其下包含自己的子結(jié)點,也可作為其他結(jié)點的子結(jié)點,更可與同一層的結(jié)點成為兄弟結(jié)點(必須是屬于相同的父結(jié)點)。以DOM定義了 API允許其他程序瀏覽訪問樹型邏輯結(jié)構(gòu),并且提供存取、添加、修改及刪除樹中結(jié)點的功能。DOMBuilder模塊根據(jù)這個原則,在HSML Parser解析HSML文檔時按文檔中HSML標(biāo)簽的包含關(guān)系決定各HSML元素的之間的樹型邏輯關(guān)系,并生成一棵DOM 樹。javascript解釋器是瀏覽器解析模塊功能的擴展,由HSML解析器調(diào)用,當(dāng)HSML解析器在HSML頁面中遇到〈script〉標(biāo)記時,即從HSML文檔中把javascript腳本分離出來,再調(diào)用javascript解釋器對腳本進行解釋和執(zhí)行。本文的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析系統(tǒng)通過解析HSML文檔后構(gòu)造一棵DOM樹,再在javascript弓I擎中創(chuàng)建對象與DOM接口綁定并實現(xiàn)DOM接口屬性及方法,使得瀏覽器可以執(zhí)行javascript語句來對網(wǎng)頁文檔進行各種操作,從而在瀏覽器中達到web頁面的動態(tài)效果。HSML文檔解析系統(tǒng)圖中的Layout模塊和UI模塊可以進行合并,這兩個模塊主要功能是完成對HSML的渲染和呈現(xiàn)。本文中將這兩個模塊分開,是功能上的劃分,但在做具體的實現(xiàn)的時候,完全可以合并到一塊。綜上,通過實施本發(fā)明實施例,該解析方法不僅可以對遵循HSML標(biāo)準(zhǔn)的數(shù)字電視互動應(yīng)用頁面進行有效的解析,還能夠使信息和用戶之間實現(xiàn)一種實時動態(tài)的可交互的關(guān)系,也就是不、能夠?qū)崿F(xiàn)復(fù)雜的網(wǎng)頁功能,例如動態(tài)的與后臺進行交互、動態(tài)的生成數(shù)據(jù)等等復(fù)雜的功能,即支持javascript功能;該解析系統(tǒng)是基于w3c規(guī)定的DOM模型的,有很強的可操作性和靈活性,能夠非常方便的操作HSML文檔,并對其進行修改。促進了數(shù)字電視互動應(yīng)用和服務(wù)的發(fā)展,以及國家數(shù)字家庭和數(shù)字電視產(chǎn)業(yè)的發(fā)展,同時也極大降低了數(shù)字電視節(jié)目和服務(wù)提供商和數(shù)字電視生產(chǎn)商的開發(fā)成本。以上對本發(fā)明實施例所提供的基于圖像傳輸?shù)募用芙饷芊椒跋到y(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本 發(fā)明的思想,在具體實施方式
      及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
      權(quán)利要求
      1.一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,包括 從網(wǎng)絡(luò)上獲取數(shù)字電視交互服務(wù)標(biāo)記語言HSML文檔,分析出文檔中具有獨立意義的各個標(biāo)記元素Token,并根據(jù)所定義的語法規(guī)則,得出語法結(jié)構(gòu),建立用于表達標(biāo)記元素之間相互關(guān)系的結(jié)構(gòu)樹DOM樹,再從上到下遍歷DOM樹,根據(jù)每個標(biāo)記元素所蘊含的語義概念調(diào)用相應(yīng)的處理函數(shù)對標(biāo)記進行處理,最后由圖形處理模塊對處理之后的結(jié)果進行渲染呈現(xiàn)。
      2.如權(quán)利要求I所述的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,所述方法具體包括 文件下載模塊通過http協(xié)議、https協(xié)議或者ftp協(xié)議從網(wǎng)絡(luò)上獲取一個HSML文件,該文件遵循HSML標(biāo)準(zhǔn); 將HSML文檔交給HSML頁面解析模塊進行解析,對HTML文件進行詞法分析、語法分析和語義分析; 經(jīng)過HSML文檔解析模塊后,由DOM樹構(gòu)建模塊按照w3c提供的DOM規(guī)范的要求形成棵DOM 樹; JavaScript與DOM對象接口綁定模塊將DOM對象在javaseript解釋引擎上實現(xiàn)綁定; 在形成DOM樹后,頁面布局模塊為排每個可顯不DOM結(jié)點形成一個Render結(jié)點,為Render結(jié)點形成一棵Render樹并對Render樹進行排版; 由頁面渲染與呈現(xiàn)模塊進行輸出。
      3.如權(quán)利要求2所述的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,所述對HTML文件進行詞法分析具體包括 詞法分析是從給定的輸入串中提取詞素,并產(chǎn)生與之對應(yīng)的標(biāo)記;詞法分析會跳過注釋以及空格,并將分析出的詞素插入符號表,同時還會分析標(biāo)記里存在的語法錯誤。
      4.如權(quán)利要求3所述的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,所述對HTML文件進行語法分析具體包括 語法分析讀入詞法分析階段所識別出的符號,根據(jù)文檔類型定義DTD文檔所定義的語法規(guī)則,識別出各個語法結(jié)構(gòu)并建立相應(yīng)的內(nèi)部表示,同時還檢查語法的正確性,給出相應(yīng)的出錯信息; 經(jīng)過語法分析之后,得到標(biāo)記元素之間的嵌套關(guān)系,形成一棵以HSML標(biāo)記為根節(jié)點的語法樹;語法樹中的每個節(jié)點可以采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)存儲,用標(biāo)記名稱來標(biāo)識節(jié)點,節(jié)點包含了標(biāo)記的屬性和文本內(nèi)容,同時還包含該節(jié)點的孩子節(jié)點和兄弟節(jié)點的地址信息,根據(jù)分析出的語法樹,很容易生成HSML文檔的DOM樹。
      5.如權(quán)利要求4所述的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,所述對HTML文件進行語義分析具體包括 在HSML文檔的解析過程中,語義分析是從HTML根節(jié)點開始,自頂向下遞歸地處理語法樹,實現(xiàn)標(biāo)記處理和渲染顯示功能,包括根據(jù)標(biāo)記的含義進行相應(yīng)的處理操作,對文檔中存在的渲染控制描述和腳本進行解析和處理,調(diào)用布局管理器和圖形界面接口對需要顯示的標(biāo)記元素進行渲染和呈現(xiàn)。
      6.如權(quán)利要求5所述的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,所述由DOM樹構(gòu)建模塊按照w3c提供的DOM規(guī)范的要求形成棵DOM樹具體包括DOM在對HSML文檔解釋時將HTML文檔看作一棵樹,<HSML>作為樹的根,而HSML文檔中的其他結(jié)點則看作樹中的結(jié)點,結(jié)點既可作為父結(jié)點,其下包含自己的子結(jié)點,也可作為其他結(jié)點的子結(jié)點,更可與同一層的結(jié)點成為兄弟結(jié)點。
      7.如權(quán)利要求6所述的數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,其特征在于,所述JavaScript與DOM對象接口綁定模塊將DOM對象在javaseript解釋引擎上實現(xiàn)綁定包括當(dāng)HSML解析器在HSML頁面中遇到〈script〉標(biāo)記時,即從HSML文檔中把javascript腳本分離出來,再調(diào)用javascript解釋器對腳本進行解釋和執(zhí)行。
      全文摘要
      本發(fā)明實施例公開了一種數(shù)字電視互動應(yīng)用頁面標(biāo)記語言解析方法,包括從網(wǎng)絡(luò)上獲取數(shù)字電視交互服務(wù)標(biāo)記語言HSML文檔,分析出文檔中具有獨立意義的各個標(biāo)記元素Token,并根據(jù)所定義的語法規(guī)則,得出語法結(jié)構(gòu),建立用于表達標(biāo)記元素之間相互關(guān)系的結(jié)構(gòu)樹DOM樹,再從上到下遍歷DOM樹,根據(jù)每個標(biāo)記元素所蘊含的語義概念調(diào)用相應(yīng)的處理。通過實施本發(fā)明實施例,能夠?qū)ψ裱璈SML標(biāo)準(zhǔn)的頁面的進行有效的正確的解析,同時能夠支持動態(tài)的javascript腳本語言和w3c制定的DOM標(biāo)準(zhǔn),增強信息與用戶之間的交互性、操作的靈活性等。
      文檔編號H04N21/47GK102622448SQ201210082549
      公開日2012年8月1日 申請日期2012年3月26日 優(yōu)先權(quán)日2012年3月26日
      發(fā)明者林格, 羅笑南, 詹勇, 韓冠亞 申請人:中山大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1