何鵬 董巖 方挺立 曾衛(wèi)平
摘要:目前市面上的安卓閱讀器無法滿足技術(shù)文件的顯示與交互需求,由此提出了一個(gè)在安卓平臺下實(shí)現(xiàn)S1000D技術(shù)文件閱讀器的方案。依據(jù)對S1000D標(biāo)準(zhǔn)的研究,選取了Crosswalk瀏覽器引擎作為閱讀器的主體,設(shè)計(jì)了系統(tǒng)架構(gòu)及功能模塊,并對關(guān)鍵技術(shù)進(jìn)行了介紹。該閱讀器已經(jīng)在兩種機(jī)型的電子飛行手冊中使用,其滿足了用戶的交互需求,提升了閱讀體驗(yàn)。
關(guān)鍵詞:S1000D;閱讀器;交互式;安卓
中圖分類號:TP399 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)02-0177-02
1 引言
隨著信息技術(shù)尤其是移動(dòng)互聯(lián)網(wǎng)的發(fā)展,用戶對移動(dòng)端的要求越來越高,對技術(shù)文件閱讀軟件有著越來越迫切的需求。目前安卓上的閱讀器包括pdf、word以及一些專用的書籍閱讀軟件,上述閱讀器都很難滿足技術(shù)文件的顯示樣式與交互功能,更不支持S1000D的標(biāo)準(zhǔn)。綜上所述基于安卓平臺的S1000D技術(shù)文件閱讀器的實(shí)現(xiàn)是目前需要解決且具有廣闊的應(yīng)用前景。
2 S1000D標(biāo)準(zhǔn)
S1000D標(biāo)準(zhǔn)中提出了數(shù)據(jù)模塊(DM)與公用資源數(shù)據(jù)庫(CSDB)兩個(gè)核心概念,數(shù)據(jù)模塊為“技術(shù)出版物中最小的、自包含的信息單元”。它以SGML或XML格式組織數(shù)據(jù),并有相應(yīng)的文檔類型定義(DTD)或XML Schema來約束和驗(yàn)證數(shù)據(jù)文件中的標(biāo)記,所有的數(shù)據(jù)模塊都存儲在CSDB中。公用資源數(shù)據(jù)庫是一個(gè)信息存儲地與管理工具,為生成技術(shù)手冊而需要的所有信息對象都保存在其中,它也被用于媒體輸出,用于生成紙質(zhì)的或電子格式的出版物[1]。包括圖形、圖像和多媒體信息或其他非結(jié)構(gòu)化信息等與數(shù)據(jù)模塊相關(guān)聯(lián)并存儲于CSDB,以信息控制碼(ICN)來定位和管理[2]。
3 總體方案
通過對S1000D標(biāo)準(zhǔn)的研究可以得出,基于S1000D標(biāo)準(zhǔn)的技術(shù)文件中所有的數(shù)據(jù)模塊(DM)都可以轉(zhuǎn)換成網(wǎng)頁格式通過瀏覽器引擎來顯示,其中技術(shù)圖形信息或其他非結(jié)構(gòu)化信息以網(wǎng)頁資源的方式存放,資源通過超鏈接技術(shù)與網(wǎng)頁內(nèi)容相關(guān)聯(lián)。本文提出在安卓平臺下選取一款合適的瀏覽器引擎作為閱讀器的主體用于技術(shù)文件內(nèi)容的顯示,并基于該瀏覽器引擎通過頁面腳本語言完成閱讀器功能的開發(fā)。閱讀器中技術(shù)圖形、圖像、多媒體的交互功能以安卓應(yīng)用程序的形式進(jìn)行封裝或開發(fā),在網(wǎng)頁腳本文件和應(yīng)用程序中實(shí)現(xiàn)接口邏輯與申明實(shí)現(xiàn)網(wǎng)頁對應(yīng)用程序的調(diào)用完成閱讀器交互功能的開發(fā)。
4 系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)架構(gòu)
Crosswalk作為一款開源的web引擎已經(jīng)成為移動(dòng)端跨平臺應(yīng)用開發(fā)的熱門技術(shù)。技術(shù)文件安卓閱讀器使用MVC模式進(jìn)行設(shè)計(jì)并采用Crosswalk引擎框架。系統(tǒng)架構(gòu)劃分為視圖層、控制層以及數(shù)據(jù)模型層三個(gè)層級。數(shù)據(jù)模型層儲提供數(shù)據(jù)模型存儲來自CSDB中的數(shù)據(jù)模塊信息、技術(shù)圖形信息和其他非結(jié)構(gòu)化信息,及系統(tǒng)信息與用戶信息;視圖層提供電子技術(shù)文件及其交互式控件的展示;控制層加載數(shù)據(jù)模型層的數(shù)據(jù)用于顯示電子技術(shù)文件,獲取視圖層發(fā)送的用戶操作并處理。
4.2 功能模塊劃分
依據(jù)S1000D提出的用戶交互功能要求及安卓閱讀器的通用功能,把技術(shù)文件安卓閱讀器的功能模塊分為:目錄導(dǎo)航模塊、基礎(chǔ)閱讀功能模塊、交互式閱讀功能模塊。目錄導(dǎo)航模塊提供目錄樹與內(nèi)容檢索兩種功能,其中目錄樹按照不同技術(shù)文件的層次關(guān)系、標(biāo)準(zhǔn)化的系統(tǒng)/子系統(tǒng)/單元組件的層次劃分關(guān)系組織,目錄樹的最底層為DM的內(nèi)容導(dǎo)航,依據(jù)DM的類型以相應(yīng)樣式顯示。基礎(chǔ)閱讀功能模塊用于提供基礎(chǔ)的文件閱讀功能,包括:閱讀模式切換、后退/前進(jìn)、書簽、注釋、頁內(nèi)查找、調(diào)閱更改記錄、用戶反饋等功能。交互式閱讀功能模塊用于圖形、圖像和多媒體文件與外部程序之間的交互。
5 關(guān)鍵技術(shù)
5.1 內(nèi)容提取
從CSDB中提取出來的DM是用XML描述的,僅包含內(nèi)容而不帶有格式,需要通過編制的XSL+CSS樣式單將XML文檔轉(zhuǎn)換成HTML格式進(jìn)行顯示。程序使用Xpath技術(shù)[3]定位并獲取HTML文件中的各種標(biāo)簽數(shù)據(jù)。
5.2 閱讀功能
閱讀器的基礎(chǔ)功能都可以在Crosswalk瀏覽器引擎下完成開發(fā)。這里使用JQUERY+bootstrap技術(shù)完成基本功能的開發(fā),由于bootstrap中包含了豐富的web組件[4],依據(jù)這些組件可以快速搭建飛行手冊的完整界面與基本功能。其中閱讀模式切換功能利用CSS濾鏡[5]屬性實(shí)現(xiàn)反色效果,頁內(nèi)查找功能使用JQUERY的元素選擇器。
5.3 系統(tǒng)集成
技術(shù)文件的顯示利用Crosswalk框架下的XWalkView控件,XWalkView是一個(gè)基于Chrome內(nèi)核的移動(dòng)端瀏覽器控件,此控件保證所開發(fā)的html頁面在所有機(jī)器上體驗(yàn)一致。通過XWalkView提供的javascript與java互操作方法,完成技術(shù)文件中圖形、圖像和多媒體文件與外部程序之間的交互。
6 結(jié)語
本文設(shè)計(jì)的閱讀器已在兩種機(jī)型上的電子飛行手冊中使用。依據(jù)飛行機(jī)組人員的需求,電子手冊不僅包含基礎(chǔ)閱讀功能,還提供了調(diào)用其它程序的交互功能,包括:點(diǎn)擊手冊中的應(yīng)急處置流程圖調(diào)用應(yīng)急處置程序,點(diǎn)擊手冊中的性能曲線圖調(diào)用性能計(jì)算程序,點(diǎn)擊手冊中的駕駛艙圖調(diào)用駕駛艙瀏覽程序等。
該閱讀器設(shè)計(jì)快速完成了交互式電子飛行手冊的開發(fā),滿足了飛行機(jī)組人員對手冊的交互需求,提升了飛行機(jī)組人員的閱讀體驗(yàn)。
參考文獻(xiàn)
[1]王興華.基于S1000D標(biāo)準(zhǔn)的IETM內(nèi)容管理系統(tǒng)的研究[D].廣東工業(yè)大學(xué),2010.
[2]朱興動(dòng),黃葵,王正.基于S1000D的IETM閱讀器設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(13):288-290.
[3]李文珠,廖湖聲,蘇航.基于下推轉(zhuǎn)換機(jī)的XML流數(shù)據(jù)處理方法[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(8):49-55.
[4]季嘉明.基于Bootstrap+SSI的跨平臺企業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].東華大學(xué),2015.
[5]陳章斌.基于網(wǎng)頁的CSS濾鏡特效[J].貴陽學(xué)院學(xué)報(bào)(自然科學(xué)版),2010,05(4):72-74.