(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式超文本類格式解析設(shè)計(jì)與實(shí)現(xiàn)研究.pdf_第1頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式超文本類格式解析設(shè)計(jì)與實(shí)現(xiàn)研究.pdf_第2頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式超文本類格式解析設(shè)計(jì)與實(shí)現(xiàn)研究.pdf_第3頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式超文本類格式解析設(shè)計(jì)與實(shí)現(xiàn)研究.pdf_第4頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式超文本類格式解析設(shè)計(jì)與實(shí)現(xiàn)研究.pdf_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式超文本類格式解析設(shè)計(jì)與實(shí)現(xiàn)研究.pdf.pdf 免費(fèi)下載

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

摘要 摘要 隨著互聯(lián)網(wǎng)的高速發(fā)展和各種數(shù)字技術(shù)的不斷進(jìn)步,信息數(shù)字化浪潮席卷 全球,超文本類格式文檔成為應(yīng)用最為廣泛的信息載體;另一方面,消費(fèi)電子、 計(jì)算機(jī)、通信一體化趨勢(shì)日趨明顯,嵌入式技術(shù)成為研究熱點(diǎn),特別是其中的 手持閱讀設(shè)備的快速發(fā)展,使得超文本類格式的文檔在這些設(shè)備上的有效性閱 讀問(wèn)題日益顯現(xiàn)。 本文的首要工作是通過(guò)對(duì)各種超文本類格式的裂解和對(duì)屏幕閱讀特征的分 析,確立了以設(shè)計(jì)單文檔類超文本格式解析核為中心的解析器軟件開(kāi)發(fā)流程, 并為解析器設(shè)計(jì)了分層的系統(tǒng)架構(gòu),隨后詳細(xì)探討了超文本解析器的模塊化設(shè) 計(jì)結(jié)構(gòu),對(duì)其中關(guān)鍵技術(shù)進(jìn)行了闡述和分析。本文提出了一種全新的屏幕適配 探測(cè)機(jī)制,克服了流式版面格式給文檔解析工作帶來(lái)的困難,過(guò)濾了當(dāng)前屏幕 閱讀無(wú)效的內(nèi)容,優(yōu)化了解析器的性能,降低了對(duì)嵌入式系統(tǒng)處理能力和內(nèi)存 配置的要求。同時(shí),針對(duì)基于r s s 新聞推送的無(wú)線網(wǎng)絡(luò)應(yīng)用這一特殊需求,提 出了模板化內(nèi)容過(guò)濾的優(yōu)化方案,過(guò)濾了與閱讀主題無(wú)關(guān)的內(nèi)容區(qū)域。本文所 提出的超文本解析器在多款手持閱讀器上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)果表明解析器能 夠滿足基于屏幕閱讀的嵌入式應(yīng)用需求。 關(guān)鍵詞:手持閱讀超文本類格式格式解析屏幕適配探測(cè)模板化內(nèi)容過(guò)濾 a b s t r a c t ab s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e ta n dd i g i t a lt e c h n o l o g ya d v a n c e si n d i g i t a li n f o r m a t i o nw a v es w e e p i n ga c r o s st h ew o r l d ,h y p e r t e x td o c u m e n tb e c o m et h e m o s tw i d e l yu s e di n t e r n e ti n f o r m a t i o nc a r d e r ;o nt h eo t h e rh a n d ,3 c ( c o n s u m e r e l e c t r o n i c s ,c o m p u t e r ,c o m m u n i c a t i o n s ) i n t e g r a t i o nt r e n dh a sb e c o m em o r ee v i d e n t a st h er e s e a r c hf o c u so fe m b e d d e dt e c h n o l o g y ,e f f e c t i v e r e a d i n gp r o b l e m o f h y p e r t e x td o c u m e n to nh a n d h e l dd e v i c e sh a sb e e ns h o w n o nt h eb a s i so fv a r i o u sc a t e g o r i e sh y p e r t e x tf o r m a tc r a c k i n ga n ds c r e e nr e a d i n g f e a t u r ea n a l y s i s ,t h i sp a p e re s t a b l i s h e sh y p e r t e x tp a r s e ra i ma tm o n o f i l ea st h ec o r eo f t h er e a d e r ss o f t w a r ed e v e l o p m e n tp r o c e s s ,a n dd e s i g n st h em u l t i l a y e ra r c h i t e c t u r e t h ep a p e rd i s c u s s e sm o d u l a rs t r u c t u r ed e s i g no fh y p e r t e x tp a r s e ri nd e t a i l ,a n d a n a l y s i si t sk e yt e c h n o l o g i e s an e wm e c h a n i s mc a l l e ds c r e e nm a t c h i n gd e t e c t i o ni s p r e s e n t e dt oo v e r c o m ed i f f i c u l t i e so ff l e x i b l el a y o u t ,w h i c ha l s of i l t e r sv o i dc o n t e n t o fc u r r e n ts c r e e nr e a d i n g ,a n do p t i m i z e st h ep e r f o r m a n c eo fh y p e r t e x tp a r s e r ,a n d r e d u c e st oal a r g ee x t e n to nt h ee m b e d d e ds y s t e mp r o c e s s i n gc a p a b i l i t i e sa n dm e m o r y c o n f i g u r a t i o nr e q u i r e m e n t s c o n c e r n i n gt h es p e c i a la p p l i c a t i o no fr s s n e w sp u s ho n t h ew i r e l e s sn e t w o r k ,a n o p t i m i z a t i o ns c h e m ec a l l e dm o d e lc o n t e n t f i l t e ri s p r e s e n t e dt oo p t i m i z et h er e a d e rb a s e do nt h eu n d e r s t a n d i n go fl a y o u t t h eh y p e r t e x t p a r s e rh a sb e e ne x p e r i m e n t a lv a l i d a t e do nn u m b e r so fh a n d h e l dd e v i c e s ,a n dt h e r e s u l t ss h o wt h ep a r s e rc a ne n t i r e l ym e e tt h en e e d so fe m b e d d e da p p l i c a t i o n sb a s e d o ns c r e e nr e a d i n g k e yw o r d s :h a n d h e l dr e a d i n g ,h y p e r t e x td o c u m e n t ,f o r m a tp a r s e r ,s c r e e n m a t c h i n gd e t e c t i o n ,m o d e lc o n t e n tf i l t e r i i 南開(kāi)大學(xué)學(xué)位論文版權(quán)使用授權(quán)書 本人完全了解南開(kāi)大學(xué)關(guān)于收集、保存、使用學(xué)位論文的規(guī)定, 同意如下各項(xiàng)內(nèi)容:按照學(xué)校要求提交學(xué)位論文的印刷本和電子版 本;學(xué)校有權(quán)保存學(xué)位論文的印刷本和電子版,并采用影印、縮印、 掃描、數(shù)字化或其它手段保存論文;學(xué)校有權(quán)提供目錄檢索以及提供 本學(xué)位論文全文或者部分的閱覽服務(wù);學(xué)校有權(quán)按有關(guān)規(guī)定向國(guó)家有 關(guān)部門或者機(jī)構(gòu)送交論文的復(fù)印件和電子版;在不以贏利為目的的前 提下,學(xué)??梢赃m當(dāng)復(fù)制論文的部分或全部?jī)?nèi)容用于學(xué)術(shù)活動(dòng)。 學(xué)位論文作者簽名: 島灣 w 曙年鄉(xiāng)月7 日 經(jīng)指導(dǎo)教師同意,本學(xué)位論文屬于保密,在年解密后適用 本授權(quán)書。 指導(dǎo)教師簽名:學(xué)位論文作者簽名: 解密時(shí)間:年月日 各密級(jí)的最長(zhǎng)保密年限及書寫格式規(guī)定如下: 南開(kāi)大學(xué)學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下,進(jìn)行 研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文 的研究成果不包含任何他人創(chuàng)作的、己公開(kāi)發(fā)表或者沒(méi)有公開(kāi)發(fā)表的 作品的內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集 體,均已在文中以明確方式標(biāo)明。本學(xué)位論文原創(chuàng)性聲明的法律責(zé)任 由本人承擔(dān)。 學(xué)位論文作者簽名: w 可8 年 日 t 曳訂、 y 1 孑月 寸爻弓 第一章引言 第一章引言 閱讀是人從符號(hào)中獲得意義的一種社會(huì)實(shí)踐活動(dòng)和心理過(guò)程,也是信息知 識(shí)的生產(chǎn)者和接受者借助于文本實(shí)現(xiàn)的一種信息知識(shí)傳遞過(guò)程【l 】。這里所說(shuō)的 “文本在傳統(tǒng)習(xí)慣中多指紙質(zhì)圖書。千百年來(lái),雖然人類文明不斷演進(jìn),人 們閱讀的平臺(tái)卻基本沒(méi)有改變,形成很強(qiáng)的傳統(tǒng)閱讀習(xí)慣。但當(dāng)以手機(jī)、手持 閱讀器為代表的新媒體出現(xiàn)后,人們的閱讀習(xí)慣開(kāi)始呈現(xiàn)多元化趨勢(shì)。 多元化閱讀 2 1 涵蓋閱讀內(nèi)容多元化和閱讀載體多元化兩個(gè)方面。內(nèi)容多元化 指閱讀的內(nèi)容不再以文字為主,更增加了影像、圖片和聲音等,進(jìn)入網(wǎng)絡(luò)時(shí)代 以來(lái),以h t m l 格式為代表的超文本類格式的廣泛應(yīng)用,使人類閱讀的歷史進(jìn) 入了一個(gè)嶄新的時(shí)代;載體的多元化意指除紙本以外,各種磁性材料、光盤以 及各種閱讀終端的應(yīng)用,特別是手持閱讀器的出現(xiàn),使得人們隨時(shí)隨地隨心所 欲的高品質(zhì)閱讀成為可能。 第一節(jié)手持閱讀的發(fā)展 曾幾何時(shí),人們漸漸養(yǎng)成了“看 書的習(xí)慣,但閱讀的平臺(tái)并不是紙質(zhì)圖書 而是各種顯示屏幕,“手持閱刮3 】 也成為新的關(guān)鍵詞。隨著數(shù)字技術(shù)的不斷進(jìn) 步,各種手持設(shè)備的多媒體應(yīng)用出現(xiàn)了爆炸式增長(zhǎng),用手機(jī)讀小說(shuō)、看報(bào)紙都 變得輕而易舉,一些m p 3 和m p 4 也兼容了閱讀功能。手持閱讀利用新技術(shù),創(chuàng) 造了全新的閱讀體驗(yàn),有利于將閱讀的普及程度推廣到極致1 4 1 。 1 1 1 類紙顯示技術(shù) 在信息技術(shù)高速發(fā)展的今天,人們對(duì)于信息的獲取有8 0 來(lái)自于視覺(jué),而信 息的顯示是依靠顯示載體來(lái)實(shí)現(xiàn)的,因此顯示載體技術(shù)在信息技術(shù)的發(fā)展過(guò)程 中占據(jù)了十分重要的地位。 陰極射線管( c r t ) 仍然是目前應(yīng)用最為廣泛的光電顯示設(shè)備【5 l ,其市場(chǎng)占 有額達(dá)到6 0 ,但由于體積和功耗的問(wèn)題,c r t 很難應(yīng)用到手持閱讀領(lǐng)域。而 目前在p d a 、筆記本電腦和智能手機(jī)中廣泛應(yīng)用的l c d 由于其容易導(dǎo)致視覺(jué)疲 1 第一章引言 勞、耗電等多方面的原因并不十分適用于手持電子閱讀器這種以靜態(tài)長(zhǎng)時(shí)間閱 讀為主的應(yīng)用。那么究竟什么樣的顯示技術(shù)。才能既符合手持閱讀設(shè)備的要求, 又能給讀者提供較為舒適的視覺(jué)感受呢? 傳統(tǒng)閱讀方式所采用的紙張為研究人員提供了最佳的參照物,經(jīng)過(guò)多年的努 力,研究人員終于在這個(gè)領(lǐng)域取得了突破性的進(jìn)展類紙( p a p e t l i l 【e ) 顯示 技術(shù)”l ,它的顯示特性介于紙和電子顯示設(shè)備之間,并且盡可能多的綜合了雙方 的優(yōu)點(diǎn)。目前,此種顯示設(shè)備主要分為兩類p l :一種是非液晶模式器件如e - i n k ( e l c c l l o n i ci n k ,電子墨水) 或e - p a p e r ( e l e c t r o n i cp a p e r ,電子紙) 另一種是 反射型渡晶顯示器件如c h l c d ( 膽甾相液晶顯示器件) 和b t n - l c d ( 雙穩(wěn)態(tài) 扭曲向列液晶顯示器件) 。圖1 1 給出了電子紙顯示設(shè)備的展示。 景k ii n 凸 一 p a p e i 【i n k d is p l a p a p e - _ _ - _ 一 d i5p l j t 一- 。 ,。= :? =斟 忡電 t 冪教暈咖壘尺寸電 t 圖1 1 電子紙顯示設(shè)備的展示 e - i n k i s 技術(shù)主要得益于納米技術(shù)、徽膠囊技術(shù)、微電子技術(shù)和材科改性等材 料技術(shù)及其器件集成技術(shù)的發(fā)展。納米電子墨水顯示技術(shù)原理是把帶電的納米 微粒子分散在懸浮液體中構(gòu)成膠體當(dāng)對(duì)該分散體系施加電場(chǎng)時(shí)帶電粒子就會(huì) 在電場(chǎng)的作用下發(fā)生電泳,使得帶有一定顏色和電荷( 正或負(fù)) 的粒子定向泳 動(dòng),同時(shí)透過(guò)透明電極構(gòu)成顯示,如圖l2 所示。 世界許多知名硬件廠商仍然在為推動(dòng)閱讀器技術(shù)而努力。目前采用新型。電 子紙”技術(shù)的手持閱讀器,其顯示屏的分辨率能夠達(dá)到每英寸1 7 0 像素遺相 當(dāng)于報(bào)紙的印刷質(zhì)量,并且屏幕能從各個(gè)方向閱讀,不受光線明亮或陰暗的限 制。技術(shù)的努力始終是在試圖運(yùn)步跨越紙書這道門檻,讓人們真正感受到戴字 閱讀的方便和魅力。 2 k 端嚼 4 蜃 第一章引言 麟礦螂 庭晨電掇刪_ - 0 _ 瞄- 宣誓_ 目0 田- _ _ _ 1 1 2 手持閱讀器 圖1 j 電子墨水原理示意圖 電子閱讀器一般是指具備各種電子讀物顯示和存儲(chǔ)功能,具有閱讀管理及 操作界面井以閱讀為主要功能的專用電子顯示終端設(shè)備。根據(jù)硬件設(shè)備的不 同,電子閱讀器可以分為:p c 筆記本閱讀囂、p n v 智能手機(jī)閱讀器以及專用手 持閱讀器等。幾種電子閱讀器的代表產(chǎn)品如圖1 3 所示。 p c 筆記本罔讀囂智能手機(jī)閱讀罌 專用手持閱讀囂 田1 3 電子閱讀囂按硬件設(shè)魯分類 熹一 第一章引言 個(gè)人計(jì)算機(jī)( p e r s o n a lc o m p u t e r ,簡(jiǎn)稱p c ) 由于移動(dòng)性較差,無(wú)法像閱讀傳 統(tǒng)書籍般隨意,讀者只能坐在顯示器前閱讀,即使是使用筆記本來(lái)閱讀書籍同 樣顯得十分笨重,并且長(zhǎng)時(shí)間使用l c d 顯示屏?xí)谷搜郛a(chǎn)生疲勞感。人們更希 望隨心所欲隨時(shí)隨地的閱讀,因此很多廠商開(kāi)始關(guān)注便于攜帶的智能手機(jī)和專 用手持閱讀設(shè)備。 智能手機(jī)( s m a r tp h o n e ) 集成了電話、計(jì)算、游戲、網(wǎng)絡(luò)和閱讀等多種功能, 基本與手掌一樣大小,便于隨身攜帶。但智能手機(jī)的有效顯示區(qū)域太小,每一 屏顯示的信息量有限,給閱讀書籍帶來(lái)了極大的不便。智能手機(jī)只是將閱讀作 為一種附加功能提供給用戶,無(wú)法實(shí)現(xiàn)隨心所欲的閱讀。 專用閱讀器一般要比智能手機(jī)大,和3 2 開(kāi)書大小相當(dāng),它不僅體積小,重 量輕,便于攜帶,而且顯示區(qū)域較符合人們的閱讀習(xí)慣,分辨率較高,能夠滿 足讀者的閱讀需求。專用閱讀器能實(shí)現(xiàn)較簡(jiǎn)單的查詢和檢索,作筆記、批注、 字體縮放等功能。一個(gè)專用的閱讀器可以用內(nèi)置的f l a s hm e m o r y 存儲(chǔ)上百本書, 讀者只需一個(gè)小小的閱讀器就可以閱讀大量的書籍,同時(shí)還可以查閱字典,給 讀者提供了便利一j 。 表1 1 從存儲(chǔ)量,查詢,閱讀,光線要求,顯示效果等方面對(duì)幾種閱讀器和 傳統(tǒng)書籍進(jìn)行了比較【l0 1 。 表1 1 幾種閱讀器和傳統(tǒng)書籍的比較 4 第一章引言 手持閱讀器凸現(xiàn)了許多傳統(tǒng)紙質(zhì)圖書沒(méi)有的優(yōu)點(diǎn),例如能存放大量的圖書 內(nèi)容,能夠檢索,可以下載、更換圖書內(nèi)容;還使得電子書脫離電腦,真正成 為能夠隨身攜帶、自由移動(dòng)的“書”。隨著電子書產(chǎn)業(yè)的啟動(dòng)和發(fā)展,手持閱讀 設(shè)備必將成為未來(lái)閱讀設(shè)備市場(chǎng)的主流。 1 2 1 超文本類格式 第二節(jié)超文本類格式的發(fā)展 1 9 6 5 年托德尼爾遜( t e dn e l s o n ) 創(chuàng)用了“超文本( h y p e r t e x t ) 一詞【1 1 1 。 他認(rèn)為“超文本是一系列的文本塊,由可供讀者選擇不同通路的鏈接點(diǎn)連接而 成,在互動(dòng)的屏幕上閱讀效果最好。 1 9 8 9 年互聯(lián)網(wǎng)之父蒂姆伯納斯李( t i m b e m e r s l e e ) 以“萬(wàn)維網(wǎng)( w 礬dw i d ew 曲) 的形式實(shí)現(xiàn)了超文本。超文本技 術(shù)按信息之間的關(guān)系非線性地存儲(chǔ)、組織、管理和瀏覽信息,可以巧妙地將自 然語(yǔ)言文本與計(jì)算機(jī)交互式地轉(zhuǎn)移或動(dòng)態(tài)顯示線性文本的能力結(jié)合起來(lái),從而 在文檔內(nèi)容和文檔之間實(shí)現(xiàn)信息的通聯(lián)。2 0 世紀(jì)后期,超文本作為互聯(lián)網(wǎng)的符 號(hào)系統(tǒng)和話語(yǔ)體系,提供了豐富的信息和語(yǔ)境,尤其是網(wǎng)絡(luò)超文本,對(duì)其的探 究如浩瀚海洋般具有無(wú)限性,為集成全人類的智慧提供了條件。 所謂超文本實(shí)際上是將純文本和格式化指令混合在一起來(lái)反映格式化的文 本,以此實(shí)現(xiàn)多個(gè)非連續(xù)文本之間的交叉連接。下面對(duì)幾種目前比較常用的超 文本類格式做一些簡(jiǎn)要描述。 1 h t m l 格式 h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) 【1 2 】是萬(wàn)維網(wǎng)文檔發(fā)布和瀏覽的基本格 式,它具有很多特點(diǎn),如獨(dú)立于平臺(tái)、結(jié)構(gòu)化設(shè)計(jì),特別是超文本鏈接,使之 成為萬(wàn)維網(wǎng)最流行的文檔格式。表1 2 對(duì)h t m l 格式的特點(diǎn)進(jìn)行了簡(jiǎn)單闡述。 表1 2 h t m l 格式的特點(diǎn) 特點(diǎn)描述 獨(dú)立于平臺(tái) 結(jié)構(gòu)化設(shè)計(jì) 超文本鏈接 即獨(dú)立于計(jì)算機(jī)硬件和操作系統(tǒng),使得文檔可以在具有不同性能( 即字體、圖形和 顏色差異) 的計(jì)算機(jī)上以相似的形式顯示文檔內(nèi)容 允許某些高級(jí)應(yīng)用,如h t m l 文檔和其他格式文檔問(wèn)互相轉(zhuǎn)換以及搜索文本數(shù)據(jù)庫(kù) 允許文檔中的任何文寧或詞組參照另一文檔,可在不同文檔之間及文檔內(nèi)部漫游 5 第一章引言 自1 9 8 9 年以來(lái),h t m l 及萬(wàn)維網(wǎng)的使用和發(fā)展產(chǎn)生了巨大的變化。在早期 的瀏覽器設(shè)計(jì)中,設(shè)計(jì)師們紛紛將自己需要的特性添加到h t m l 中,包括直接 插入圖形。當(dāng)大量照片和圖表放入到文檔中后,萬(wàn)維網(wǎng)的規(guī)模出現(xiàn)了爆炸性的 增長(zhǎng)。h t m l 的新標(biāo)記不斷地被一個(gè)又一個(gè)的瀏覽器引入,有一些新標(biāo)記流行 起來(lái),而另外一些又消失了,有些增加部分設(shè)計(jì)得很糟,甚至不遵從s g m l 規(guī) 范。到了1 9 9 4 年,h t m l 幾乎以失控的狀態(tài)發(fā)展。1 9 9 5 年1 1 月,在i e t f ( i n t e r n e t e n 西n e e r i n g t a s kf o r c e ,互聯(lián)網(wǎng)工程任務(wù)組) 的主持下,h t m l 被形式化成為一 種s g m ld t d ,稱之為h t m ll e v d2 ( h t m l2 0 ,由伯納斯李最初設(shè)計(jì)的h t m l 被定義為l e v e l1 ) 。標(biāo)準(zhǔn)化之后,h t m l 可以安全地?cái)U(kuò)展到將來(lái)各個(gè)級(jí)別的版本。 盡管有關(guān)各方從未達(dá)成完全一致的共識(shí),萬(wàn)維網(wǎng)聯(lián)盟h t m l 工作組( w o r l dw i d e w e bc o n s o r t i u m sh t m lw o r k i n gg r o u p ) 還是集中了萬(wàn)維網(wǎng)發(fā)展的成果,于1 9 9 8 年推出了h t m l4 0 版本。目前,h t m l 格式已成為i n t e r n e t 上進(jìn)行數(shù)據(jù)交換的 最主要格式。 2 x h t m l 格式 x h t m l ( e x t e n s i b l eh y p e r t e x tm a r k u pl a n g u a g e ,可擴(kuò)展超文本標(biāo)記語(yǔ)言) 【l3 】是被設(shè)計(jì)用來(lái)代替h t m l 的,由w 3 c 組織于2 0 0 0 年發(fā)布1 0 版本,目前最 新版本為2 0 。與h t m l 相比,x h t m l 更簡(jiǎn)潔更嚴(yán)謹(jǐn),同時(shí)它的可擴(kuò)展性和靈 活性將適應(yīng)未來(lái)網(wǎng)絡(luò)應(yīng)用更多的需求。 x h t m l 實(shí)際上是h t m l 和x m l 的一種折中,它不允許標(biāo)簽的擴(kuò)展,從而 繼承h t m l 的語(yǔ)義性,擁有現(xiàn)代瀏覽器都可以識(shí)別的語(yǔ)義結(jié)構(gòu),以適應(yīng)目前互 聯(lián)網(wǎng)應(yīng)用的大環(huán)境,同時(shí)用x m l 的規(guī)則規(guī)范它,讓它繼承完美的代碼結(jié)構(gòu)以便 以后順利過(guò)渡。 3 c h m 格式 c h m 1 4 格式是微軟公司于1 9 9 8 年推出的基于h t m l 文件特性的幫助文件 系統(tǒng),以替代早先的w i n h d p 幫助系統(tǒng),在w i n d o w s 9 8 操作系統(tǒng)中把c h m 類 型文件稱作“己編譯的h t m l 幫助文件”。c h m 同樣支持a c f i v e x 、j a v aa p p l e t 、 f l a s h 、圖像文件( g i f 、j p e g 、p n g ) 、音頻視頻文件( a u 、m i d i 、w a v 、a v i ) 等,并可以通過(guò)u r l 地址與i n t e r n e t 連接。 在w i n d o w s 9 8 以后的w i n d o w s 版本中,c h m 文件的運(yùn)行程序( h h e x e ,2 7 k ) 已是操作系統(tǒng)的一部分,它控制網(wǎng)頁(yè)瀏覽器來(lái)解釋并運(yùn)行c h m 文件中的元素, 這樣的好處就是能跨平臺(tái)運(yùn)行c h m 文件,只要有不同平臺(tái)上的運(yùn)行器和瀏覽 6 第一章引言 器,c h m 文件就不再需要重新進(jìn)行編譯而直接使用,在不同語(yǔ)言的操作系統(tǒng)下, c h m 文件也會(huì)自動(dòng)顯示對(duì)應(yīng)語(yǔ)種的菜單。 c h m 格式文檔是由多個(gè)h t m l 格式文檔編譯生成的,編譯后的c h m 格式 文檔較之先前的h t m l 文檔增加了目錄等特點(diǎn)。表1 3 對(duì)c h m 格式的特點(diǎn)進(jìn)行 了簡(jiǎn)單闡述。 表1 3c h m 格式的特點(diǎn) 特點(diǎn) 描述 文件體積小 檢索方便 契合度高 支持反編譯 自動(dòng)識(shí)別語(yǔ)言類型 c h m 對(duì)文本文件的壓縮采用了高壓縮比,文件體積小,便于分發(fā)和傳播 c 刪文件擁有性能優(yōu)異、快速的全文檢索,特別在海量文字槍索上速度較快。原因是 c h m 編譯器在編譯的時(shí)候會(huì)先分析網(wǎng)頁(yè)源文件的關(guān)鍵詞并制作成索引信息存放在c 刪 文件里 c h m 文件的閱讀器由操作系統(tǒng)直接提供,而且這是個(gè)類似i e 的閱讀器或?yàn)g覽器 c 刪格式類似壓縮文件,可隨意將h t m l 文件壓縮在c 刪里,并且隨時(shí)可以反編譯, 以便二次編輯后再制作成c 刪文件 在不同語(yǔ)言的操作系統(tǒng)下,c h m 文件也會(huì)自動(dòng)顯示對(duì)應(yīng)語(yǔ)種的菜單,按鈕等外觀上 的文字也會(huì)自動(dòng)顯示對(duì)應(yīng)語(yǔ)種的文字 c h m 格式所擁有的目錄跳轉(zhuǎn)、全文檢索等特點(diǎn),使之特別適合于文檔資料、 長(zhǎng)篇小說(shuō)的閱讀,因此c h m 格式不僅受到了幫助文檔提供者的青睞,而且被廣 泛應(yīng)用于大量網(wǎng)絡(luò)連載小說(shuō)的閱讀傳播。 4 l i t 格式 l i t 1 5 格式是微軟公司于2 0 0 0 年開(kāi)發(fā)的軟件m i c r o s o f tr e a d e r 的一種專有的 電子書文件格式。l i t 文檔采用l z x 壓縮算法對(duì)多個(gè)h t m l 文件進(jìn)行壓縮,并 加入出版控制所需的文件而形成。l i t 格式與p d f 、p d b 等格式相比,擁有更 加完善的證書管理機(jī)制,正被越來(lái)越多的出版商用來(lái)出版電子書。但該格式對(duì) 中文的支持不好,目前國(guó)內(nèi)還沒(méi)有開(kāi)始大量使用這種文件格式來(lái)制作和出版電 子讀物。 5 e p u b 格式 e p u b 1 6 格式是2 0 0 7 年國(guó)際數(shù)字出版論壇( i d p f ,i n t e r n a t i o n a ld i g i t a l p u b l i s h i n gf o r u m ) 所確定的電子圖書格式,目前已經(jīng)有包括a d o b e 、索尼在內(nèi) 的多家公司計(jì)劃使用這一格式。e p u b 文檔由多個(gè)x h t m l 文件采用z i p 壓縮算 法壓縮形成,包含有三種開(kāi)放格式標(biāo)準(zhǔn),分別是開(kāi)放出版結(jié)構(gòu)( o p s ,o p e n p u b l i c a t i o ns t r u c t u r e ) 、開(kāi)放封裝格式( o p f ,o p e np a c k a g i n gf o r m a t ) 、開(kāi)放容 7 第一章引言 器格式( o c f ,o p e nc o n t a i n e rf o r m a t ) 。與c h m 格式一樣,e p u b 格式內(nèi)部包 含目錄、頁(yè)面定位信息等數(shù)據(jù)段。 1 _ 2 - 2 屏幕閱讀的特征 手持閱讀的用戶體驗(yàn)是通過(guò)閱讀器的屏幕來(lái)呈現(xiàn)的,這罩的屏幕有如傳統(tǒng)書 籍中的紙張,因此“頁(yè)”的概念在閱讀過(guò)程中尤為重要,用戶通過(guò)“頁(yè) 來(lái)定 位當(dāng)前閱讀內(nèi)容。從格式結(jié)構(gòu)和文檔解析的角度,可將常用格式劃分為固定版 面格式和流式版面格式兩種類型 1 7 1 。表1 4 給出了分類依據(jù)以及代表格式。 表1 4 文檔格式從格式解析的角度進(jìn)行分類 我們看到,固定版面格式具備格式內(nèi)部有明確的分頁(yè)標(biāo)記,即數(shù)據(jù)信息按照 頁(yè)為單位進(jìn)行組織,且無(wú)論閱讀器的屏幕大小如何改變,文檔版面始終不變的 特征【l 引。與之相對(duì)應(yīng),流式版面格式內(nèi)部沒(méi)有分頁(yè)標(biāo)記,解析時(shí)由解析程序臨 時(shí)進(jìn)行分頁(yè)。顯而易見(jiàn),超文本類格式都屬于流式版面格式。 流式版面格式是為了便于內(nèi)容編輯或數(shù)據(jù)交換而設(shè)計(jì)的格式,它重視數(shù)據(jù)勝 于版面。在對(duì)流式版面格式進(jìn)行解析時(shí),只能順序解析,并且由于沒(méi)有定位信 息,數(shù)據(jù)內(nèi)容的顯示位置是由解析器計(jì)算得出的,因此顯示區(qū)域大小的變化會(huì) 引發(fā)版面相對(duì)位置的變化。 流式版面格式的這些特點(diǎn)給解析器處理這類文檔帶來(lái)的困難是顯而易見(jiàn)的, 由于無(wú)法確定每一頁(yè)開(kāi)始時(shí)顯示數(shù)據(jù)的位置,只能從文件頭順序解析,會(huì)造成 頁(yè)數(shù)越大的頁(yè)所需的解析時(shí)問(wèn)越長(zhǎng)。這也是超文本解析器必須解決的問(wèn)題之一。 8 第一章引言 第三節(jié)問(wèn)題提出 隨著互聯(lián)網(wǎng)的高速發(fā)展和各種數(shù)字技術(shù)的不斷進(jìn)步,超文本類格式文檔已 經(jīng)成為應(yīng)用最為廣泛的信息載體;另一方面,消費(fèi)電子、計(jì)算機(jī)、通信一體化 趨勢(shì)日趨明顯,嵌入式技術(shù)成為研究熱點(diǎn),特別是其中的手持閱讀設(shè)備的快速 發(fā)展,使得超文本類格式的文檔在這些設(shè)備上的有效性閱讀問(wèn)題日益顯現(xiàn)。 這里提出的有效性閱讀涵蓋“性能高效”和“內(nèi)容有效”兩個(gè)方面?!靶阅?高效 是指在克服流式版面格式給文檔處理帶來(lái)困難的同時(shí),快速地定位到由 頁(yè)碼表征的目標(biāo)頁(yè)面,高效地完成屏幕顯示,其中的關(guān)鍵問(wèn)題是需要打破超文 本文檔解析領(lǐng)域常用的“先完整解析后排版顯示 的傳統(tǒng)設(shè)計(jì)思想的枷鎖,尋 求一種適合于面向屏幕閱讀的嵌入式應(yīng)用的超文本格式解析設(shè)計(jì)思想?!皟?nèi)容有 效 是指在以h t m l 文檔為代表的超文本文檔中,存在著大量對(duì)用戶閱讀無(wú)意 義的內(nèi)容區(qū)域,它們不僅嚴(yán)重影響了用戶的閱讀體驗(yàn),而且極大地增加了文檔 處理的難度,在某些特殊應(yīng)用需求下,如何尋求一種內(nèi)容過(guò)濾機(jī)制,將與閱讀 主題無(wú)關(guān)的內(nèi)容區(qū)域進(jìn)行過(guò)濾,真正實(shí)現(xiàn)有效性閱讀。 本文對(duì)超文本類格式解析器的研究正是針對(duì)解決上述問(wèn)題,尋找一套適合 于面向屏幕閱讀的嵌入式應(yīng)用的超文本解析器的軟件解決方案,并能夠應(yīng)對(duì)未 來(lái)超文本類格式的不斷發(fā)展。 9 第二章解析器研究方法 第二章解析器研究方法 第一節(jié)w o l f l i n u x 系統(tǒng) 作為手持閱讀器的平臺(tái)和載體,嵌入式系統(tǒng)的發(fā)展為手持閱讀器提供了廣闊 的空間,而作為系統(tǒng)軟件核心的嵌入式操作系統(tǒng)在近年來(lái)也有了長(zhǎng)足的發(fā)展。 從廚房里的微波爐到客廳里的家庭媒體中心,各種智能化設(shè)備已經(jīng)遍布于我 們的周圍。關(guān)于這些消費(fèi)類嵌入式產(chǎn)品,我們聽(tīng)到最多的一個(gè)詞語(yǔ)便是嵌入式 系統(tǒng)。嵌入式系統(tǒng)( e m b e d d e ds y s t e m ) 是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基 礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格 要求的專用計(jì)算機(jī)系糾1 9 】。 把l i n u x 用于嵌入式系統(tǒng),一般都不是原封不動(dòng)地照搬,而是充分考慮各種 具體嵌入式系統(tǒng)的特點(diǎn),有針對(duì)地對(duì)l i n u x 內(nèi)核加以裁減、修改和補(bǔ)充,主要包 括以下幾個(gè)方面: 將l i n u x 內(nèi)核移植到一些典型的微控制器上并加以必要的補(bǔ)充。 嵌入式系統(tǒng)的內(nèi)核中可能需要一些特殊的設(shè)備驅(qū)動(dòng)程序。 對(duì)l i n u x 內(nèi)核代碼進(jìn)行刪減和裁剪,一來(lái)可以減小內(nèi)核映像的“腳印”, 二來(lái)可以加快系統(tǒng)的初始化過(guò)程。 對(duì)實(shí)時(shí)性有要求的應(yīng)用則需要視要求的高低,采取不同的對(duì)策。如按優(yōu)先 級(jí)調(diào)度、提高時(shí)鐘精度、實(shí)現(xiàn)可剝奪調(diào)度和實(shí)現(xiàn)硬實(shí)時(shí)調(diào)度等。 l i n u x 內(nèi)核的代碼是高度模塊化的,內(nèi)核的許多功能和成分都可以通過(guò)條件 編譯加以取舍和裁剪,有些還可以獨(dú)立編譯成“可動(dòng)態(tài)安裝模塊”。經(jīng)修改和擴(kuò) 充的各種嵌入式l i n u x 保留了這個(gè)特點(diǎn),所以從同一個(gè)修補(bǔ)版,還可以再根據(jù)具 體的需要裁剪、編譯出許多不同的可執(zhí)行映像【2 0 1 。 標(biāo)準(zhǔn)的l i n u x 操作系統(tǒng),其內(nèi)核應(yīng)具備多個(gè)方面的功能或成分,既包括用于 管理應(yīng)用層的“進(jìn)程”成分( 如進(jìn)程管理) ,還包括進(jìn)程間通信、設(shè)備驅(qū)動(dòng)和文 件系統(tǒng)等等 2 1 1 。嵌入式l i n u x 內(nèi)核繼承標(biāo)準(zhǔn)l i n u x 內(nèi)核的基本功能,其結(jié)構(gòu)如圖 2 1 所示: 1 0 第二章解析器研究方法 胂繃序野 一序 一七占專占古專 忑 一仫 i i 系統(tǒng)調(diào)用接口ii 上上上 上 虛擬文件抽象網(wǎng)絡(luò)服務(wù) 系統(tǒng)管理 內(nèi)存管理器進(jìn)程管理器 ( 套接字) 占上 文件系統(tǒng) 1 t c p i p 協(xié)議 驅(qū)動(dòng)程序 驅(qū)動(dòng)程序 上上 網(wǎng)絡(luò)設(shè)備 設(shè)備驅(qū)動(dòng)程序 驅(qū)動(dòng)程序 占一一占 。從 1 1 定廣r 外部設(shè)備網(wǎng)絡(luò)設(shè)備 圖2 1 嵌入式l i n u x 內(nèi)核結(jié)構(gòu)圖 w o l f l i n u x 2 2 1 是面向手持電子閱讀應(yīng)用開(kāi)發(fā)的專用嵌入式l i n u x 系統(tǒng)。作 為整體解決方案,w o l f l i n u x 涵蓋了從系統(tǒng)內(nèi)核直到上層應(yīng)用的整個(gè)系統(tǒng)軟件 體系,從系統(tǒng)級(jí)解決方案的角度對(duì)手持閱讀平臺(tái)提供全面支持。 w o l f l i n u x 是對(duì)硬件體系、本質(zhì)安全、版權(quán)保護(hù)、功耗控制、大容量存儲(chǔ) 及文檔格式解析等方面進(jìn)行了大量研究的基礎(chǔ)上,借助于g n u l i n u x 內(nèi)核及相 關(guān)應(yīng)用進(jìn)行面向應(yīng)用的定制開(kāi)發(fā)而形成的嵌入式系統(tǒng),既秉承了g n u 軟件體系 的開(kāi)放性和通用性,又通過(guò)定制開(kāi)發(fā)和專門優(yōu)化滿足了在應(yīng)用領(lǐng)域的專業(yè)性需 求。 針對(duì)面向閱讀的嵌入式應(yīng)用,整個(gè)w o l f l i n u x 系統(tǒng)分為內(nèi)核層、中間件層、 應(yīng)用層三層。圖2 2 描述了系統(tǒng)的分層體系結(jié)構(gòu)。 第二章解析器研究方法 圖2 2w o l f l i n u x 的分層體系結(jié)構(gòu) w o l f l i n u x 系統(tǒng)包含了系統(tǒng)安全、格式閱讀、本地?cái)?shù)據(jù)庫(kù)以及操作系統(tǒng)內(nèi) 核等多方面內(nèi)容,為手持閱讀器的設(shè)計(jì)與實(shí)現(xiàn)提供了全面的保障,它主要具有 如下的系統(tǒng)特征【2 3 】: 作為手持閱讀平臺(tái),w o l f l i n u x 提供的多格式解析引擎為多格式閱讀以 及屏幕印刷提供了高效的實(shí)現(xiàn)機(jī)制。 面向大容量存儲(chǔ),構(gòu)建在嵌入式數(shù)據(jù)庫(kù)基礎(chǔ)上的本地搜索為閱讀器在大容 量、高密度的存儲(chǔ)介質(zhì)上實(shí)現(xiàn)高效的書籍管理和組織提供了支持。 作為系統(tǒng)核心的w o l f l i n u x 在執(zhí)行效率、電源管理等方面的不斷改進(jìn)為 手持閱讀的用戶體驗(yàn)和功能擴(kuò)展提供了良好的依托。 1 2 第二章解析器研究方法 第二節(jié)多格式解析引擎 多格式解析引擎【2 4 j 是閱讀器整體架構(gòu)設(shè)計(jì)中的重要環(huán)節(jié),它提供了對(duì)多種格 式文檔的閱讀支持,并提供了多種閱讀方法供用戶自由選擇。 解析引擎的設(shè)計(jì)是建立在對(duì)紛繁復(fù)雜的文檔格式進(jìn)行細(xì)致分類的基礎(chǔ)之上。 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,目前己形成了一套龐雜的電子文檔格式體系,如 固定版面格式的p d f 、j p g ,又如流式版面格式的d o c 、h t m l 等。各種格式 的發(fā)展歷史己清楚的表明,格式種類只能越來(lái)越多,格式本身也只會(huì)越來(lái)越復(fù) 雜。如何兼容現(xiàn)有的多種格式,又能對(duì)各種格式的未來(lái)發(fā)展提供不問(wèn)斷的支持, 成為了閱讀器設(shè)計(jì)中一個(gè)難題。 解析引擎采用分層架構(gòu)【2 5 1 ,以文件系統(tǒng)和系統(tǒng)圖形接口為基礎(chǔ),以書架管理 器( b o o k s h e l f ) 為管理平臺(tái),以文檔的解析器( p a r s e r ) 實(shí)現(xiàn)原生態(tài)格式的解析 和版面理解,以閱讀器( v i e w e r ) 最終面向用戶閱讀,其分層結(jié)構(gòu)如圖2 3 所示。 廠、 閱讀器 h t m lc h m d o c 解 l 解析器解析器析器 解析器nl 書架管理器 l l 系統(tǒng)圖形接口 蘭竺三竺_ k 圖2 3 多格式解析引擎分層結(jié)構(gòu)圖 系統(tǒng)圖形接口使用了m i c r o w i n d o w s 的n a n o xa p i 。m i c r o w i n d o w s 是一個(gè)開(kāi) 放源代碼的嵌入式g u i 軟件,目的是把圖形視窗環(huán)境引入到運(yùn)行l(wèi) i n u x 的嵌入 式設(shè)備上。作為x w i n d o w 的替代品,m i c r o w i n d o w s 可以使用更少的r a m 和文 件存儲(chǔ)空間( 1 0 0 k 一6 0 0 k ) 提供與x w i n d o w 相似的功能。m i c r o w i n d o w s 的可移 植性非常好,基本上用c 語(yǔ)言實(shí)現(xiàn),只有某些關(guān)鍵代碼使用了匯編語(yǔ)言以提高 速度。m i c r o w i n d o w s 支持i n t e l1 6 位、3 2 位c p u ,m i p sr 4 0 0 0 以及a r m 芯片, 它的圖形引擎被設(shè)計(jì)成能夠運(yùn)行在任何支持r e a d p i x e l ,w r i t e p i x e l ,d r a w h o r z l i n e , d r a w v e r t l i n e 和s e t p a l e t t e 的系統(tǒng)之上,在底層函數(shù)的支持下,實(shí)現(xiàn)了對(duì)位圖、字 體、光標(biāo)以及顏色的支持,成為目前嵌入式系統(tǒng)中廣泛使用的圖形接口。 書架管理器( b o o k s h e l f ) 是系統(tǒng)的設(shè)備管理器,負(fù)責(zé)管理電子書設(shè)備的各 1 3 第二章解析器研究方法 種資源,包括內(nèi)外存儲(chǔ)設(shè)備( 如s d 卡) ,電源設(shè)備,用戶操作( 如按鍵) 。此外, 書架還承擔(dān)著文檔格式管理的重要功能,它從內(nèi)外存儲(chǔ)設(shè)備中識(shí)別文檔的不同 格式,并根據(jù)用戶的選擇調(diào)用相應(yīng)的解析器對(duì)文檔進(jìn)行解析。 解析器( p a r s e r ) 是解析引擎設(shè)計(jì)中的核心環(huán)節(jié)。每個(gè)解析器對(duì)應(yīng)各自不同 的文檔格式,對(duì)外屏蔽各種格式版本的差異。解析器的主要工作是對(duì)各種原生 態(tài)文檔進(jìn)行格式裂解和版面理解,并將得到的內(nèi)容“印刷 到電子紙上,完成 屏幕請(qǐng)求。本文將在后續(xù)章節(jié)對(duì)超文本格式解析器的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行詳細(xì)論述。 閱讀器( v i e w e r ) 是整個(gè)系統(tǒng)直接面向用戶閱讀的界面提供者,主要負(fù)責(zé)設(shè) 定和控制屏幕參數(shù),頁(yè)面參數(shù),以及閱讀方法選擇等。屏幕參數(shù)主要包括屏幕 顏色深度,分辨率,尺寸等;頁(yè)面參數(shù)是指當(dāng)前顯示頁(yè)在文檔中的游動(dòng)、前后 翻頁(yè)控制等;閱讀方法包括四種角度旋轉(zhuǎn)閱讀功能和四種基本視圖模式。 解析引擎各個(gè)模塊之間的調(diào)用關(guān)系如下圖2 4 所示,這種結(jié)構(gòu)確保了格式引 擎的開(kāi)放性,使得解析器能夠?qū)W⒂趯?duì)文檔的解析,而無(wú)須關(guān)心系統(tǒng)其他細(xì)節(jié)。 圖2 4 多格式解析引擎模塊調(diào)用關(guān)系圖 綜上所述,多格式解析引擎是屏幕印刷這一概念的最集中體現(xiàn),并提供了面 向格式解析的開(kāi)放性支持。良好的開(kāi)放性使得系統(tǒng)在理論上可以支持任意多格 式的閱讀,也使得用戶可以根據(jù)自己的需求和愛(ài)好豐富和個(gè)性化自己的閱讀設(shè) 備,為協(xié)調(diào)格式發(fā)展與閱讀設(shè)備限制之間的矛盾開(kāi)拓了新的思路。 1 4 第二章解析器研究方法 第三節(jié)解析器軟件開(kāi)發(fā)方法 前面對(duì)解析器依托的w o l l i n u x 系統(tǒng)和多格式解析引擎進(jìn)行了說(shuō)明,本節(jié) 將展開(kāi)描述解析器軟件開(kāi)發(fā)方法。 近年來(lái),隨著嵌入式系統(tǒng)的廣泛應(yīng)用,對(duì)應(yīng)的軟件開(kāi)發(fā)工具也得到快速發(fā) 展。從最早的匯編語(yǔ)言,到后來(lái)的高級(jí)語(yǔ)言( c ,p l m ,j a v a 等) ,到現(xiàn)在嵌入 式操作系統(tǒng)的廣泛使用,在一定程度上簡(jiǎn)化了嵌入式系統(tǒng)的軟件開(kāi)發(fā)。 然而,嵌入式系統(tǒng)嚴(yán)格的多任務(wù)實(shí)時(shí)性、穩(wěn)定性要求和嵌入式微處理器( 或 微控制器) 有限的處理能力之間的矛盾決定了在設(shè)計(jì)嵌入式軟件時(shí),必須關(guān)心 目標(biāo)代碼的效率及性能指標(biāo);另一方面,為了保證系統(tǒng)性能、質(zhì)量、可靠性以 及開(kāi)發(fā)周期,嵌入式軟件開(kāi)發(fā)還要注意標(biāo)準(zhǔn)化、系列化、規(guī)范化。 結(jié)合解析器的功能需求,我們?cè)诮馕銎鬈浖_(kāi)發(fā)過(guò)程中著重考慮了以下兩 方面內(nèi)容【2 0 j : ( 1 ) 模塊化程序設(shè)計(jì) 嵌入式軟件的質(zhì)量,可以從模塊化程度、可移植性、易維護(hù)性、開(kāi)發(fā)周期 及成本等方面進(jìn)行評(píng)價(jià),但首先是模塊化程度。模塊化的軟件設(shè)計(jì)才可能具有 可移植性,并實(shí)現(xiàn)代碼重用;而代碼重用可以縮短開(kāi)發(fā)周期,有利于保證軟件 質(zhì)量,并降低開(kāi)發(fā)成本【2 。7 1 。 模塊化設(shè)計(jì)是指:將某個(gè)復(fù)雜功能分解為若干個(gè)功能模塊的組合,這些功 能模塊通過(guò)輸入、輸出參數(shù)相互耦合。功能模塊可以繼續(xù)分解,一般構(gòu)成層次 關(guān)系,最底層的功能模塊實(shí)現(xiàn)某個(gè)特定的、不宜再分解的原子功能。模塊具有 封裝性和內(nèi)聚性,這表現(xiàn)為:模塊的內(nèi)部數(shù)據(jù)和處理是隱藏的,模塊內(nèi)部是緊 耦合的,但模塊之間是松耦合的。顯然,模塊化設(shè)計(jì)是軟件可移植性的前提, 也是嵌入式系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)化、系列化、規(guī)范化的基本要求。 此外,解析器軟件開(kāi)發(fā)使用標(biāo)準(zhǔn)c 語(yǔ)言編程。使用高級(jí)語(yǔ)言編程的優(yōu)點(diǎn)包括: 可以方便地定義內(nèi)部變量;各模塊使用的臨時(shí)變量由編譯器管理;編譯器甚至 可以分析各模塊之間的調(diào)用關(guān)系,實(shí)現(xiàn)變量覆蓋。這樣,既能方便地實(shí)現(xiàn)模塊 化,又能提高r a m 利用率。 ( 2 )w o l f l i n u x 系統(tǒng)的使用 與通用操作系統(tǒng)相比,嵌入式操作系統(tǒng)具有體積小、可裁剪、代碼固化、可 靠性高等特征,大多數(shù)還具有實(shí)時(shí)性強(qiáng)的特點(diǎn)。手持閱讀器考慮使用 1 5 第二章解析器研究方法 w o l f l i n u x 系統(tǒng),主要基于以下幾點(diǎn): 手持閱讀器是一個(gè)開(kāi)放式系統(tǒng),要處理的任務(wù)比較多,各任務(wù)占用的c p u 時(shí)間在設(shè)計(jì)時(shí)難以準(zhǔn)確估計(jì),各任務(wù)的協(xié)調(diào)比較困難; 手持閱讀器中并發(fā)有功能模塊的管理,如模擬量及開(kāi)關(guān)量輸入輸出、數(shù) 據(jù)接收與發(fā)送、數(shù)據(jù)處理、顯示、用戶交互處理; 手持閱讀器需要一些標(biāo)準(zhǔn)的底層模塊,如t c p i p 協(xié)議棧,l c d 顯示; w o l f l i n u x 系統(tǒng)不但提供許多底層服務(wù),還可以通過(guò)進(jìn)程、線程優(yōu)先級(jí)機(jī) 制對(duì)各任務(wù)進(jìn)行協(xié)調(diào),簡(jiǎn)化軟件設(shè)計(jì)。w o l f l i n u x 功能強(qiáng)大且可裁剪,實(shí)時(shí)眭 能滿足應(yīng)用要求,占用資源( r o m 容量、r a m 容量、c p u 時(shí)間) 較少,很好 地滿足了以屏幕閱讀為主要目的嵌入式應(yīng)用。 綜上所述,超文本解析器軟件設(shè)計(jì)采用模塊化程序結(jié)構(gòu),設(shè)計(jì)有獨(dú)立的文 字處理和圖形圖像渲染引擎,使之具有良好的跨平臺(tái)性;使用標(biāo)準(zhǔn)c 語(yǔ)言編寫, 使之具有良好的可移植性。 解析器的處理對(duì)象是以h t m l 文檔為代表的單文檔和以c h m 格式為代表 的壓縮類文檔。從1 2 2 超文本類格式一節(jié)中我們可知,壓縮類文檔都是采用各 自不同的壓縮算法,由一組單文檔壓縮生成的,這種最直觀的包含關(guān)系決定了 必須以針對(duì)單文檔的超文本解析器的設(shè)計(jì)實(shí)現(xiàn)為先導(dǎo),繼而完成對(duì)壓縮類文檔 的解析。圖2 5 展示了各種超文本類格式文檔解析器的軟件開(kāi)發(fā)流程。 位于內(nèi)存中的 單文檔群 圖2 5 超文本類格式文檔解析器的軟件開(kāi)發(fā)流程 1 6 第二章解析器系統(tǒng)設(shè)計(jì) 第三章解析器系統(tǒng)設(shè)計(jì) 第一節(jié)系統(tǒng)架構(gòu) 系統(tǒng)架構(gòu)在超文本解析器的設(shè)計(jì)中起到至關(guān)重要的作用:其一,超文本解析 器不能脫離開(kāi)多格式解析引擎而單獨(dú)存在;其二,為了超文本解析器能夠方便 地移植到多種嵌入式系統(tǒng)平臺(tái)上運(yùn)行,必須做到解析過(guò)程與屏幕顯示過(guò)程相分 離。整個(gè)系統(tǒng)采用了層次結(jié)構(gòu),分2 層:格式解析層和輸出交換層。圖3 1 為 超文本解析器系統(tǒng)架構(gòu): 團(tuán)囹囹幽 輸 出 交 換 層 格 式 解 析 層 圖3 1 超文本解析器系統(tǒng)架構(gòu) 格式解析層是系統(tǒng)的核心部分,負(fù)責(zé)對(duì)超文本文檔進(jìn)行格式裂解和版面理 解,對(duì)上層屏蔽超文本格式各版本的差異。 輸出交換層負(fù)責(zé)將交換取得的顯示單元( 字、線、圖) 送入與具體系統(tǒng)相關(guān) 的處理引擎,對(duì)下層屏蔽系統(tǒng)圖形接口的差異。 1 7 第三章解析器系統(tǒng)設(shè)計(jì) 這種分層結(jié)構(gòu)的優(yōu)點(diǎn)是格式解析層與輸出交換層相互獨(dú)立,針對(duì)不同的系統(tǒng) 圖形接口,只需實(shí)現(xiàn)相應(yīng)的a p i 函數(shù),而無(wú)需改變內(nèi)部的解析調(diào)用機(jī)制,實(shí)現(xiàn) 了解析過(guò)程與顯示過(guò)程相分離,使解析器能夠快速移植到不同的嵌入式系統(tǒng)下。 第二節(jié)解析器模塊設(shè)計(jì) 超文本解析器由詞法語(yǔ)法分析模塊、排版控制模塊、屏幕顯示模塊、多頁(yè) 面緩沖模塊四部分組成 2 8 1 ,其層次結(jié)構(gòu)如圖3 2 所示。 圖3 2 超文本解析器模塊 詞法語(yǔ)法分析模塊按照超文本語(yǔ)言的規(guī)范,識(shí)別標(biāo)簽以及標(biāo)簽之間的內(nèi)容, 并為每個(gè)標(biāo)簽設(shè)計(jì)了對(duì)應(yīng)的處理函數(shù), 簽對(duì)應(yīng)的處理函數(shù),并生成顯示對(duì)象。 被排版控制模塊反復(fù)調(diào)用。 當(dāng)分析程序遇到某一標(biāo)簽,則調(diào)用該標(biāo) 詞法語(yǔ)法分析模塊是解析工作的基礎(chǔ), 排版控制模塊在解析器系統(tǒng)架構(gòu)中處于中心的地位。它負(fù)責(zé)調(diào)用詞法語(yǔ)法分 析模塊生成顯示對(duì)象,并利用當(dāng)前系統(tǒng)的顯示屬性( 如對(duì)齊方式和圖文環(huán)繞方 式等) ,對(duì)顯示對(duì)象進(jìn)行排版,確定顯示對(duì)象在版面中的絕對(duì)坐標(biāo),將其中有效 的顯示對(duì)象送入屏幕顯示模塊。 屏幕顯示模塊實(shí)現(xiàn)了與具體系統(tǒng)相關(guān)的屏幕顯示接口調(diào)用。屏幕顯示模塊與 其他模塊相互獨(dú)立,針對(duì)不同的g u i ,只需相應(yīng)改變g u i 的a p i 函數(shù),而無(wú)需 改變程序內(nèi)部的解析調(diào)用機(jī)制,實(shí)現(xiàn)了解析過(guò)程與顯示過(guò)程相分離,使解析器 能夠快速移植到不同的g u i 下。 1 8 第三章解析器系統(tǒng)設(shè)計(jì) 多頁(yè)面緩沖模塊是一個(gè)可裁減的功能模塊,它主要負(fù)責(zé)管理頁(yè)面位圖緩沖 區(qū),緩沖區(qū)中存放著與當(dāng)前屏幕請(qǐng)求頁(yè)面最鄰近的頁(yè)面位圖。當(dāng)用戶改變當(dāng)前 屏幕請(qǐng)求頁(yè)面( 如通過(guò)翻頁(yè)操作) 時(shí),多頁(yè)面緩沖模塊將更新緩沖區(qū)中的頁(yè)面 位圖,總保持對(duì)用戶下一操作的高命中率。 3 2 1 詞法語(yǔ)法分析模塊 前面講到,超文本類格式屬于流式版面格式,因此超文本類格式文檔從宏 觀上可以看成一個(gè)由離散文本條和標(biāo)簽組成的線性字符流。解析器從文件頭開(kāi) 始掃描,直至遇到文件尾標(biāo)識(shí)( e o f ) 結(jié)束掃描。在掃描的過(guò)程中,詞法語(yǔ)法分 析模塊負(fù)責(zé)識(shí)別標(biāo)簽和標(biāo)簽間的文字,對(duì)其進(jìn)行分別處理,因此,詞法語(yǔ)法分 析模塊從層次上分為標(biāo)簽識(shí)別和標(biāo)簽處理兩層,如圖3 3 所示: 標(biāo)簽識(shí)別層標(biāo)簽處理層 解析程序 1 標(biāo)簽1 三 處理函數(shù) 標(biāo)簽2 j 霸處理函數(shù) _ - ,- _ _ _ - - _ - 一 歹 標(biāo)簽n 處理函數(shù) 奄。 ,弋 = = = =1 r 事件解析程序遇到標(biāo)簽1 事件從標(biāo)簽l 處理函數(shù)返回 事件解析程序遇到標(biāo)簽n 事件從標(biāo)簽n 處理函數(shù)返回 圖3 3 詞法語(yǔ)法分析模塊層次結(jié)構(gòu)圖 1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論