国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

信息家電接口定義語(yǔ)言的研究

2014-07-03 00:54:49張小梅江曉谷
電腦知識(shí)與技術(shù) 2014年4期
關(guān)鍵詞:解析器遙控器文檔

張小梅 江曉谷

摘要:該文介紹了采用面向?qū)ο蠓椒枋鲂畔⒓译娫O(shè)備的信息家電接口定義語(yǔ)言IAIDL,然后采用XML描述信息家電IAIDL文檔并制定了IAIDL語(yǔ)言規(guī)范,并在android系統(tǒng)上實(shí)現(xiàn)了IAIDL解析器。

關(guān)鍵詞:信息家電;信息家電接口定義語(yǔ)言IAIDL;IAIDL解析器

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)04-0864-03

現(xiàn)今社會(huì)各種小型移動(dòng)智能設(shè)備越來越普及,例如智能手機(jī),平板電腦,個(gè)人數(shù)字助理(PDAs)等??梢娪靡苿?dòng)設(shè)備遠(yuǎn)程控制信息家電將是未來智能家居系統(tǒng)的發(fā)展方向。之前很多研究工作都是將重點(diǎn)放在信息家電的萬(wàn)能遙控器界面的研究上:斯坦福的ICrafter就是一個(gè)分布式信息家電接口的萬(wàn)能遙控器的框架;UIA則使用基于XML語(yǔ)言的MoDAL,該MoDAL可利用XML描述來動(dòng)態(tài)創(chuàng)建用戶接口界面;卡耐基梅隆大學(xué)近年來的研究也是集中在萬(wàn)能遙控器的動(dòng)態(tài)生成方面[1]。而本文將從現(xiàn)在發(fā)展趨勢(shì)良好的android手機(jī)系統(tǒng)出發(fā),提出了信息家電接口定義語(yǔ)言IAIDL,對(duì)該語(yǔ)言設(shè)計(jì)了統(tǒng)一的格式規(guī)范,同時(shí)對(duì)基于安卓的XML解析技術(shù)進(jìn)行了研究。

1 IAIDL語(yǔ)言與其功能

信息家電接口定義語(yǔ)言(IAIDL, Information Appliance Interface Definition Language)是一種用來定義家庭網(wǎng)絡(luò)中信息家電屬性與功能的描述語(yǔ)言[2]。

通過IAIDL語(yǔ)言的運(yùn)用,當(dāng)一種按照信息家電描述語(yǔ)言格式定義的新信息家電設(shè)備接入系統(tǒng)時(shí),該設(shè)備能夠自動(dòng)地向家庭網(wǎng)關(guān)進(jìn)行注冊(cè),所有在線的遠(yuǎn)程信息家電遙控器能自動(dòng)發(fā)現(xiàn)新信息家電設(shè)備的功能接口,從而實(shí)現(xiàn)新信息家電設(shè)備的動(dòng)態(tài)接入。為了實(shí)現(xiàn)家電之間的相互協(xié)作,各個(gè)信息家電(IA)向其他家電和用戶通過IAIDL 文檔宣告自己所具有的功能和屬性, 該IAIDL文檔通過IAIDL 編譯器之后將中間文檔存儲(chǔ)到網(wǎng)關(guān)上,以提供給萬(wàn)能遙控器進(jìn)行訪問從而實(shí)現(xiàn)對(duì)各個(gè)家電的控制。

2 IAIDL格式規(guī)范

可擴(kuò)展標(biāo)記語(yǔ)言 (Extensible Markup Language, XML) 的設(shè)計(jì)目標(biāo)[3],強(qiáng)調(diào)在互聯(lián)網(wǎng)上的簡(jiǎn)單性,普遍性和實(shí)用性。用XML 文檔來表示IAIDL 是合適的。我們定義出DTD標(biāo)準(zhǔn)文件作為XML語(yǔ)言的約束, 從而統(tǒng)一XML語(yǔ)言的描述方式。不同的公司只需要根據(jù)DTD文件,都能建立XML文件且可以進(jìn)行驗(yàn)證,這樣就可以實(shí)現(xiàn)網(wǎng)絡(luò)共享和數(shù)據(jù)交互。DTD(Document Type Definition) 是一套關(guān)于標(biāo)記符的語(yǔ)法規(guī)則,可通過比較XML文檔和DTD文件來看文檔是否符合規(guī)范,這樣就為我們進(jìn)一步研究XML解析技術(shù)打下了基礎(chǔ)。

以信息空調(diào)為例,XML文檔的一般性規(guī)范格式為:

對(duì)以上標(biāo)準(zhǔn)的具體分析如下:

每個(gè)家電都有如下屬性:

name: 家電類型的唯一標(biāo)識(shí),例如是空調(diào)還是電視機(jī);

manufacturer:家電的廠商,例如是海爾或者TCL.

對(duì)于顯示狀態(tài)列表,以空調(diào)的溫度狀態(tài)為例,以XML描述如下:

其中,

length/height:規(guī)定動(dòng)態(tài)生成狀態(tài)面板的長(zhǎng)度與高度;

X/Y:動(dòng)態(tài)生成的狀態(tài)面板的左上角X,Y坐標(biāo)

State:信息家電的某個(gè)狀態(tài)信息,以空調(diào)為例,state有溫度,開關(guān)狀態(tài),風(fēng)強(qiáng)等等。

在XML文件中每增加一個(gè)節(jié)點(diǎn)作為的子節(jié)點(diǎn),即對(duì)相應(yīng)電器增加一個(gè)可顯示的狀態(tài)信息。

對(duì)于控制狀態(tài)列表,以空調(diào)的溫度狀態(tài)為例,以XML描述如下:

在XML文件中每增加一個(gè)節(jié)點(diǎn)作為的子節(jié)點(diǎn),即對(duì)相應(yīng)電器增加一個(gè)控制操作。

3 PULL解析技術(shù)

在Android中, 我們最常用的解析器就是DOM解析器、SAX解析器和PULL解析器。其中PULL解析器很小巧,解析速度快,非常適合在Android移動(dòng)設(shè)備中使用,Android系統(tǒng)內(nèi)部也是采用PULL解析器對(duì)XML文件進(jìn)行解析的[4],因此我們考慮使用PULL解析技術(shù)。

我們首先設(shè)置一個(gè)JAVA類來存放數(shù)據(jù),通過這個(gè)類我們存儲(chǔ)讀取的IAIDL文件所有的節(jié)點(diǎn)和數(shù)據(jù)。PULL在解析IAIDL文件時(shí),IAIDL文件是以文件流的形式輸入的。解析器先將全部文件數(shù)據(jù)讀到一個(gè)字符數(shù)組中,然后再開始一個(gè)一個(gè)字符往后讀取。PULL解析器每讀完一段字符后不會(huì)自動(dòng)往后解析了,所以我們要使用API pullParser.next()進(jìn)入下一事件。由一個(gè)switch結(jié)構(gòu)來判斷這個(gè)事件的類型,并對(duì)不同類型執(zhí)行不同的操作。

JAVA PULL API主要提供了五類事件:

START_DOCUMENT

文件開始,解析器還沒有讀取任何輸入。

START_TAG

解析器讀到了一個(gè)開始節(jié)點(diǎn)。

TEXT

解析器取得了一個(gè)節(jié)點(diǎn)后文本。

END_TAG

解析器讀到了一個(gè)結(jié)束節(jié)點(diǎn)。

END_DOCUMENT

文件結(jié)束,解析過程結(jié)束。

我們以空調(diào)的IAIDL文件為例,解析過程如下:

IAIDL解析器PULLParser的運(yùn)行情況良好,可成功將IAIDL文檔進(jìn)行解析和存儲(chǔ),并可將文檔中數(shù)據(jù)顯示在android應(yīng)用程序中。該文提出的IAIDL語(yǔ)言與其規(guī)范和IAIDL解析技術(shù)的實(shí)現(xiàn)為后續(xù)信息家電萬(wàn)能遙控見面的動(dòng)態(tài)生成,遠(yuǎn)程遙控信息家電等打下了基礎(chǔ)。

參考文獻(xiàn):

[1] Shieh Wen-Gong, Wang Jian-Min, Horng Wen-Bing.Secure remote control model for information appliances[C] .Intelligence and Security Informatics,2008. IEEE International Conference , 2008: 222 – 224.

[2] 陽(yáng)俐君,劉宏.信息家電接口定義語(yǔ)言(IAIDL)的研究[J].計(jì)算機(jī)與現(xiàn)代化,2007(4):13-16.

[3] Android實(shí)現(xiàn)XML解析技術(shù)[EB/OL].http://www.2cto.com/kf/201202/121173.html.

[4] XML PULL[EB/OL].http://www.xmlpull.org/.

猜你喜歡
解析器遙控器文檔
有人一聲不吭向你扔了個(gè)文檔
基于多解析器的域名隱私保護(hù)機(jī)制
時(shí)間遙控器
爸媽有個(gè)“遙控器”
基于Wireshark的列控中心以太網(wǎng)通信協(xié)議解析器的研究與實(shí)現(xiàn)
行走的飛行遙控器
如何防御DNS陷阱?常用3種DNS欺騙手法
一種基于無(wú)關(guān)DNS的通信隱私保護(hù)技術(shù)研究
電子世界(2018年14期)2018-04-15 16:14:25
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
清涧县| 鄂州市| 湟中县| 武宣县| 金寨县| 嘉峪关市| 商城县| 桃园市| 阿拉善左旗| 子洲县| 香港| 霞浦县| 泰来县| 县级市| 治多县| 双辽市| 太谷县| 内丘县| 沈阳市| 赞皇县| 南郑县| 贵州省| 宁化县| 巴彦淖尔市| 永嘉县| 苗栗县| 东安县| 西乌珠穆沁旗| 河西区| 来宾市| 偏关县| 三原县| 南昌市| 保亭| 讷河市| 潍坊市| 鸡东县| 六安市| 章丘市| 大冶市| 景德镇市|