一种基于OpenXML的复杂海图符号的生成方法和系统与流程

文档序号:15257794发布日期:2018-08-24 20:55阅读:247来源:国知局

本发明属于出版技术领域,具体涉及一种基于openxml的复杂海图符号的生成方法和系统。



背景技术:

随着互联网技术的发展,传统的纸质内容数字化的趋势越发明显。在纸质内容数字化的过程中,需要通过一些计算机语言来将数据信息导入,按照固定模板进行排版,最后解析以实现数据可视化;纸质内容数字化需要做到自动化、智能化、准确化。

已经有很多学者研究出了一些复杂结构符号显示的解决方案,如上下组合、左右组合、上中下组合、外内组合、嵌套组合。而在得到数据信息时,仍然会遇到一些复杂符号显示不清,这主要是因为这些符号在开始时就没有找到合适的方法准确录入,比如符号数据录入时无法实现上下标的数据同时存在,数据出现在其他位置。现有专利中只能将符号分为上下左右等结构录入,其各部分结构大小一样,不能控制这些结构中符号的大小,即不能实现上下小标等的存在。还有的复杂符号的上下标是可变数据,这些上下标位置大小本就无法准确地确定,再加上数据可变,更易使符号看上去十分混乱,无法辨别。而以往这些数据的录入都是人工输入手动编排的,需要耗费很大的人力物力,且校对困难,容易出错。

所以,为了实现这些复杂符号录入的准确性,减少人力物力损耗,提高排版效率,可以使用基于openxml的复杂海图符号的显示方法。使用fontcreator造字软件造出一些主要符号,编码后当作主体不变数据插入xml文档中,其余位于不变主体上下左右位置的可变数据部分使用openxml里的公式方法来确定位置;将上述符号表达的xml文档的文本内容部分写成cdata标记形式,避免文本内容发生错误;再使用xslt来显示xml文档,解析成word文档,将已有数据按照固定版式呈现。

xml的特点:

1.可扩展性

xml(extensiblemarkuplanguage,可扩展标记语言)是元标记语言,可用于定义新的标记语言,没有预定义任何标签,只需要遵守xml的基本规则,开发者可以自行定义任意的标签,具有很好的可扩展性。

2.可读性及可维护性

xml文档具有严格的格式,可以非常方便地转换成对应的树状结构,方便地编写程序来进行处理。文件结构嵌套可以复杂到任何程度。结构清晰,便于阅读,便于维护。

3.数据逻辑和显示逻辑分离

xml文档主要关注于数据的传输和存储,它本身没有可显示性,只包含需要显示的数据,可以依赖于简单的css,也可以使用xslt,甚至可以使用jsp页面来负责解析、显示。

openxml的特点:

ecmaofficeopenxml(“openxml”)是针对字处理文档、演示文稿和电子表格的国际化开放标准,可免费供多个应用程序在多个平台上实现。openxml里描述了一些符号的组合方式的方法,为那些含有上下左右标的符号的数据录入提供了解决方案。

fontcreator的特点:

fontcreator是一款强大的字符编辑软件,可以自由地手动画出任何想要的符号,可以以十进制或十六进制等进行编码。制作完成保存后,可以以字体形式安装到不同设备上。保证在不同平台的兼容性。

cdata的特点:

在特殊标记cdata下,所有的特殊字符,甚至是有效的元素都将被当成简单的字符处理。实体引用也会失去作用,变成直接文本。由于xml根本不会对cdata标记内的内容进行任何解析,因此在cdata内可放置任何内容,其中的内容永远不会出错。

当出现复杂符号时很难实现准确地信息录入,现有技术中,研究人员已经找到了多元组合符号自动生成的方法,包括一些上下、左右、上中下、外内、嵌套的复杂符号,但是还不能实现含有上下左右小标的准确表示,只是分成上下左右结构,所以需要寻求一种方法来解决此问题。



技术实现要素:

本发明的目的是为了解决背景技术中提到的问题,提供了一种基于openxml的复杂海图符号的生成方法,能够准确地表示出含有上下左右小标的复杂符号,减少人工排版的工作量,提高效率,满足信息出版的及时性。

本发明采用的技术方案是:一种基于openxml的复杂海图符号的生成方法,包括以下步骤:

步骤1,采集规范的含有上下左右小标的复杂符号数据;

步骤2,将复杂符号按小标位置分类,然后将每一类别根据数据是否可变分为可变数据块和主体不变数据块,其中可变数据块通过使用openxml确定小标的方位,从而获得复杂符号数据的xml文档;

步骤3,将步骤2中xml文档的文本内容写成cdata标记形式;

步骤4,对上述经过处理的复杂符号xml文档进行解析,最终得到word文档。

进一步的,步骤2中将复杂符号按小标位置分为7类,分别为右上标、右下标、右上下标、顶部、底部、左上下标、半包围这七类。

进一步的,步骤2中主体不变数据块通过fontcreator造字软件造出,然后对其进行编码,并且设置符号图例、特征码、unicode十进制代码对应查找表,以便数据录入时使用。

进一步的,步骤4的具体实现包括以下子步骤,

步骤4.1,采用xsd对描述符号文档进行校验;

步骤4.2,采用xslt来显示xml文档,生成word文档。

进一步的,步骤1中所述复杂符号数据从《中国海图图式》中采集获得。

本发明还提供一种基于openxml的复杂海图符号的生成系统,包括如下模块:

数据采集模块,用于采集规范的含有上下左右小标的复杂符号数据;

数据分类及分块模块,用于将复杂符号按小标位置分类,然后将每一类别根据数据是否可变分为可变数据块和主体不变数据块,其中可变数据块通过使用openxml确定小标的方位,从而获得复杂符号数据的xml文档;

xml文档转换模块,用于将数据分类及分块模块中xml文档的文本内容写成cdata标记形式;

xml文档解析模块,用于对转换后的复杂符号xml文档进行解析,最终得到word文档。

进一步的,数据分类及分块模块中将复杂符号按小标位置分为7类,分别为右上标、右下标、右上下标、顶部、底部、左上下标、半包围这七类。

进一步的,数据分类及分块模块中主体不变数据块通过fontcreator造字软件造出,然后对其进行编码,并且设置符号图例、特征码、unicode十进制代码对应查找表,以便数据录入时使用。

进一步的,xml文档解析模块包括如下单元,

校验单元,采用xsd对描述符号文档进行校验;

显示单元,采用xslt来显示xml文档,生成word文档。

本发明主要是基于openxml来解决上下左右小标的问题,使用本方法,可以得到含有可变数据的上下左右小标的复杂海图符号,实现海图符号中上下左右小标的位置的正确安排,而不再是用其他方式代替表示。这种符号同样可以用于出版印刷或者网页显示等,使用fontcreator符号编辑器也可保证在不同平台上的兼容性。

附图说明

图1:为本发明方法流程图。

图2:为本发明列举出的(a)含有上标的复杂符号和(b)含有上下标的复杂符号实例,(a)“闪(2)绿6s13m5m”为上标(可变数据部分),其余为主体不变数据部分(b)“闪(2+1)绿6s”为上标(可变数据1);“雷康(0)”为下标(可变数据2);“绿红绿”为底部小标(可变数据3),其余为主体不变数据部分。

图3:为本发明中列举出的(a)含有上标的复杂符号分块方法(上标为可变数据块、符号主体为主体不变数据块);(b)含有上下标的复杂符号分块方法(上标为可变数据块1、下标为可变数据块2、符号主体为主体不变数据块)。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实例对本发明作近一步的详细描述,应当了解此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

请见图1,本实施示例提供了一种基于openxml的复杂海图符号的生成方法,可以实现含有上下标的海图符号的准确录入,保证信息发布的准确性和及时性。

实施示例主要包括以下步骤:

步骤1:采集规范的《中国海图图式》(gb12319-1998)中出现的含有上下左右小标的复杂符号数据;如图2分别是(a)含有上标的复杂符号和(b)含有上下标的复杂符号。图2(b)的主体部分可采用已有的复杂符号的外内组合方式得到。

由于海图符号众多且其他如上下、左右、上中下、外内、嵌套组合符号的组合方式已经得到解决。本发明只找出含有上下左右小标的符号,研究上下左右标该如何放置,采集符号数据,得到xml文档。

步骤2:将复杂符号按小标位置分类、按主体不变和可变部分分块,主体不变部分以fontcreator造字软件得到输入,其余部分使用openxml的公式方式来确定位置,得到xml文档;具体实现包括以下子步骤:

步骤2.1:对采集的符号进行分类,有右上标、右下标、右上下标、顶部、底部、左上下标、半包围这七类;如表1便是这七种类型的图示。

表1

步骤2.2:复杂的海图符号一般由主体的不变的符号和可变的数据组成,对选取的符号中的各部分进行分块,分为可变数据块和主体不变数据块;如图3为符号分块示意图。

步骤2.3:将主体不变数据块用fontcreator造字软件造出,为了保障海图符号正确显示,对符号进行编码,并且设置符号图例、特征码、unicode十进制代码对应查找表,以便数据录入时使用,如赤滩岛赤滩头灯闪6s27m5m,该主体符号十进制代码为&#199。赤滩岛赤滩头灯主体符号录入时使用<fontface=“msasymbol05">&#199</font>。

步骤2.4:其余可变数据块(上标、下标、上下标等)使用openxml的公式方法确定方位;

具体方法如下所示:

1.含有上标的符号的xml模型表示:

2.含有下标的符号的xml模型表示:

3.含有上下标的符号的xml模型表示:

4.含有左上下标的符号的xml模型表示:

5.含有顶部标记的符号的xml模型表示:

6.含有底部标记的符号的xml模型表示:

7.半包围结构的符号的xml模型表示:

步骤3:将上述符号的xml文档的文本内容写成cdata标记形式,这样文本内所有的内容都处于cdata标记内,使<和&这类字符都可被当成字符串处理,不会出错;cdata标记形式写法如下:&lt;![cdata[文本内容]]&gt;。

步骤4:对上述经过处理的复杂符号xml文档进行解析,最终得到word文档。具体实现包括以下子步骤:

步骤4.1:采用xsd对描述符号文档进行校验;

步骤4.2:采用xslt来显示xml文档,生成word文档。

本发明实施例还提供一种基于openxml的复杂海图符号的生成系统,包括如下模块:

数据采集模块,用于采集规范的含有上下左右小标的复杂符号数据;

数据分类及分块模块,用于将复杂符号按小标位置分类,然后将每一类别根据数据是否可变分为可变数据块和主体不变数据块,其中可变数据块通过使用openxml确定小标的方位,从而获得复杂符号数据的xml文档;其中将复杂符号按小标位置分为7类,分别为右上标、右下标、右上下标、顶部、底部、左上下标、半包围这七类;主体不变数据块通过fontcreator造字软件造出,然后对其进行编码,并且设置符号图例、特征码、unicode十进制代码对应查找表,以便数据录入时使用。

xml文档转换模块,用于将数据分类及分块模块中xml文档的文本内容写成cdata标记形式;

xml文档解析模块,用于对转换后的复杂符号xml文档进行解析,最终得到word文档;

xml文档解析模块包括如下单元,

校验单元,采用xsd对描述符号文档进行校验;

显示单元,采用xslt来显示xml文档,生成word文档。

各模块具体实现和各步骤相应,本发明不予赘述。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1