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