基于安卓平台的S1000D技术文件阅读器设计与实现
2018-05-14何鹏董岩方挺立曾卫平
何鹏 董岩 方挺立 曾卫平
摘要:目前市面上的安卓阅读器无法满足技术文件的显示与交互需求,由此提出了一个在安卓平台下实现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.