專(zhuān)利名稱(chēng):一種專(zhuān)用界面工具的格式轉(zhuǎn)換方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信領(lǐng)域,尤其涉及一種專(zhuān)用界面工具(widget)的格式轉(zhuǎn)換技術(shù)。
背景技術(shù):
Widget (專(zhuān)用界面工具)是一種輕量級(jí)的Web應(yīng)用程序,用來(lái)實(shí)現(xiàn)某種單一的功能并且對(duì)Web2.0或者Internet (因特網(wǎng))上的內(nèi)容進(jìn)行快速直接訪(fǎng)問(wèn),用戶(hù)安裝負(fù)責(zé)運(yùn)行widget的引擎之后便能使用widget。為了標(biāo)準(zhǔn)化widget的開(kāi)發(fā)過(guò)程,W3C(World WideWeb Consortium,萬(wàn)維網(wǎng)聯(lián)盟)對(duì)widget進(jìn)行了定義widget是一種交互的單目標(biāo)應(yīng)用程序,widget被用來(lái)顯示或者更新本地的或者Web上的數(shù)據(jù),并通過(guò)某種格式被打包以便于下載和安裝到用戶(hù)的PC (Personal Computer,個(gè)人計(jì)算機(jī))或者移動(dòng)終端上。
不同于傳統(tǒng)的PC和移動(dòng)終端上的應(yīng)用程序,widget使用標(biāo)準(zhǔn)的Web技術(shù),例如HTML (Hyper—Text Markup Language,超文本標(biāo)記語(yǔ)言)、XML (ExtensibleMarkupLanguage,可J廣展的*示記i吾言)、CSS (Cascading Style Sheets,層疊樣式表)禾口JavaScript 。上述Web技術(shù)也是AJAX (Asynchronous JavaScript andXML,異步JavaScript和XML)開(kāi)發(fā)過(guò)程中使用到的核心技術(shù),因而widget本身也是一種AJAX應(yīng)用,可以說(shuō)AJAX技術(shù)促進(jìn)了 widget的產(chǎn)生和發(fā)展。 隨著用戶(hù)對(duì)widget的需求日益增大,用戶(hù)往往需要在PC或者移動(dòng)終端上運(yùn)行多種格式的Widget,雖然widget是用標(biāo)準(zhǔn)的Web技術(shù)開(kāi)發(fā)的,但是通常情況下,負(fù)責(zé)運(yùn)行不同格式Widget的引擎不同。主要原因在于不同格式的Widget,其配置文件中的屬性名稱(chēng)不盡相同、Widget文件集合采用的打包格式和包結(jié)構(gòu)不盡相同、負(fù)責(zé)運(yùn)行不同格式Widget的引擎所支持的運(yùn)行平臺(tái)不盡相同,并且用來(lái)調(diào)用操作系統(tǒng)功能的API(應(yīng)用編程接口 )尚未被標(biāo)準(zhǔn)化。這就需要用戶(hù)預(yù)先在PC或者移動(dòng)終端上安裝多個(gè)引擎,導(dǎo)致PC或者移動(dòng)終端上大量的系統(tǒng)資源被占用,尤其是對(duì)于系統(tǒng)資源有限的移動(dòng)終端來(lái)說(shuō),安裝多個(gè)引擎可能會(huì)影響用戶(hù)其它業(yè)務(wù)的正常使用。因此,如何在PC和移動(dòng)終端上僅安裝一個(gè)引擎便可運(yùn)行各種格式的widget,也就是如何對(duì)widget進(jìn)行格式轉(zhuǎn)換,成為目前widget領(lǐng)域的研究熱點(diǎn)。 對(duì)于具備專(zhuān)業(yè)領(lǐng)域知識(shí)和編程經(jīng)驗(yàn)的用戶(hù),可以采用人工方式對(duì)widget進(jìn)行格式轉(zhuǎn)換,但是轉(zhuǎn)換效率和準(zhǔn)確率都比較低,并且大部分用戶(hù)由于不具備專(zhuān)業(yè)領(lǐng)域知識(shí)和編程經(jīng)驗(yàn),無(wú)法實(shí)現(xiàn)widget的格式轉(zhuǎn)換。 現(xiàn)有技術(shù)中,提供了 widget的格式轉(zhuǎn)換工具Amnesty Generator禾P Widgetop,但是只能實(shí)現(xiàn)具有特定格式的widget到另一種特定格式的轉(zhuǎn)換,例如Amnesty Generator只能將Google gadget轉(zhuǎn)換為Windows Vista邊側(cè)欄中的gadget, Widgetop只能將運(yùn)行在A卯le Dashboard上的widget轉(zhuǎn)換為可運(yùn)行在網(wǎng)頁(yè)上的Web widget。可見(jiàn),現(xiàn)有widget的格式轉(zhuǎn)換工具的可擴(kuò)展性較低,不能實(shí)現(xiàn)widget在任意格式之間的轉(zhuǎn)換,使得widget的開(kāi)發(fā)成本較高,widget的開(kāi)發(fā)效率和代碼復(fù)用率較低。
發(fā)明內(nèi)容
本發(fā)明提供一種專(zhuān)用界面工具widget的格式轉(zhuǎn)換方法及裝置,用以實(shí)現(xiàn)widget在任意格式之間的轉(zhuǎn)換。 本發(fā)明提供的專(zhuān)用界面工具的格式轉(zhuǎn)換方法,包括 根據(jù)源專(zhuān)用界面工具widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模
板,其中,模板庫(kù)中的每一個(gè)模板用于描述對(duì)應(yīng)格式的widget的文件信息; 對(duì)源widget進(jìn)行解包得到源widget文件集合,根據(jù)源widget文件集合對(duì)源
widget進(jìn)行格式識(shí)別確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板; 根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并結(jié)合
源widget文件集合生成目標(biāo)widget文件集合,對(duì)目標(biāo)widget文件集合進(jìn)行打包得到目標(biāo)
widget,所述widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系。 本發(fā)明提供的專(zhuān)用界面工具的格式轉(zhuǎn)換裝置,包括 第一存儲(chǔ)模塊用于存儲(chǔ)模板庫(kù),所述模板庫(kù)中的每一個(gè)模板用于描述對(duì)應(yīng)格式的專(zhuān)用界面工具widget的文件信息; 第二存儲(chǔ)模塊用于存儲(chǔ)widget本體,所述widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系; 目標(biāo)模板選擇模塊用于根據(jù)源widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模板; 解包模塊用于對(duì)源widget進(jìn)行解包得到源widget文件集合; 包分析模塊用于根據(jù)源widget文件集合對(duì)源widget進(jìn)行格式識(shí)別確定源格式,
并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板; 語(yǔ)義映射模塊用于根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信
息進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合; 打包模塊用于對(duì)目標(biāo)widget文件集合進(jìn)行打包得到目標(biāo)widget 。 本發(fā)明提供的專(zhuān)用界面工具的格式轉(zhuǎn)換方法及裝置,構(gòu)建了 widget本體和模板
庫(kù),根據(jù)目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模板,對(duì)源widget解包得到的源widget文件
集合進(jìn)行格式識(shí)別確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板,根據(jù)widget
本體對(duì)源模板和目標(biāo)模板進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合,
打包后得到目標(biāo)widget。本發(fā)明在widget本體的指導(dǎo)下實(shí)現(xiàn)了 widget在任意格式之間的
轉(zhuǎn)換,降低了 widget的開(kāi)發(fā)成本,提高了 widget的開(kāi)發(fā)效率和代碼復(fù)用率,從而為widget
在不同運(yùn)行平臺(tái)上的移植打下了基礎(chǔ)。
圖1為本發(fā)明實(shí)施例中widget的格式轉(zhuǎn)換方法流程圖; 圖2為本發(fā)明實(shí)施例中生成目標(biāo)widget文件集合的方法流程圖; 圖3為本發(fā)明實(shí)施例中Dashboard widget轉(zhuǎn)換為S60widget的方法流程圖; 圖4為本發(fā)明實(shí)施例中widget的格式轉(zhuǎn)換序列圖; 圖5為本發(fā)明實(shí)施例中widget的格式轉(zhuǎn)換裝置框 圖6為本發(fā)明實(shí)施例中包分析模塊的結(jié)構(gòu)框 圖7為本發(fā)明實(shí)施例中語(yǔ)義映射模塊的結(jié)構(gòu)框圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例中,為了實(shí)現(xiàn)widget在任意格式之間的轉(zhuǎn)換,首先構(gòu)建了 widget本體和模板庫(kù),模板庫(kù)中包括多個(gè)模板,每一個(gè)模板用于描述對(duì)應(yīng)格式的widget的文件信息,widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系。為了便于區(qū)分,待轉(zhuǎn)換的widget可以稱(chēng)為源widget,源widget的格式可以稱(chēng)為源格式;格式轉(zhuǎn)換之后生成的widget可以稱(chēng)為目標(biāo)widget,目標(biāo)widget的格式可以稱(chēng)為目標(biāo)格式。為了實(shí)現(xiàn)widget從源格式到目標(biāo)格式的轉(zhuǎn)換,根據(jù)源widget的源格式從模板庫(kù)中選擇源模板,根據(jù)源widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇目標(biāo)模板,在widget本體的指導(dǎo)下進(jìn)行源模板和目標(biāo)模板的關(guān)聯(lián),從而可以實(shí)現(xiàn)widget在任意格式之間的轉(zhuǎn)換,降低了 widget的開(kāi)發(fā)成本,提高widget的開(kāi)發(fā)效率和代碼復(fù)用率,從而為widget在不同運(yùn)行平臺(tái)上的移植打下了基礎(chǔ)。 如表1所示,為現(xiàn)有主流widget的文件結(jié)構(gòu)。從表l可以看出,主流widget雖然文件的擴(kuò)展名(.zip/, wgz/. widget/, gg)不盡相同,但打包格式均為zip格式,本質(zhì)上為一個(gè)zip文件;widget解包后得到的widget文件集合中均包括一個(gè)widget配置文件和一個(gè)widget主文件;widget配置文件的屬性名稱(chēng)以及widget主文件的格式不盡相同。
表1
弓l擎Engine打包格式Format圖標(biāo)Icon配置文件Manifest主文件MainFile
Dashboardzip格式(.zip)Icon, pngInfo, plistMain, html
Nokiazip格式(.wgz)Icon, pngInfo, plistMain, html
Yahoo !zip格式(.widget)氺.kon氺.kon
Googlezip格式(.gg)gadget, gmanifestMain, xml
Operazip格式(.zip)conf ig. xmlIndex, html 基于對(duì)現(xiàn)有主流widget的文件結(jié)構(gòu)的分析,構(gòu)建的模板庫(kù)中,每一個(gè)模板所描述的對(duì)應(yīng)格式的widget的文件信息,應(yīng)該包括文件屬性名稱(chēng)和文件標(biāo)簽,而通過(guò)在widget本體中記錄模板庫(kù)中所有模板所描述的文件信息,可以達(dá)到描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系的目的。舉例說(shuō)明,文件屬性名稱(chēng)包括配置文件的屬性名稱(chēng),各模板所描述的配置文件的屬性名稱(chēng)并不相同,為了描述各模板之間配置文件的屬性名稱(chēng)的語(yǔ)義關(guān)聯(lián)關(guān)系,在widget本體中,對(duì)應(yīng)設(shè)置Information_Property_List(配置文件)類(lèi),Information_Property_List類(lèi)具有若干個(gè)屬性,例如wipl_name (名稱(chēng))、wipl_identifier (標(biāo)識(shí)符)、wipl_version (版本)、wipljnain—file(主文件的格式)、wipl_location (位置)、wipl_siZe (大小)等,針對(duì)每一個(gè)屬性,將所有模板所采用的配置文件
6的屬性名稱(chēng)作為該屬性的子屬性,表明為語(yǔ)義相同的同義屬性。在widget本體中,還設(shè)置 Widget_0bject (widget對(duì)象)、User_Interface_Component (圖形部件)、Event (事件)、 DTD(文檔類(lèi)型定義)等類(lèi),不再贅述。widget本體通過(guò)RDF (資源描述框架)語(yǔ)言進(jìn)行描 述。 基于上述分析,本發(fā)明實(shí)施例提供了一種widget的格式轉(zhuǎn)換方法,如圖l所示,包 括步驟 S101、根據(jù)源widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模板,其中, 模板庫(kù)中包括多個(gè)模板,每一個(gè)模板用于描述對(duì)應(yīng)格式的widget的文件信息;
S102、對(duì)源widget進(jìn)行解包得到源widget文件集合,根據(jù)源widget文件集合對(duì) 源widget進(jìn)行格式識(shí)別確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板;
S103、根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并 結(jié)合源widget文件集合生成目標(biāo)widget文件集合,對(duì)目標(biāo)widget文件集合進(jìn)行打包得到 目標(biāo)widget,其中,widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系。
在SIOI中,每一個(gè)模板用于描述的對(duì)應(yīng)格式的widget的文件信息,具體包括文件 屬性名稱(chēng)和文件標(biāo)簽。模板庫(kù)中每一個(gè)模板以文件形式存在,模板文件的格式可以為T(mén)XT 或者XML,本發(fā)明實(shí)施例中模板文件采用XML,使得模板可以通過(guò)Web進(jìn)行傳輸,并可以利用 JDOM開(kāi)源工具包對(duì)模板進(jìn)行生成和解析。隨著widget技術(shù)的發(fā)展,如果已有widget的格 式被修改或者新產(chǎn)生了 widget的格式,可以根據(jù)對(duì)已有widget的格式所作的修改,在模板 庫(kù)中修改已有widget的格式對(duì)應(yīng)的模板,以及根據(jù)新產(chǎn)生的widget的格式,在模板庫(kù)中增 加新產(chǎn)生的widget的格式對(duì)應(yīng)的模板。 在S102中,由于widget均采用zip格式進(jìn)行打包,所以源widget實(shí)質(zhì)上是一個(gè) zip文件,針對(duì)zip文件進(jìn)行解包的方式非常多,例如可以采用Java. util. zip包進(jìn)行解包; 對(duì)源widget進(jìn)行解包得到源widget文件集合,包括源widget主文件和源widget配置文 件。 較佳的,在對(duì)源widget進(jìn)行解包得到的源widget文件集合中源widget主文件的 格式為HTML時(shí),將源widget主文件的格式從HTML轉(zhuǎn)化為XML,通過(guò)將widget主文件進(jìn)行 格式統(tǒng)一,簡(jiǎn)化了后續(xù)操作。widget主文件一般采用兩種格式HTML和XML。 HTML語(yǔ)法的 靈活性較高,使得HTML代碼的書(shū)寫(xiě)具有多樣性,例如,只有開(kāi)始標(biāo)簽而沒(méi)有結(jié)束標(biāo)簽等等, 而XML語(yǔ)法比較規(guī)范和嚴(yán)謹(jǐn),因此,本發(fā)明實(shí)施例中widget主文件的格式統(tǒng)一采用XML。
其中,將源widget主文件的格式從HTML轉(zhuǎn)化為XML,具體包括
步驟1、對(duì)HTML格式的源widget主文件中缺失的結(jié)束標(biāo)簽進(jìn)行添加,對(duì)順序錯(cuò)誤 或者不匹配的結(jié)束標(biāo)簽進(jìn)行修改,對(duì)標(biāo)題強(qiáng)調(diào)類(lèi)型標(biāo)簽的錯(cuò)誤進(jìn)行糾正,混亂或不完整的 標(biāo)簽進(jìn)行恢復(fù),對(duì)未加雙引號(hào)的屬性值補(bǔ)充雙引號(hào); 步驟2、將HTML格式的源widget主文件中HTML格式的標(biāo)簽轉(zhuǎn)化為XML格式的標(biāo) 簽,得到XML格式的源widget主文件。 雖然不同格式widget的配置文件的格式均為XML,但是配置文件的屬性名稱(chēng)以及 配置文件的標(biāo)簽有所差異。本發(fā)明實(shí)施例中,預(yù)先在模板庫(kù)中建立widget的格式與widget 配置文件的標(biāo)簽之間的對(duì)應(yīng)關(guān)系,將每一種格式的widget的配置文件中可能出現(xiàn)的標(biāo)簽 以關(guān)鍵字的形式記錄在該對(duì)應(yīng)關(guān)系中。當(dāng)源widget文件集合被輸入時(shí),將源widget文件集
7合中源widget配置文件與對(duì)應(yīng)關(guān)系中以關(guān)鍵字形式記錄的標(biāo)簽進(jìn)行標(biāo)簽匹配,根據(jù)對(duì)源 widget配置文件的標(biāo)簽匹配結(jié)果即可確定源格式,根據(jù)源格式就可以從模板庫(kù)中選擇對(duì)應(yīng) 的源模板。 在S103中,根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān) 聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合,如圖2所示,具體包括
S201 、根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián);
S202、根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件屬性名稱(chēng)的關(guān)聯(lián)關(guān)系,并結(jié)合源 widget文件集合,確定與源格式的文件屬性名稱(chēng)相對(duì)應(yīng)的目標(biāo)格式的文件屬性名稱(chēng)及其屬 性值; S203、根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件標(biāo)簽的關(guān)聯(lián)關(guān)系,將源widget文 件集合的內(nèi)容填充到目標(biāo)模板中,生成目標(biāo)widget文件集合。 最后,將生成的目標(biāo)widget文件集合按照zip格式進(jìn)行打包得到zip文件,并將 zip文件賦予和目標(biāo)格式相對(duì)應(yīng)的擴(kuò)展名,即完成了 widget的格式轉(zhuǎn)換。其中,將widget 文件集合進(jìn)行打包的方式非常多,例如可以采用Java. util. zip包進(jìn)行打包。
下面以具體實(shí)施例詳細(xì)說(shuō)明widget的格式轉(zhuǎn)換方法。假設(shè)源widget為Apple的 Dashboard widget,目標(biāo)widget為Nokia的S60widget,如圖3所示,包括如下步驟
S301、根據(jù)Dashboard widget待轉(zhuǎn)換的目標(biāo)格式,從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模 板,此處選定的目標(biāo)模板為Nokia S60widget模板。 S302、對(duì)Dashboard widget進(jìn)行解包得到Dashboard widget文件集合,Dashboard widget文件集合包括Dashboard widget主文件禾口 Dashboard widget配置文件,Dashboard widget主文件的格式為HTML, Dashboard widget配置文件的名稱(chēng)為Info, plist。
S303、將Dashboard widget主文件的格式從HTML轉(zhuǎn)化為XML。
S304、根據(jù)Dashboard widget文件集合對(duì)Dashboard widget進(jìn)行格式識(shí)別 確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板,此處選定的源模板為Apple Dashboard widget模板; 具體是根據(jù)widget格式與widget配置文件的標(biāo)簽之間的對(duì)應(yīng)關(guān)系,對(duì)Dashboard widget配置文件進(jìn)行標(biāo)簽匹配,根據(jù)對(duì)Dashboard widget配置文件的標(biāo)簽匹配結(jié)果確定 源格式,根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板為Apple Dashboard widget模板。
S305、根據(jù)widget本體對(duì)Apple Dashboard widget模板禾口 Nokia S60 widget模 板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并結(jié)合Dashboard widget文件集合生成S60 widget 文件集合; 例如,在widget本體中,Apple Dashboard widget模板中的CFB皿dleIdentifier 禾口 Nokia S60 widget模板中的Identifier屬于同義屬性;AppleDashboard widget模板 中的CFBundleVersion和Nokia S60 widget中的Version屬于同義屬性,上述屬性及其語(yǔ) 義關(guān)聯(lián)關(guān)系用RDF語(yǔ)言描述如下
〈rdf:RDF xmlns = 〃 http://www. owl-ontologies. com/0ntologyl221011256. owl#〃
xml:base =〃 http://www.owl_ontologies.com/0ntologyl221011256.owl"
xmlns:rdfs=〃 http://www.w3.Org/2000/01/rdf_schema#"
xmlns:xsd = 〃 http:〃www. w3. org/200l/XMLSchema#〃 xmlns: owl = 〃 http: 〃www. w3. org/2002/07/owl# 〃 xmlns: rdf = 〃 http: 〃www. w3. org/1999/02/22_rdf_syntax_ns# 〃 > \\構(gòu)建Widget本體時(shí)需要使用的外部文件 ... 〈owl:DatatypeProperty rdf:ID =〃 wipl_identifier〃 >〈rdfs:domain rdf:resource =〃 SInformation—Property—List〃 />〈rdfs:range rdf:resource =〃 &xsd ;string" /> 〈/owl:DatatypeProperty> \\定義屬性wipl_identif ier,該屬性的定義域?yàn)镮nformation_Property_List,
值域?yàn)樽址?… 〈owl:DatatypeProperty rdf:ID =〃 CFB皿dleIdentifier" >
〈rdfs:subPropertyOf rdf:resource = 〃 #wipl_identifier" /> 〈/owl:DatatypeProperty> \\定義屬性CFBundleldentif ier,該屬性是wipl_identif ier的子屬性 ... 〈owl:DatatypeProperty rdf:ID =〃 Identifier" >〈rdfs:subPropertyOf rdf:resource = 〃 #wipl_identifier" /> 〈/owl:DatatypeProperty> \\定于屬性Identifier,該屬性是wipl_identifier的子屬性 … 〈owl:DatatypeProperty rdf:ID =〃 CFB皿dleVersion" >
〈rdfs:domain rdf:resource =〃 SInformation—Property—List〃 />
〈rdfs:subPropertyOf rdf:resource =〃 #release_version〃 /> 〈/owl:DatatypeProperty> \\定義屬性CFBundleVersion,該屬性的定義域?yàn)镮nformation_Property_List, 該屬性是release—version的子屬性 ... 〈owl:DatatypeProperty rdf:ID =〃 release—version" >
〈rdfs:subPropertyOf rdf:resource =〃 #wipl_version〃 /> 〈/owl:DatatypeProperty> \\定義屬性release—version,該屬性是wipl_version的子屬性 ... 〈owl:DatatypeProperty rdf:ID =〃 wipl_version〃 >〈rdfs:domain rdf:resource =〃 SInformation—Property—List〃 /> 〈rdfs:range rdf:resource = 〃 &xsd ;string" /> 〈/owl:DatatypeProperty> \\定義屬性wipl_version,該屬性的定義域?yàn)镮nformation_Property_List,值域?yàn)樽址?
... 〈owl:DatatypeProperty rdf:ID =〃 Version" >〈rdfs:subPropertyOf rdf:resource = 〃 #release_version〃 /> 〈/owl:DatatypeProperty> \\定義屬性Version,該屬性是release_version的子屬性 從上述RDF語(yǔ)言描述可以看出,CFBundleldentifier和Identifier都是屬性 wipl_identifier的子屬性,wipl_identifier屬于Information—Property—List類(lèi); CFB皿dleVersion禾口 Version都是屬性release—version的子屬性,release—version是屬 性wipl_version的子屬性,wipl_version屬于Information—Property—List類(lèi)。
需要指出的是,如果在widget本體的指導(dǎo)下,如果沒(méi)有找到與源widget支持的文 件信息相對(duì)應(yīng)的目標(biāo)widget支持的文件信息,也就是說(shuō)負(fù)責(zé)運(yùn)行目標(biāo)widget的引擎不包 括該文件信息的相關(guān)功能,則直接忽略。 S306、對(duì)S60widget文件集合進(jìn)行打包得到S60widget。 widget的格式轉(zhuǎn)換序列圖,如圖4所示,widget的格式轉(zhuǎn)換過(guò)程由用戶(hù)激發(fā),用戶(hù) 發(fā)送widget的格式轉(zhuǎn)換消息,指示源widget待轉(zhuǎn)換的目標(biāo)格式,根據(jù)目標(biāo)格式可以從模板 庫(kù)中選擇出目標(biāo)模板;包管理對(duì)象在收到widget的格式轉(zhuǎn)換消息后,對(duì)輸入的源widget進(jìn) 行解包;預(yù)處理對(duì)象對(duì)源widget主文件進(jìn)行預(yù)處理;包分析對(duì)象對(duì)經(jīng)過(guò)預(yù)處理的源widget 文件集合進(jìn)行格式識(shí)別并返回源格式對(duì)應(yīng)的源模板;語(yǔ)義映射對(duì)象調(diào)用widget本體對(duì)源 模板和目標(biāo)模板進(jìn)行關(guān)聯(lián),并將生成的目標(biāo)widget文件集合返回給包管理對(duì)象;包管理對(duì) 象將目標(biāo)widget文件集合打包得到目標(biāo)widget并返回給用戶(hù)。 本發(fā)明實(shí)施例提供的widget的格式轉(zhuǎn)換方法,由于模板庫(kù)和widget本體可以進(jìn) 行更新,因此具有較強(qiáng)的可擴(kuò)展性;由于模板庫(kù)中的各模板采用XML描述并且使用了 JDOM 作為XML解析工具,因而具有較高的讀取和處理速度;同時(shí),widget本體對(duì)widget提供了 本地化支持,例如,如果源widget提供了多國(guó)語(yǔ)言支持,那么格式轉(zhuǎn)換后的目標(biāo)widget仍 然支持多國(guó)語(yǔ)言。 基于同一技術(shù)構(gòu)思,本發(fā)明實(shí)施例提供了一種widget的格式轉(zhuǎn)換裝置,如圖5所 示,包括 第一存儲(chǔ)模塊501 :用于存儲(chǔ)包括多個(gè)模板的模板庫(kù),每一個(gè)模板用于描述對(duì)應(yīng) 格式的widget的文件信息; 第二存儲(chǔ)模塊502 :用于存儲(chǔ)widget本體,其中,widget本體用于描述模板庫(kù)中各 模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系; 目標(biāo)模板選擇模塊503 :用于根據(jù)源widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì) 應(yīng)的目標(biāo)模板; 解包模塊504 :用于對(duì)源widget進(jìn)行解包得到源widget文件集合; 包分析模塊505 :用于根據(jù)源widget文件集合對(duì)源widget進(jìn)行格式識(shí)別確定源
格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板; 語(yǔ)義映射模塊506 :用于根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件 信息進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合;
打包模塊507 :用于對(duì)目標(biāo)widget文件集合進(jìn)行打包得到目標(biāo)widget 。 如圖6所示,包分析模塊505的一種可能結(jié)構(gòu),包括標(biāo)簽匹配子模塊601、格式確定
子模塊602和源模板選擇子模塊603,其中 第一存儲(chǔ)模塊501存儲(chǔ)的模板庫(kù)中還包括widget格式與widget配置文件的標(biāo)簽 之間的對(duì)應(yīng)關(guān)系; 標(biāo)簽匹配子模塊601,用于根據(jù)所述對(duì)應(yīng)關(guān)系,對(duì)源widget配置文件進(jìn)行標(biāo)簽匹
配,所述源widget文件集合包括源widget主文件和源widget配置文件; 格式確定子模塊602,用于根據(jù)對(duì)源widget配置文件的標(biāo)簽匹配結(jié)果確定源格
式; 源模板選擇子模塊603,用于根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板。
較佳的,解包模塊504,還用于在對(duì)源widget進(jìn)行解包得到的源widget文件集合 中源widget主文件的格式為HTML時(shí),將源widget主文件的格式從HTML轉(zhuǎn)化為XML。
如圖7所示,語(yǔ)義映射模塊506的一種可能結(jié)構(gòu),包括 語(yǔ)義映射子模塊701 :用于根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文 件信息進(jìn)行關(guān)聯(lián),所述文件信息包括文件屬性名稱(chēng)和文件標(biāo)簽; 屬性關(guān)聯(lián)子模塊702 :用于根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件屬性名稱(chēng)的 關(guān)聯(lián)關(guān)系,并結(jié)合源widget文件集合,確定與源格式的文件屬性名稱(chēng)相對(duì)應(yīng)的目標(biāo)格式的 文件屬性名稱(chēng)及其屬性值; 內(nèi)容填充子模塊703 :用于根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件標(biāo)簽的關(guān)聯(lián) 關(guān)系,將源widget文件集合的內(nèi)容填充到目標(biāo)模板中,生成目標(biāo)widget文件集合。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
一種專(zhuān)用界面工具的格式轉(zhuǎn)換方法,其特征在于,包括根據(jù)源專(zhuān)用界面工具widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模板,其中,模板庫(kù)中的每一個(gè)模板用于描述對(duì)應(yīng)格式的widget的文件信息;對(duì)源widget進(jìn)行解包得到源widget文件集合,根據(jù)源widget文件集合對(duì)源widget進(jìn)行格式識(shí)別確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板;根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合,對(duì)目標(biāo)widget文件集合進(jìn)行打包得到目標(biāo)widget,所述widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系。
2. 如權(quán)利要求l所述的方法,其特征在于,所述源widget文件集合包括源widget主文件和源widget配置文件,所述模板庫(kù)中還包括widget的格式與widget配置文件的標(biāo)簽之間的對(duì)應(yīng)關(guān)系;所述根據(jù)源widget文件集合對(duì)源widget進(jìn)行格式識(shí)別確定源格式,具體包括根據(jù)所述對(duì)應(yīng)關(guān)系,對(duì)源widget配置文件進(jìn)行標(biāo)簽匹配;并根據(jù)對(duì)源widget配置文件的標(biāo)簽匹配結(jié)果確定源格式。
3. 如權(quán)利要求2所述的方法,其特征在于,還包括在對(duì)源widget進(jìn)行解包得到的源widget文件集合中源widget主文件的格式為超文本標(biāo)記語(yǔ)言HTML時(shí),將源widget主文件的格式從HTML轉(zhuǎn)化為可擴(kuò)展的標(biāo)記語(yǔ)言XML。
4. 如權(quán)利要求3所述的方法,其特征在于,所述將源widget主文件的格式從HTML轉(zhuǎn)化為XML,具體包括對(duì)HTML格式的源widget主文件中缺失的結(jié)束標(biāo)簽進(jìn)行添加,對(duì)順序錯(cuò)誤或者不匹配的結(jié)束標(biāo)簽進(jìn)行修改,對(duì)標(biāo)題強(qiáng)調(diào)類(lèi)型標(biāo)簽的錯(cuò)誤進(jìn)行糾正,對(duì)混亂或不完整的標(biāo)簽進(jìn)行恢復(fù),對(duì)未加雙引號(hào)的屬性值補(bǔ)充雙引號(hào);將HTML格式的源widget主文件中HTML格式的標(biāo)簽轉(zhuǎn)化為XML格式的標(biāo)簽,得到XML格式的源widget主文件。
5. 如權(quán)利要求1所述的方法,其特征在于,所述文件信息包括文件屬性名稱(chēng)和文件標(biāo)簽;所述根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合,具體包括根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián);根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件屬性名稱(chēng)的關(guān)聯(lián)關(guān)系,并結(jié)合源widget文件集合,確定與源格式的文件屬性名稱(chēng)相對(duì)應(yīng)的目標(biāo)格式的文件屬性名稱(chēng)及其屬性值;并根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件標(biāo)簽的關(guān)聯(lián)關(guān)系,將源widget文件集合的內(nèi)容填充到目標(biāo)模板中,生成目標(biāo)widget文件集合。
6. 如權(quán)利要求l所述的方法,其特征在于,還包括根據(jù)對(duì)已有widget的格式所作的修改,在所述模板庫(kù)中修改所述已有widget的格式對(duì)應(yīng)的模板,以及根據(jù)新產(chǎn)生的widget的格式,在所述模板庫(kù)中增加所述新產(chǎn)生的widget的格式對(duì)應(yīng)的模板;根據(jù)模板庫(kù)中模板的變化更新所述widget本體。
7. —種專(zhuān)用界面工具的格式轉(zhuǎn)換裝置,其特征在于,包括第一存儲(chǔ)模塊用于存儲(chǔ)模板庫(kù),所述模板庫(kù)中的每一個(gè)模板用于描述對(duì)應(yīng)格式的專(zhuān)用界面工具widget的文件信息;第二存儲(chǔ)模塊用于存儲(chǔ)widget本體,所述widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系;目標(biāo)模板選擇模塊用于根據(jù)源widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模板;解包模塊用于對(duì)源widget進(jìn)行解包得到源widget文件集合;包分析模塊用于根據(jù)源widget文件集合對(duì)源widget進(jìn)行格式識(shí)別確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板;語(yǔ)義映射模塊用于根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合;打包模塊用于對(duì)目標(biāo)widget文件集合進(jìn)行打包得到目標(biāo)widget 。
8. 如權(quán)利要求7所述的裝置,其特征在于,所述包分析模塊包括標(biāo)簽匹配子模塊、格式確定子模塊和源模板選擇子模塊,其中所述第一存儲(chǔ)模塊存儲(chǔ)的模板庫(kù)中還包括widget的格式與widget配置文件的標(biāo)簽之間的對(duì)應(yīng)關(guān)系;所述標(biāo)簽匹配子模塊,用于根據(jù)所述對(duì)應(yīng)關(guān)系,對(duì)源widget配置文件進(jìn)行標(biāo)簽匹配,所述源widget文件集合包括源widget主文件和源widget配置文件;所述格式確定子模塊,用于根據(jù)對(duì)源widget配置文件的標(biāo)簽匹配結(jié)果確定源格式;所述源模板選擇子模塊,用于根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板。
9. 如權(quán)利要求8所述的裝置,其特征在于,所述解包模塊,還用于在對(duì)源widget進(jìn)行解包得到的源widget文件集合中源widget主文件的格式為超文本標(biāo)記語(yǔ)言HTML時(shí),將源widget主文件的格式從HTML轉(zhuǎn)化為可擴(kuò)展的標(biāo)記語(yǔ)言XML。
10. 如權(quán)利要求7所述的裝置,其特征在于,所述語(yǔ)義映射模塊,包括語(yǔ)義映射子模塊用于根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),所述文件信息包括文件屬性名稱(chēng)和文件標(biāo)簽;屬性關(guān)聯(lián)子模塊用于根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件屬性名稱(chēng)的關(guān)聯(lián)關(guān)系,并結(jié)合源widget文件集合,確定與源格式的文件屬性名稱(chēng)相對(duì)應(yīng)的目標(biāo)格式的文件屬性名稱(chēng)及其屬性值;內(nèi)容填充子模塊用于根據(jù)源模板和目標(biāo)模板中語(yǔ)義相同的文件標(biāo)簽的關(guān)聯(lián)關(guān)系,將源widget文件集合的內(nèi)容填充到目標(biāo)模板中,生成目標(biāo)widget文件集合。
全文摘要
本發(fā)明公開(kāi)了一種專(zhuān)用界面工具widget的格式轉(zhuǎn)換方法及裝置,用以實(shí)現(xiàn)widget在任意格式之間的轉(zhuǎn)換。widget的格式轉(zhuǎn)換方法,包括根據(jù)源widget待轉(zhuǎn)換的目標(biāo)格式從模板庫(kù)中選擇對(duì)應(yīng)的目標(biāo)模板,模板庫(kù)中的每一個(gè)模板用于描述對(duì)應(yīng)格式的widget的文件信息;對(duì)源widget進(jìn)行解包得到源widget文件集合,根據(jù)源widget文件集合對(duì)源widget進(jìn)行格式識(shí)別確定源格式,并根據(jù)源格式從模板庫(kù)中選擇對(duì)應(yīng)的源模板;根據(jù)widget本體對(duì)源模板和目標(biāo)模板中語(yǔ)義相同的文件信息進(jìn)行關(guān)聯(lián),并結(jié)合源widget文件集合生成目標(biāo)widget文件集合,對(duì)目標(biāo)widget文件集合進(jìn)行打包得到目標(biāo)widget,widget本體用于描述模板庫(kù)中各模板之間文件信息的語(yǔ)義關(guān)聯(lián)關(guān)系。本發(fā)明降低了widget的開(kāi)發(fā)成本,提高了widget的開(kāi)發(fā)效率和代碼復(fù)用率。
文檔編號(hào)G06F9/44GK101763255SQ20081024053
公開(kāi)日2010年6月30日 申請(qǐng)日期2008年12月23日 優(yōu)先權(quán)日2008年12月23日
發(fā)明者侯睿, 張?chǎng)? 朱春梅, 白曦, 程寶平 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司