亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于as的xml腳本解析器及其方法

文檔序號(hào):6377550閱讀:264來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種基于as的xml腳本解析器及其方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種腳本解析器及其方法,更具體地說(shuō)是指一種基于AS的XML腳本解析器及其方法。
背景技術(shù)
XML是W3C定的一組規(guī)范,用來(lái)定義文檔標(biāo)記語(yǔ)言的框架。它提供了一種描述結(jié)構(gòu)數(shù)據(jù)的格式,使各種基于WEB的應(yīng)用之間能方便的交換數(shù)據(jù)。XML以簡(jiǎn)單性、開(kāi)放性、可擴(kuò)展性、互操作性等一系列特性給基于Web的應(yīng)用程序帶來(lái)了強(qiáng)大的功能和靈活性。而XML文件只是以純文本對(duì)數(shù)據(jù)進(jìn)行編碼的一種格式,使用XML文件中所編碼的數(shù)據(jù)之前,必須先將數(shù)據(jù)從純文本中解析出來(lái)。因此,XML解析器在信息系統(tǒng)的構(gòu)建過(guò)程中十分重要。
目前,廣泛使用的XML解析器主要是IBM公司的XML 4J,Microsoft公司的MSXML, Oracle公司的XMLParser for Java和S UN公司的Pro jectX。由于上述XML解析器的交互能力差,其未能滿(mǎn)足企業(yè)實(shí)際的應(yīng)用需求。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺陷,提供一種基于AS的XML腳本解析器及其方法。為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案一種基于AS的XML腳本解析器,包括與外部資源連接的程序構(gòu)件,所述的程序構(gòu)件包括XML解析器、腳本加載器、解釋器、執(zhí)行器、事件管理器和對(duì)象實(shí)體;所述的外部資源與解釋器、執(zhí)行器連接,解釋器、執(zhí)行器對(duì)外部資源進(jìn)行轉(zhuǎn)換;其中,腳本加載器對(duì)XML腳本進(jìn)行加載并傳送至XML解析器,XML解析器對(duì)XML腳本進(jìn)行解析后,并生成解釋器所需的對(duì)象;所述的對(duì)象實(shí)體包括應(yīng)用空間和圖形界面,其中所述的腳本加載器是主要用于加載XML腳本;所述的XML解析器是指AS內(nèi)置的XML解析器;用于解析XML腳本,并生成解釋器所需的對(duì)象;所述的解釋器是以XML解析器所生成的對(duì)象為輸入負(fù)責(zé)對(duì)語(yǔ)句解釋執(zhí)行控制;所述的執(zhí)行器是用于根據(jù)對(duì)象或命令的類(lèi)型調(diào)用相應(yīng)的處理模塊。其中,AS是指ActionScript, 一種編程語(yǔ)言。其進(jìn)一步技術(shù)方案為還包括初始化器,所述的初始化器是根據(jù)配置文件對(duì)對(duì)象實(shí)體進(jìn)行初始化。其進(jìn)一步技術(shù)方案為所述的外部資源包括與解釋器連接的AS基類(lèi)、對(duì)象庫(kù)、指令集、布局規(guī)則;所述的AS基類(lèi)是指AS提供的基礎(chǔ)類(lèi);所述的對(duì)象庫(kù)是指根據(jù)富互聯(lián)網(wǎng)應(yīng)用程序技術(shù)預(yù)制的Π集(例如文本框、密碼編輯框、多選樹(shù)型列表、時(shí)間選擇器等,可根據(jù)需求定制),提供了自定義的XML腳本語(yǔ)法支持(例如應(yīng)用控件定義為<ui type="APP//img=//*//caption=//*//cmd=//*/V>, type 為控件類(lèi)型,img 為圖標(biāo)文件,caption 為標(biāo)題,cmd為響應(yīng)命令);所述的指令集是根據(jù)系統(tǒng)的需求自定義的命令集(例如0PEN、CLOSE、URL、SM7等,命令可根據(jù)需求進(jìn)行擴(kuò)展,命令和命令參數(shù)之間用特殊符號(hào)隔開(kāi),本實(shí)施例中,命令和命令參數(shù)之間的分隔符為冒號(hào),命令參數(shù)和命令參數(shù)之間的分隔符是I,即命令類(lèi)型參數(shù)11參數(shù)21....);所述的布局規(guī)則主要是規(guī)定了應(yīng)用布局的方式。其進(jìn)一步技術(shù)方案為所述的外部資源還包括與執(zhí)行器連接的外部組件、資源文件和容器接口 ;所述的外部組件是根據(jù)富互聯(lián)網(wǎng)應(yīng)用程序技術(shù)預(yù)制的組件集;所述的資源文件是指引擎使用的任意非可執(zhí)行的數(shù)據(jù)文件,如圖像、音頻和視頻文件;所述的容器接口是指引擎跟裝載引擎容器的通信接口。其進(jìn)一步技術(shù)方案為所述的應(yīng)用空間是指由引擎根據(jù)XML腳本生成的應(yīng)用集。其進(jìn)一步技術(shù)方案為所述的事件管理器主要是負(fù)責(zé)對(duì)應(yīng)用空間的事件或動(dòng)作進(jìn)行監(jiān)聽(tīng)、響應(yīng),并觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的命令。
一種基于AS的XML腳本解析方法,包括以下步驟I)初始化根據(jù)配置文件對(duì)應(yīng)用進(jìn)行初始化,在初始化完成之后,不斷對(duì)該應(yīng)用進(jìn)行監(jiān)聽(tīng),以至能及時(shí)響應(yīng)用戶(hù)的操作;2)事件響應(yīng)用戶(hù)通過(guò)圖形界面對(duì)應(yīng)用進(jìn)行操作,并觸發(fā)相應(yīng)的事件,事件管理器在捕捉到該事件后對(duì)其進(jìn)行響應(yīng),并觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的命令;3)命令解釋解釋器會(huì)根據(jù)預(yù)制的對(duì)象庫(kù)、指令集和布局規(guī)則判斷該命令的類(lèi)型,然后觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的處理模塊,在此過(guò)程中,解釋器負(fù)責(zé)對(duì)命令解釋執(zhí)行控制;4)命令執(zhí)行執(zhí)行器會(huì)根據(jù)解釋器傳過(guò)來(lái)的信息調(diào)用相應(yīng)的模塊進(jìn)行處理;5)腳本加載根據(jù)執(zhí)行器發(fā)過(guò)來(lái)的請(qǐng)求,腳本加載器加載相應(yīng)的腳本傳給XML解析器;6)XML解析XML解析器對(duì)腳本加載器傳過(guò)來(lái)的腳本進(jìn)行解析,并根據(jù)XML語(yǔ)言的語(yǔ)法規(guī)則生成相應(yīng)的對(duì)象;檢測(cè)各個(gè)端口,若有結(jié)束控制信號(hào)輸入時(shí),進(jìn)入步驟7),否則,重復(fù)步驟2);7)結(jié)束。其中的步驟4)若是以APP開(kāi)頭的命令,執(zhí)行器執(zhí)行對(duì)象處理模塊;若是OPEN、CLOSE、URL:等開(kāi)頭的命令,執(zhí)行器調(diào)用命令處理模塊進(jìn)行處理;若是需要加載XML腳本,執(zhí)行器會(huì)觸發(fā)腳本加載器加載相應(yīng)的XML腳本;若是調(diào)用其他的命令,執(zhí)行器會(huì)觸發(fā)解釋器對(duì)該命令進(jìn)行解釋?zhuān)瑥亩纬裳h(huán)調(diào)用;同時(shí),命令執(zhí)行器會(huì)根據(jù)解釋器傳過(guò)來(lái)的信息,結(jié)合外部組件和資源文件生成相應(yīng)的應(yīng)用存儲(chǔ)到應(yīng)用空間里。本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是1)通過(guò)對(duì)XML腳本的解析實(shí)現(xiàn)應(yīng)用程序動(dòng)態(tài)加載,使用戶(hù)可以以文本編程方式實(shí)現(xiàn)富互聯(lián)網(wǎng)應(yīng)用;2)是通過(guò)事件驅(qū)動(dòng)來(lái)識(shí)別XML文檔的內(nèi)容(即當(dāng)它在XML腳本中發(fā)現(xiàn)特殊符號(hào)時(shí),它就會(huì)觸發(fā)相關(guān)事件,不需要在內(nèi)存中建立整個(gè)文檔的樹(shù)結(jié)構(gòu)),其占用內(nèi)存較少,從而使其更加適合應(yīng)用于智能手機(jī)、平板電腦、嵌入式設(shè)備等客戶(hù)端;3)可重用性,能夠提高軟件的開(kāi)發(fā)效率;4)是基于AS開(kāi)發(fā)的,其具有較強(qiáng)的互動(dòng)能力,能夠提聞系統(tǒng)的響應(yīng)能力。下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述。


圖I為本發(fā)明一種基于AS的XML腳本解析器具體實(shí)施例的方框結(jié)構(gòu)示意圖;圖2為本發(fā)明一種基于AS的XML腳本解析方法對(duì)某一具體控件進(jìn)行解析之后的應(yīng)用空間的顯示示意圖。
具體實(shí)施例方式為了更充分理解本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步介紹和說(shuō)明,但不局限于此。如圖I所示,本發(fā)明一種基于AS的XML腳本解析器,包括外部資源和程序構(gòu)件兩大部分,所述的外部資源包括、AS基類(lèi)、對(duì)象庫(kù)、指令集、布局規(guī)則、外部組件、資源文件和容器接口,其中XML腳本主要是為腳本引擎提供數(shù)據(jù),同時(shí)作為腳本引擎和后臺(tái)的接口。AS基類(lèi)是指AS提供的基礎(chǔ)類(lèi)。對(duì)象庫(kù)是指根據(jù)富互聯(lián)網(wǎng)應(yīng)用程序技術(shù)預(yù)制的UI集,提供了自定義的XML腳本語(yǔ)法支持。指令集是根據(jù)系統(tǒng)的需求自定義的命令集。布局規(guī)則主要是 規(guī)定了應(yīng)用布局的方式。外部組件是根據(jù)富互聯(lián)網(wǎng)應(yīng)用程序技術(shù)預(yù)制的組件集。資源文件是指引擎使用的任意非可執(zhí)行的數(shù)據(jù)文件,如圖像、音頻和視頻文件。容器接口是指引擎跟裝載引擎容器的通信接口,例如引擎與瀏覽器的接口、引擎與桌面程序的接口。程序構(gòu)件包括初始化器、XML解析器、腳本加載器、解釋器、執(zhí)行器、事件管理器和對(duì)象實(shí)體,在本引擎中程序構(gòu)件主要是根據(jù)XML腳本動(dòng)態(tài)生成最終顯示需要的信息。初始化器主要是根據(jù)配置文件對(duì)應(yīng)用程序進(jìn)行初始化。腳本加載器是主要用于加載XML腳本。XML解析器是指AS內(nèi)置的XML解析器。在本引擎中,其主要用于解析XML腳本,并生成解釋器所需的對(duì)象。解釋器主要是以XML解析器所生成的對(duì)象為輸入負(fù)責(zé)對(duì)語(yǔ)句解釋執(zhí)行控制,是整個(gè)腳本引擎的中心模塊。執(zhí)行器主要是用于根據(jù)對(duì)象或命令的類(lèi)型調(diào)用相應(yīng)的處理模塊。事件管理器主要是負(fù)責(zé)對(duì)應(yīng)用空間的事件或動(dòng)作進(jìn)行監(jiān)聽(tīng)、響應(yīng),并觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的命令。應(yīng)用空間是指由引擎根據(jù)XML腳本生成的應(yīng)用集。本解析器可以作為瀏覽器的插件,也可以作為桌面應(yīng)用軟件的插件。本解析器的解析方法包括以下幾個(gè)步驟I)初始化根據(jù)配置文件對(duì)應(yīng)用進(jìn)行初始化,在初始化完成之后,不斷對(duì)該應(yīng)用進(jìn)行監(jiān)聽(tīng),以至能及時(shí)響應(yīng)用戶(hù)的操作。2)事件響應(yīng)用戶(hù)通過(guò)圖形界面對(duì)應(yīng)用進(jìn)行操作,并觸發(fā)相應(yīng)的事件。事件管理器在捕捉到該事件后對(duì)其進(jìn)行響應(yīng),并觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的命令。3)命令解釋解釋器會(huì)根據(jù)預(yù)制的對(duì)象庫(kù)、指令集和布局規(guī)則判斷該命令的類(lèi)型,然后觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的處理模塊。在此過(guò)程中,解釋器負(fù)責(zé)對(duì)命令解釋執(zhí)行控制。4)命令執(zhí)行執(zhí)行器會(huì)根據(jù)解釋器傳過(guò)來(lái)的信息調(diào)用相應(yīng)的模塊進(jìn)行處理。例如如果是以APP開(kāi)頭的命令,執(zhí)行器執(zhí)行對(duì)象處理模塊;如果以O(shè)PEN、CLOSE、URL:等開(kāi)頭的命令,執(zhí)行器調(diào)用命令處理模塊進(jìn)行處理。在執(zhí)行器執(zhí)行命令過(guò)程中,該命令可能會(huì)需要加載XML腳本或調(diào)用其他的命令。如果是需要加載XML腳本,執(zhí)行器會(huì)觸發(fā)腳本加載器加載相應(yīng)的XML腳本;如果是調(diào)用其他的命令,執(zhí)行器會(huì)觸發(fā)解釋器對(duì)該命令進(jìn)行解釋?zhuān)瑥亩纬裳h(huán)調(diào)用。同時(shí),命令執(zhí)行器會(huì)根據(jù)解釋器傳過(guò)來(lái)的信息,結(jié)合外部組件和資源文件生成相應(yīng)的應(yīng)用存儲(chǔ)到應(yīng)用空間里。5)腳本加載根據(jù)執(zhí)行器發(fā)過(guò)來(lái)的請(qǐng)求,腳本加載器加載相應(yīng)的腳本傳給XML解析器。6)XML解析XML解析器對(duì)腳本加載器傳過(guò)來(lái)的腳本進(jìn)行解析,并根據(jù)XML語(yǔ)言的語(yǔ)法規(guī)則生成相應(yīng)的對(duì)象;檢測(cè)各個(gè)端口,若有結(jié)束控制信號(hào)輸入時(shí),進(jìn)入步驟7),否則,重復(fù)步驟2)。7)結(jié)束。下述為一個(gè)具體控件的解析實(shí)施例DataGrid. xml 為 DataGrid 控件的配置文件;
CHDOS title= irDATAGRIDfr ico= riman¥i action= ¥rgui/save. jsp n> <grid><tr><td>
<ui type= ffDATAGRID " src= "swf/HD_DATAGRID. swf " height= u4 OOrr name= ttUnamefF check= ” [*] fr cw= f1I f 1, 5 f I f 3ft>
<tr>
<td type= ntxt ,>CHK</td>
<td type= utxt〃>ID</td>
<td type= rrLxtrt edit= "true fi>姓名</td>
<td type= rttxt ri>類(lèi)型</td>
<td type= ffImg</td>
<td type= "ftrefrf>添力P</td>
<td type= "href">修改</td>
<td type= 〃_hre:f">刪除</td>
<td type=”>查看</td>
</tr>
<tr><td>2 0K/td>
<td>K/td>
<td>實(shí)施例</td>
權(quán)利要求
1.一種基于AS的XML腳本解析器,其特征在于包括與外部資源連接的程序構(gòu)件,所述的程序構(gòu)件包括XML解析器、腳本加載器、解釋器、執(zhí)行器、事件管理器和對(duì)象實(shí)體;所述的外部資源與解釋器、執(zhí)行器連接,解釋器、執(zhí)行器對(duì)外部資源進(jìn)行轉(zhuǎn)換;其中,腳本加載器對(duì)XML腳本進(jìn)行加載并傳送至XML解析器,XML解析器對(duì)XML腳本進(jìn)行解析后,并生成解釋器所需的對(duì)象;所述的對(duì)象實(shí)體包括應(yīng)用空間和圖形界面,其中 所述的腳本加載器是主要用于加載XML腳本; 所述的XML解析器是指AS內(nèi)置的XML解析器;用于解析XML腳本,并生成解釋器所需的對(duì)象; 所述的解釋器是以XML解析器所生成的對(duì)象為輸入負(fù)責(zé)對(duì)語(yǔ)句解釋執(zhí)行控制; 所述的執(zhí)行器是用于根據(jù)對(duì)象或命令的類(lèi)型調(diào)用相應(yīng)的處理模塊。
2.根據(jù)權(quán)利要求I所述的一種基于AS的XML腳本解析器,其特征在于還包括初始化器,所述的初始化器是根據(jù)配置文件對(duì)對(duì)象實(shí)體進(jìn)行初始化。
3.根據(jù)權(quán)利要求I所述的一種基于AS的XML腳本解析器,其特征在于所述的外部資源包括與解釋器連接的AS基類(lèi)、對(duì)象庫(kù)、指令集、布局規(guī)則;所述的AS基類(lèi)是指AS提供的基礎(chǔ)類(lèi);所述的對(duì)象庫(kù)是指根據(jù)富互聯(lián)網(wǎng)應(yīng)用程序技術(shù)預(yù)制的UI集,提供了自定義的XML腳本語(yǔ)法支持;所述的指令集是根據(jù)系統(tǒng)的需求自定義的命令集;所述的布局規(guī)則主要是規(guī)定了應(yīng)用布局的方式。
4.根據(jù)權(quán)利要求I所述的一種基于AS的XML腳本解析器,其特征在于所述的外部資源還包括與執(zhí)行器連接的外部組件、資源文件和容器接口 ;所述的外部組件是根據(jù)富互聯(lián)網(wǎng)應(yīng)用程序技術(shù)預(yù)制的組件集;所述的資源文件是指引擎使用的任意非可執(zhí)行的數(shù)據(jù)文件,如圖像、音頻和視頻文件;所述的容器接口是指引擎跟裝載引擎容器的通信接口。
5.根據(jù)權(quán)利要求I所述的一種基于AS的XML腳本解析器,其特征在于所述的應(yīng)用空間是指由引擎根據(jù)XML腳本生成的應(yīng)用集。
6.根據(jù)權(quán)利要求I所述的一種基于AS的XML腳本解析器,其特征在于所述的事件管理器主要是負(fù)責(zé)對(duì)應(yīng)用空間的事件或動(dòng)作進(jìn)行監(jiān)聽(tīng)、響應(yīng),并觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的命令。
7.一種基于AS的XML腳本解析方法,其特征在于包括以下步驟 1)初始化根據(jù)配置文件對(duì)應(yīng)用進(jìn)行初始化,在初始化完成之后,不斷對(duì)該應(yīng)用進(jìn)行監(jiān)聽(tīng),以至能及時(shí)響應(yīng)用戶(hù)的操作; 2)事件響應(yīng)用戶(hù)通過(guò)圖形界面對(duì)應(yīng)用進(jìn)行操作,并觸發(fā)相應(yīng)的事件,事件管理器在捕捉到該事件后對(duì)其進(jìn)行響應(yīng),并觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的命令; 3)命令解釋解釋器會(huì)根據(jù)預(yù)制的對(duì)象庫(kù)、指令集和布局規(guī)則判斷該命令的類(lèi)型,然后觸發(fā)執(zhí)行器執(zhí)行相應(yīng)的處理模塊,在此過(guò)程中,解釋器負(fù)責(zé)對(duì)命令解釋執(zhí)行控制; 4)命令執(zhí)行執(zhí)行器會(huì)根據(jù)解釋器傳過(guò)來(lái)的信息調(diào)用相應(yīng)的模塊進(jìn)行處理; 5)腳本加載根據(jù)執(zhí)行器發(fā)過(guò)來(lái)的請(qǐng)求,腳本加載器加載相應(yīng)的腳本傳給XML解析器; 6)XML解析XML解析器對(duì)腳本加載器傳過(guò)來(lái)的腳本進(jìn)行解析,并根據(jù)XML語(yǔ)言的語(yǔ)法規(guī)則生成相應(yīng)的對(duì)象;檢測(cè)各個(gè)端口,若有結(jié)束控制信號(hào)輸入時(shí),進(jìn)入步驟7),否則,重復(fù)步驟2); 7)結(jié)束。
8.根據(jù)權(quán)利要求7所述的一種基于AS的XML腳本解析方法,其特征在于所述的步驟4) 若是以APP開(kāi)頭的命令,執(zhí)行器執(zhí)行對(duì)象處理模塊; 若是OPEN、CLOSE、URL:等開(kāi)頭的命令,執(zhí)行器調(diào)用命令處理模塊進(jìn)行處理; 若是需要加載XML腳本,執(zhí)行器會(huì)觸發(fā)腳本加載器加載相應(yīng)的XML腳本; 若是調(diào)用其他的命令,執(zhí)行器會(huì)觸發(fā)解釋器對(duì)該命令進(jìn)行解釋?zhuān)瑥亩纬裳h(huán)調(diào)用;同時(shí),命令執(zhí)行器會(huì)根據(jù)解釋器傳過(guò)來(lái)的信息,結(jié)合外部組件和資源文件生成相應(yīng)的應(yīng)用存儲(chǔ)到應(yīng)用空間里。
全文摘要
本發(fā)明公開(kāi)了一種基于AS的XML腳本解析器及其方法,解析器包括與外部資源連接的程序構(gòu)件,程序構(gòu)件包括XML解析器、腳本加載器、解釋器、執(zhí)行器、事件管理器和對(duì)象實(shí)體;外部資源與解釋器、執(zhí)行器連接,解釋器、執(zhí)行器對(duì)外部資源進(jìn)行轉(zhuǎn)換;其中,腳本加載器對(duì)XML腳本進(jìn)行加載并傳送至XML解析器,XML解析器對(duì)XML腳本進(jìn)行解析后,并生成解釋器所需的對(duì)象。本發(fā)明通過(guò)對(duì)XML腳本的解析實(shí)現(xiàn)應(yīng)用程序動(dòng)態(tài)加載,使用戶(hù)可以以文本編程方式實(shí)現(xiàn)富互聯(lián)網(wǎng)應(yīng)用;其占用內(nèi)存較少,從而使其更加適合應(yīng)用于智能手機(jī)、平板電腦、嵌入式設(shè)備等客戶(hù)端;可重用性,能夠提高軟件的開(kāi)發(fā)效率;具有較強(qiáng)的互動(dòng)能力,能夠提高系統(tǒng)的響應(yīng)能力。
文檔編號(hào)G06F17/30GK102880492SQ201210356540
公開(kāi)日2013年1月16日 申請(qǐng)日期2012年9月24日 優(yōu)先權(quán)日2012年9月24日
發(fā)明者楊博宇, 杜恩寬, 王東波 申請(qǐng)人:廣東華大集成技術(shù)有限責(zé)任公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1