结构化文档描绘系统的制作方法

文档序号:6479284阅读:171来源:国知局
专利名称:结构化文档描绘系统的制作方法
技术领域
本发明涉及结构化文档描绘系统、用于结构化文档描绘的方法和程序。
背景技术
HTML (Hyper Text Markup Language,超文本标记语言)作为显示描述语言是公知 的。HTML使用标签定义了语句结构和字符串的修饰。以HTML记述的网页由web (网页)浏 览器解释以在画面上描绘。指示如何描绘字符串、图像、按钮、文本框等各种要素的样式可 以作为样式表以HTML记述。由作为指定要素名、类等的描述的选择符指定的标签的样式与 选择符相关联地记载在样式表中。网页浏览器提供的画面的大小随着客户端而不同,不管用于输出的画面的类型如 何,需要以相同方式来显示。对此,例如在专利文献1中提出应用客户端的样式表使文档的 宽度适合显示部分的宽度的结构。专利文献1 日本专利申请公开No. 2005-527057

发明内容
发明所要解决的问题在样式表中,对于设定要素的宽度和高度的样式,可以指定要素的百分比(% )或 像素(PX)等相对单位的尺寸。当以相对单位指定了样式时,根据要素的双亲要素的大小来 确定尺寸。这种情况下,不管画面大小如何,特定要素的子要素都相对地以相同大小显示。但是,当希望对作为结构化文档的树结构的一部分的子树整体设定相同样式,并 且子树中包含的每个要素的样式以相对单位指定时,用于计算尺寸的基准会根据层级而不 同,从而样式根据层级而不同。本发明考虑到上述背景而作出,其目的在于提供一种结构化文档描绘系统及其方 法和程序,在以相对单位对结构化文档的子树中包含的所有要素设定与尺寸有关的样式 时,能够以相同样式显示所有这些要素。解决问题的方案解决上述问题的本发明的权利要求1所述的发明是一种用于描绘树结构的结构 化文档的系统,包括区域确定部分,对构成上述结构化文档的每个要素分配描绘区域;基 准要素确定部分,当对第一要素设定了第一样式时,确定作为该第一要素所属的子树的根 的第二要素,上述第一样式以相对单位表现与尺寸有关的格式;描绘样式计算部分,基于分 配给上述第二要素的描绘区域,计算以绝对单位表现上述第一样式的第二样式;和要素描 绘部分,根据上述第二样式描绘上述第一要素。根据本发明的结构化文档描绘系统,当以相对单位指定了特定要素的样式时,可 以基于该要素所属的子树的根,将该样式转换成绝对单位。这样,对于以相对单位指定了样 式的要素,可以基于相同的根来转换样式。因此,当相对单位的样式具有相同值的要素属于 相同子树时,可以应用具有相同值的样式。从而,即使以相对单位应用样式,也可以统一对
3子树内的要素应用的样式。
解决上述问题的本发明的权利要求2所述的发明是如权利要求l所述的结构化文档描绘系统,其中,上述第一样式是用于描绘表现上述第一要素的图形的线宽、用于在上述描绘区域的内部描绘上述图形的外边距、用于在上述图形的内部描绘文本的内边距、以及用于描绘该文本的字体大小当中的至少一个。
解决上述问题的本发明的权利要求3所述的发明是如权利要求l所述的结构化文档描绘系统,其中,上述基准要素确定部分确定上述结构化文档的根作为上述第二要素。
这种情况下,对于结构化文档中包含的所有要素,能够以相同的基准转换以相对单位指定的样式。因此,即使在以相对单位指定了样式的情况下,也能够对结构化文档中包含的所有要素应用相同的样式。
解决上述问题的本发明的权利要求4所述的发明是如权利要求l所述的结构化文档描绘系统,还包括结构化文档存储部分,存储第一结构化文档;文档取得部分,当对包含在上述第一结构化文档中的上述第一要素的属性指定了第二结构化文档时,取得该第二结构化文档;和文档连结部分,将上述第二结构化文档与上述第一结构化文档连结以生成作为描绘对象的结构化文档,从而上述第二结构化文档的根要素成为上述第一要素的子要素。
解决上述问题的本发明的权利要求5所述的发明是如权利要求4所述的结构化文档描绘系统,其中,当上述第一要素包含在上述第一结构化文档中时,上述基准要素确定部分将上述第一结构化文档的根确定为上述第二要素;当上述第一要素包含在上述第二结构化文档中时,上述基准要素确定部分将上述第二结构化文档的根确定为上述第二要素。
本说明书中公开的其它问题及其解决方案将从以下的实施方式的说明和附图得以明确。
发明效果
根据本发明,当以相位单位对与结构化文档的子树中包含的所有要素设定了与尺寸有关的样式时,能够以同一样式显示所有的这些要素。


图l是示出键集文件lo的例子的图。
图2是说明应用于描绘键的样式的图。
图3是示出本实施方式的描绘系统的整体结构的图。
图4是示出用户终端lOO和键集提供服务器200的硬件结构的图。
图5是键集提供服务器200的功能框图。
图6是用户终端lOO的功能框图。
图7是说明键树结构40的结构的图。
图8是示出样式存储单元153的结构例子的图。
图9是示出样式登记处理的流程的图。
图lo是示出样式信息登记处理的流程的图。
图11是说明键描绘处理的流程的图。
图12是示出图11的步骤8508中的key的描绘处理的流程的图。
图13是示出图12的步骤S530中的ck的样式设定处理的流程的图。图14是示出在ck的样式设定处理中生成的样式列表st的结构例子的图。图15是示出在ck的样式设定处理中生成的样式参照列表bst的结构例子的图。图16是示出图12的步骤S535中的ck描绘处理的流程的图。图17是示出样式值取得处理的流程的图。图18是示出样式值转换处理的流程的图。图19是示出基准键指定处理的流程的图。图20是示出描绘了键集文件10的画面70的例子的图。附图标记说明10 键集文件;30 键集文件;40 键树结构;50 样式列表;60 样式参照列表; 70 画面;80 画面;100 用户终端;200 键集提供服务器;300 通信网络;101 =CPU ;102 存储器;103 存储设备;104 通信接口 ;105 输入设备;106 输出设备;111 键集描绘处 理单元;112:键串解析器(parser) ;113:输入/输出接口 ;114 管理器控制器;115 文件 管理器;116 :web管理器;151 键集存储单元;152 键集文件存储单元;153 样式存储单 元;211 :web处理单元;212 键集文件存储单元。
具体实施例方式在以下说明中,将描述本发明的用于结构化文档的描绘系统的实施方式。本实施 方式的描绘系统用于描绘以树结构记述了要在画面上描绘的要素的结构化文档。在本实施 方式中,构成树结构的节点被称为键。包括多个键的集合被称为键集。描述了每个键集的 结构化文档被称为键集文件。而且,在本实施方式中,为了简化说明,要素在矩形或椭圆形 状的内部描绘字符串。但是,一般的图像或图形当然可以被描绘为要素。图1是示出键集文件的例子的图。如图1所示,在键集文件10中,键集由数据(以 下称为键串)表达,在数据中,在指示作为树结构的根的键的标签之后,按照深度优先的顺 序记述键,并且在同一层级的键被一起放在括号(大括号)内。作为键的标签(要素名),有“1(”、“56”、“化,、“1 ”、“诎”、“(”、“03”等。如后所述,
键的描绘区域根据标签确定。标签为R、Rb、C或Cb的键被分配了双亲键的描绘区域的分割 区域,具有Se标签的键没有被分配描绘区域,其它键被原样分配了双亲键的描绘区域。标签“K”表示将成为键集的根的键。对标签为K的键(以下称为K键)设定键集 的名称(以下称为键集名)作为属性。键的属性被记述在标签之后的括号内。在键集文件 10的例子中,K键11被记述为“K( "_Calc2") ”。这表示键集名“_Calc2”被设定为K键11 的属性。标签“Se”表示用于设定描绘属性(称为样式)的键,其中描绘属性设定如何描绘 键。注意,在本实施方式中,为了简化说明,应用于键的样式仅涉及各种尺寸。图2是说明应用于描绘键的样式的图。在本实施方式中,如图2所示,图形2用宽 度为8的线描绘在描绘区域1内,键的内容(在图2的例子中为文本3,但可以是图像或图 形)被描绘在图形2内。在描绘区域1的边界与图形2之间有空白(外边距(margin)),并 且在图形2与文本3之间也有空白(内边距(padding))。注意,在本实施方式中,为了简化 说明,画面的横向的外边距4的大小与画面的纵向的外边距5的大小相同,画面的横向的内
5边距6的大小与画面的纵向的内边距7的大小相同。在本实施方式中,有4种类型的样式,S卩,用于描绘图形2的线的宽度8(以下称为 边界)、外边距4和5的大小(以下简称为外边距)、用于描绘字符串3的字体大小、以及内 边距6和7的大小(以下简称为内边距)。但是,可以将前景色或背景色等各种样式设定为 样式。在标签为Se的键(以下称为样式键)之后,在括号内记述样式设定。样式设定以 如下形式记述与一个或多个样式的组(以下称为样式集)的名称(以下称为样式集名) 相关联,用“=”将成为设定项目的样式的名称(以下称为样式名)和它的值(以下称为样 式值)相关联(例如描述为“ border = 1 % ”,以下称为样式描述语句)。在样式描述语 句的最后记述分号(;)。边界的样式名是“ border”。外边距的样式名是“ margin”。字体大小的样式 名是“ fontsize”。内边距的样式名是“ padding”。在本实施方式中设定的样式的样式值是以绝对单位或相对单位表达的数值。绝对 单位是直接指定大小的单位,例如厘米(cm)、毫米(mm)、英寸(in)、点(pt)等。而相对单 位是用于指定相对于某基准大小的大小的单位,例如表示相对于某个值的相对值的百分比 (% )、具有特定字体大小的特定字体的字符“X”的高度(ex)、作为相对于显示分辨率的相 对值的像素(px)等。为了简化说明,在本实施方式中,绝对单位为点(Pt),相对单位为百分 比(% )。在图1的键集文件10的例子中,在Se键12中,两个键集13、14被记述为Se键12 的子要素。附有样式集名“Olabel ”的样式集13被指定具有字体大小“ 10 % ”和边界“ 1 % ”。在键集文件10的例子中,没有在样式集13中指定外边距和内边距。但是,也可以 这样省略样式设定。对于样式集,可以指定“ base region”和“ key”作为特殊样式。具有样式名“ base region”的样式(以下称为基准样式)具有为了确定如 下的键而指定的信息,该键用于指定用于将以相对单位指定的样式值转换成绝对单位的基 准。在本实施方式中,基准样式的样式值是“me,,、"parentkey,,、“ thisks,,、"parentks,,或 “page”中的任意一个。当基准样式的样式值为“me”时,根据设定了该基准样式的样式集的 样式集名被指定为属性的键的宽度,当基准样式的样式值为“parentkey”时,根据其双亲键 的宽度,转换相对单位的样式值。当基准样式的样式值为“thisks”时,根据样式集名被设 定为属性的键所属的键集(即,有关键的祖先中最近层级的K键)的宽度,当基准样式的样 式值为“parentks”时,根据该K键所属的键集(S卩,有关键的祖先中第二最近层级的K键) 的宽度,转换相对单位的样式值。当基准样式的样式值为“page”时,根据输出键集文件的 整个描绘区域的宽度来转换相对单位的样式值。具有样式名“ key”的样式限制该样式所应用的键。这种情况下,将“ + ”作为分 隔字符,将成为样式的对象的一个或多个键设定为的样式值,并且指示要应用的样式的样 式描述语句记载在后续的括号内。在图1的键集文件10的例子中,在样式集14中记述“ key = " Rb+Cb" ”。这种情况下,后续的样式仅应用于被指定了 “Obutton”的键及其子孙 键中的、具有Rb标签的键和具有Cb标签的键。注意,当“all”被指定为样式的对象时,表 示所有种类的键。
当指定了“ key”时,样式被继承到被设定了该样式集作为属性的键及其子孙 (由“ key”的值指示的那些键)。但是,当对“ key”的值指定了 “me”时,样式仅应用 于被指定了该样式集的键,不继承到其子孙。注意,当省略“ key”的指定时,认为“me”被 设定为 key。例如,在图1的键集文件10中,由于在样式集13中没有记载“ key”,所以 假定对其设定了 “me”来执行处理。注意,按照样式的键的描绘处理的细节将后述。标签“U”表示与分配给键集的整个描绘区域对应的键。标签为“U”的键(以下称 为U键)的子孙键被分配了与U键对应的描绘区域的至少一部分。原则上,在键集文件中 包含一个U键。图1的键集文件10也仅有一个U键21。作为U键的子孙的键具有标签“R”、“Rb”、“C”、“Cb”或“I”。注意,虽然具有这些 以外的标签的键能够成为U键的子孙,但是,为了简化说明,在本实施方式中,假定U键的子 孙键具有标签 “ R”、“ Rb,,、“ C,,、“ Cb,,或 “ I”。 标签为R或Rb的键(以下称为R键)和标签为C或Cb的键(以下称为C键)被 称为布局键。布局键表示分割分配给双亲键的描绘区域。R键表示将分配给双亲键的描绘 区域分割成行,C键表示分割成列。可以对布局键设定字符串和样式集名作为属性。在键集文件10的例子中,例如, 作为U键的孩子的R键中的第一个R键22被设定了字符串“0”和样式集名“Olabel”作为属性。布局键表示将双亲描绘区域均等地分割成与兄弟键的个数对应的个数。例如,当 键串为“U{RR} ”时,由U键指示的描绘区域被上下分割成两个,当键串为“UICCC} ”时,由U 键指示的描绘区域被左右分割成3个。可以在“R”、“Rb”、“C”或“Cb”之后记述数值。这种情况下,标签之后的数值(以 下称为指定数)表示描绘区域的分割比。在键集文件10的例子中,当键串为“U{RR4}”时, 由U键指示的描绘区域被上下分割成两个,即1/5和4/5。注意,当省略指定数的记述时,认 为记述了 “1”作为指定数。换言之,上述键串“U{RR4}”与“U{R1R4}”含义相同。注意,在本实施方式中,R键和C键不存在于同一层级中。针对每个布局键分配样式。每个布局键继承对它们的双亲键分配的样式,当样式 集名被指定为布局键的属性时,对该样式集名指定的样式也被分配。每个键以指定的样式描绘在所分配的描绘区域中。注意,键的描绘处理将在后面 详细说明。标签“I”表示用于将其它键集连结在一起的键。当标签为I的键(以下称为I键) 包含在键串中时,由对I键的属性设定的键集名或URL(Uniform Resource Locator,统一资 源定位符)指示的键集文件(在本实施方式中,键集文件的文件名与键集名一致)被读出, 被读出的键集文件中包含的键作为I键的孩子被连结。例如,当存在由键串“ K ( “ A ”){U {RR {I ( “ B ”)}}} ”描述的键集A和由键串“ K ( “ B ”) {U {CC}},,描述的键集B时,将键集B与键集A连结,键串成为“K {U {RR{I {K {U {CC} }}}}}”。在键集文件10的例子中,URL "http://server/kbd. ks,,作为属性被设定给I键 25。取得由该URL指示的键集文件并且作为I键25的孩子连结键集文件中包含的键串。这样,作为I键的孩子,连结作为I键的属性指定的键集文件中包含的键串,从而
7与I键对应的样式也被I键的子孙继承。因此,除非特别指定样式集名,在I键以下连结的 键以与I键同样的样式被描绘。从而,即使在I键连结了其它键集文件的情况下,I键以下 的部分的样式也可以被统一。以下详细说明本实施方式的描绘系统。==系统结构==图3是示出本实施方式的描绘系统的整体结构的图。本实施方式的描绘系统构成为包括用户终端100和键集提供服务器200。用户终 端100和键集提供服务器200经由通信网络300可通信地彼此连接。通信网络300例如是 互联网或LAN(局域网),由以太网(注册商标)、帧中继网络、公用电信网、无线通信网等构
Λ-Λ·巩。用户终端100例如是由用户操作的个人计算机、工作站、PDA(个人数字助理)、蜂 窝电话或P0S(Point Of Sales,销售点)终端等计算机。键集文件存储在用户终端100中, 描绘键集文件中包含的键。键集提供服务器200例如是提供键集文件的个人计算机或工作站等计算机。键集 提供服务器200响应于来自用户终端100的请求,向用户终端100发送键集文件。在本实施 方式中,键集提供服务器200具有Web服务器的功能,并且按照HTTP (Hyper Text Transfer Protocol,超文本传输协议)发送键集文件。用户可以操作用户终端100,通过访问键集提供服务器200来取得键集文件,并且 描绘通过用户终端100从键集提供服务器200取得的键集文件中包含的键。并且,当键串中包含I键并且对该I键指定了用于访问存储在键集提供服务器200 中的键集文件的URL时,用户终端100可以向键集提供服务器200发送指定用于访问的URL 的请求,接收从键集提供服务器200答复的键集文件,并且将包含在所接收的键集文件中 的键串作为I键的孩子连结。==硬件==图4是示出用户终端100和键集提供服务器200的硬件结构的图。如图4所示, 用户终端100和键集提供服务器200均包括CPU 101、存储器102、存储设备103、通信接口 104、输入设备105和输出设备106。存储设备103例如是存储各种程序和数据的硬盘驱动器、CD-ROM驱动器、闪速存 储器等。CPU 101通过将存储在存储设备103中的程序读取到存储器102中并执行来实现 各种功能。通信接口 104是用于连接到通信网络300的接口。通信接口 104例如是用于连 接到以太网(注册商标)的适配器、用于连接到公用电信网的调制解调器或无线通信工具。输入设备105例如是接收数据输入的键盘、鼠标、触摸面板等。输出设备106例如 是输出数据的显示器、打印机等。==键集提供服务器200==图5是键集提供服务器200的功能框图。如上所述,键集提供服务器200包括提供普通的web服务器的功能的web处理单 元211和键集文件存储单元212。键集文件存储单元212中存储键集文件。在本实施方式中,键集文件存储单元212 中存储名称为“kbd.ks”的键集文件30。如图5所示,键集文件30具有将键K( “kbd.ks”)作为根的树结构。在本实施方式中,假定键集文件30的URL为“http://serVer/kbd. ks”。注意,通过由CPU 101读取并执行存储在键集提供服务器200所包括的存储设备 103中的程序,来实现web处理单元211。键集文件存储单元212被实现为由存储器102和 存储设备103提供的存储区域。键集文件存储单元212例如可以被实现为由键集提供服务 器200操作的操作系统所提供的文件系统的目录。==用户终端100 ==图6是用户终端100的功能框图。用户终端100包括键集描绘处理单元111、键串解析器112、输入/输出接口 113、 管理器控制器114、文件管理器115、web管理器116、键集存储单元151、键集文件存储单元 152和样式存储单元153。注意,通过由CPU 101读取并执行存储在用户终端100所包括的存储设备103中 的程序,来实现键集描绘处理单元111、键串解析器112、输入/输出接口 113、管理器控制器 114、文件管理器115和web管理器116。键集存储单元151、键集文件存储单元152和样式 存储单元153被实现为由存储器102和存储设备103提供的存储区域。键集文件存储单元152存储键集文件。在本实施方式中,图1所示的键集文件10 存储在键集文件存储单元152中。但是,当然也可以存储其它键集文件。键集文件存储单 元152例如可以被实现为文件系统的目录。文件管理器115接受文件名的指定,并从键集文件存储单元152读出由所指定的 文件名指示的键集文件。web管理器116接收URL并且从键集提供服务器200取得由该URL指示的键集文 件。web管理器116向键集提供服务器200发送设定了所接收的URL的HTTP请求,并且从 键集提供服务器200接收作为该HTTP请求的响应而发送的键集文件。管理器控制器114(对应于本发明的文档取得部分)控制文件管理器115和web 管理器116。管理器控制器114接收键集名并且根据所接收到的键集名,将键集名提供给 文件管理器115或web管理器116,并且对其进行调用以取得键集文件。例如,当键集名以 “http //”开始时,管理器控制器114可以调用web管理器116,否则,管理器控制器114可 以调用文件管理器115。注意,在本实施方式中,文件管理器115从文件系统执行文件的读出,web管理 器116通过HTTP从键集提供服务器200接收键集文件。但是,例如可以设置从FTP(File Transfer Protocol,文件传送协议)服务器取得键集文件的FTP管理器、通过电子邮件接 收键集文件的电子邮件管理器、从键盘等输入设备105直接接收键串的输入并生成包含所 接收的键串的键集文件的输入设备管理器等。键串解析器112(对应于本发明的文档连结部分)读出存储在键集文件存储单元 152中的键集文件10,并且对包含在该键集文件10中的键串进行分析,生成表示树结构的 键的数据(以下称为键树结构)。键串解析器112将所生成的键树结构存储到键集存储单 元151中。注意,键树结构例如可以将键表现为存储器上的对象,并且通过指针和参照来表 现对象之间的亲子关系。当键串中包含I键时,键串解析器112提供被设定为该I键的属性的键集名,以调 用管理器控制器114。键串解析器112从管理器控制器114取得键集文件,对所取得的键集
9文件中包含的键串进行分析以生成键树结构,并且连接所生成的键树结构的根,从而其成 为I键的孩子。图7是说明作为键串解析器112对图1所示的键集文件10的分析结果的键树结 构40的结构的图。如图7所示,键树结构40中包含的I键25具有与其连结的K键31作 为它的孩子。包含该K键及其以下的键树结构41是分析由键集提供服务器200提供的键 集文件30的键串而得到的结果。键集描绘处理单元111根据存储在键集存储单元151中的键树结构,向输出设备 106输出字符串。注意,键集描绘处理单元111的处理的细节将后述。键串解析器112根据键集文件中包含的样式键,在样式存储单元153中存储表示 应用于键的样式的信息(以下称为样式信息)。图8是示出存储在样式存储单元153中的样式信息的结构例子。如图8所示,样 式信息包括样式集名、样式应用对象和应用样式的值。样式应用对象中包括应用样式的键 的标签和样式的名称。当指定了“me”作为标签时,表示该样式仅应用于被指定了该样式集 名的键,该样式不被其子孙键继承。当指定了“all”作为标签时,表示该样式被应用于所有 键。例如,在图10的例子中,“me fontsize”和“Rb fontsize”被表示为与描绘位置 ( align)相关的样式应用对象。注意,假定样式集名为“default (默认),,的样式信息预先存储在样式存储单元 153中,作为用于描绘的所有样式的默认值。如上所述,在本实施方式中,用于描绘的样式仅 有 5 禾中,艮口" margin,,、" padding,,、" border,,、" fontsize”禾口" base region,,。 并且,在图8的例子中,登记了包含对这5种样式名指定了标签、11”、“1 ”、“诎”、“(”和 “Cb”的应用对象的样式信息,使其与“default”样式集名对应。图9是示出由键串解析器112执行的样式登记处理的流程的图。键串解析器112 对样式键的每个子要素执行下述处理。键串解析器112将子要素的要素名设定为样式集名(S401),提取被记述为子要素 的内容的样式描述语句,并将其设定为样式列表(S402)。键串解析器112将样式集名作为 第一参数、将“me”作为第二参数并且将样式列表作为第三参数,调用图10所示的样式信息 的登记处理(S403)。在图10所示的样式信息的登记处理中,键串解析器112将第一参数设定为样式集 名(S421),并对包含在第三参数中的每个样式描述语句执行下述处理。当记述在样式描述语句中的样式名为“ key”时(S422 是),键串解析器112从 记述在样式描述语句中的样式值中提取由“ + ”分隔的标签的列表,并将其设定为标签列表 (S423)。注意,当样式值中不包含“ + ”时,生成仅包含一个标签的标签列表。键串解析器112提取样式描述语句之后的括号内记载的样式描述语句,并且将 其设定为样式列表(S424),针对上述标签列表中包含的每个标签,将样式集名作为第一 参数、将该标签作为第二参数并且将样式列表作为第三参数,递归地调用相关的登记处理 (S425)。另一方面,当样式名不是“ key”时(S422 否),键串解析器112将第一参数设 定为标签(S426),将通过连结标签和记述在样式描述语句中的样式名而生成的字符串设定 为应用对象,生成包括样式集名、应用对象和记载在样式描述语句中的样式值的样式信息,将其登记在样式存储单元153中(S428)。通过对包含在第三参数中的每个样式描述语句执行上述处理,将例如图8所示的 样式信息登记在样式存储单元153中。输入/输出接口 113控制数据从输入设备105的输入、向输出设备106的输出、以 及与管理器控制器114之间的数据通信。==键描绘处理==以下说明用户终端100中的键描绘处理。注意,在以下处理中,预先由键串解析器 112生成键树结构40,并且将指定给样式键12的样式登记在样式存储单元153中,使其与 样式集名对应。在本实施方式中,预先以预定字体描绘字符串。图11是说明用户终端100中的键描绘处理的流程的图。如图11所示,键集描 绘处理单元111将作为键树结构40的根的键(在图7的例子中为K键11)设定为变量 key(S501)。键集描绘处理单元111取得能够被描绘到输出设备106的最大描绘区域,并且将 所取得的描绘区域的宽度和高度分别设定为w和h(S502)。在本实施方式中,描绘区域是矩 形的,并且,将矩形的左上角作为基准坐标(0,0),表示为“(X坐标,Y坐标,宽度,高度)”。键集描绘处理单元111对key设定描绘区域(0,0,w, h) (S503)。注意,键集描绘 处理单元111例如对键的属性设定描绘区域。键集描绘处理单元111从样式存储单元153读取键集名为“ default ”的样式信息, 并将所读取的样式信息的列表(以下称为样式列表)设定为st(S504)。键集描绘处理单元 111把要登记表示对哪个键设定样式集的信息(以下称为样式参照信息)的空列表设定为 bst(S505)。键集描绘处理单元111对key设定st和bst(S506)。当key的标签不是“se”时(S507 否),键集描绘处理单元111执行后述的图12 中的key的描绘处理(S508)。当在键树结构40中以key为基础以深度优先顺序包含下一键时(S509 是),键集 描绘处理单元111将下一键设定为key(S510),当key的标签不是“se”时(S507 否),键 集描绘处理单元111执行key的描绘处理(S508)。如上所述,键集描绘处理单元111对包含在键树结构40中的样式键以外的各键, 以深度优先顺序执行步骤S505的描绘处理。因此,键集描绘处理单元111可以对键树结构 40中包含的样式键以外的所有键执行描绘处理。换言之,与键集文件10连结的键集文件 30中记述的样式键以外的所有键都被描绘。图12是示出图11的步骤S508中的key的描绘处理的流程的图。首先,键集描绘处理单元111对在键树结构40中作为key的子键的每个键(以下 称为子键)设定对key所设定的描绘区域(S521)。接着,键集描绘处理单元111确定key的子键中是否包含布局键(S522),当子键中 不包含布局键时(S522 否),结束处理。当key的子键中有布局键时(S522 是),键集描绘处理单元111将对key设定的 描绘区域的X坐标、Y坐标、宽度和高度设为x、y、w、h(S523)。键集描绘处理单元111将子 键中的布局键的指定数的总和设为η (S524)。键集描绘处理单元111将通过用η来除w而 得到的商设为cw(S525),并且将通过用η来除h而得到的商设为ch(S526)。键集描绘处理
11单元111对cx设定χ (S527),对cy设定y (S528),对变量m设定0 (S529),并且当存在下一 子键时(S530:是),执行以下处理。键集描绘处理单元111将下一子键设定为ck(S531),并且执行图13所示的ck的 样式设定处理(S532)。如图13所示,在ck的样式设定处理中,首先,键集描绘处理单元111将对作为ck 的双亲键的key设定的样式列表设定为st(S541),并从st中删除具有以“me ”开始的样 式应用对象的样式信息(S542)。键集描绘处理单元111将对key设定的样式参照列表设定 为 bst(S543)。当对ck的属性设定了样式集名时(S544 是),键集描绘处理单元111从样式存储 单元153读取与对ck的属性设定的样式集名对应的样式信息,将所读取的样式列表设定为 est (S545),并将est追加到st的开头(S546)。图14中示出这里生成的st的结构例。图14示出对图1的键集文件10中记述的 R键22生成的样式列表50 (st)的例子。样式信息52是对作为根的K键11设定的默认样 式信息。由于对R键22的属性设定了样式集名“Olabel”,与“Olabel”对应的样式信息51 被追加到列表的开头。键集描绘处理单元111与对ck的属性设定的样式集名相关联地生成包含ck的标 识信息(以下称为键ID,例如当将键表现为对象时,键ID可以是对该对象的指针或参照, 或者可以将键ID唯一地分配给对象)的样式参照信息,并将其追加到bst的开头(S547)。 图15中示出这里生成的样式参照列表60 (bst)的例子。如图15所示,对属性设定了样式 集名的ck的键ID与该样式集名相关联地登记。最后,键集描绘处理单元111对ck设定st和bst(S548)。以上述方式,当对ck的属性设定了样式集名时,对ck设定将与对ck的属性设定 的样式集名对应的样式信息追加到对双亲key设定的样式列表的开头而得到的样式列表, 而没有对ck的属性设定样式名时,对ck原样设定对双亲key设定的样式列表。这样,在键 树结构40中,从双亲继承每个键的样式。当对ck的属性设定了样式集名时,样式集名和ck 的键ID被登记到对双亲key设定的样式参照列表的开头,并且样式参照列表也从双亲继承 到孩子。返回图12,当ck的标签是“C”或“Cb”时(S533 :C、Cb),键集描绘处理单元111对 Ck设定(cx,y,CWX指定数,h)作为描绘区域(S534),并且对cx加上cwX (ck的指定数) 的计算结果(S535)。当ck的标签是“R”或“Rb”时(S533:R、Rb),键集描绘处理单元111 对ck设定区域(X,cy, w, ChX指定数)作为描绘区域(S536),并且对cy加上chX (ck的 指定数)的计算结果(S537)。以上述方式,当ck是C键时,在χ轴方向上被分割成η个部 分的key的描绘区域被设定给ck,当ck是R键时,在Y轴方向上被分割成η个部分的key 的描绘区域被设定给ck。另一方面,当ck的标签不是“(”、“03”、1”或“诎”时(S533 其它),键集描绘处 理单元111重复从步骤S530开始的处理。当ck 的标签是“C”、“Cb”、“R”或“Rb” 时(S533 Cb, S533 :R、Rb),键集描绘处 理单元111执行图16所示的Ck的描绘处理(S535)。键集描绘处理单元111将表示外边距的“ margin”作为样式名,执行图17所示的样式值取得处理,并将其结果设为m(S561)。在图17所示的样式值取得处理中,键集描绘处理单元111将对ck设定的样式列 表设为L(S581),并且从L的开头开始,检索与将样式名与“me”连结的字符串对应的样式值 (S582)。当找到上述的样式值时(S583 是),键集描绘处理单元111结束处理,当没有找到 上述的样式值时(S583 否),从L的开头开始检索与将样式名与ck的标签连结的字符串对 应的样式值(S584)。当找到上述的样式信息时(S585 是),键集描绘处理单元111结束处理,当没有找 到上述的样式信息时(S585 否),从L的开头开始检索与将样式名与“all”连结的字符串 对应的样式值(S586)。注意,在本实施方式中,在样式存储单元153中登记与所有的样式名对应的默认 样式值,作为将样式名与“all”连结的样式应用对象的样式信息,并且假定通过上述处理可 靠地检索到样式值。键集描绘处理单元111确定是以绝对单位还是以相对单位指定了样式值(S587)。 当以相对单位指定了样式值时,即,当作为样式值指定的字符串以“ %,,结束时(S587),键 集描绘处理单元111通过图18所示的样式值转换处理,将样式值从相对单位转换到绝对单 位。在图18的转换处理中,键集描绘处理单元111将对ck设定的样式值设为 L(S601),从L的开头开始检索对应于“me base region”的样式集名和值,分别作为sk 和 val (S602)。当键集描绘处理单元111没有找到上述sk和val时(S603 否),从L的开头开 始,检索与将“ base region”与ck的标签连结的字符串对应的样式集名和值作为sk 和 val (S604)。当键集描绘处理单元111没有找到上述sk和val时(S605 否),从L的开头开 始,检索与“all base region”对应的样式集名和值作为sk和val (S606)。注意,在本实施方式中,预先与样式名“default”对应地在样式存储单元153中存 储了 “all base region”的默认值,键集描绘处理单元111通过上述处理可靠地取得 sk 禾口 val ο当sk为“default”时(S607 是),键集描绘处理单元111将ck的键ID设为 kid(S608),当sk不是“default”时(S607 否),键集描绘处理单元111从对ck设定的样 式参照列表的开头取得与sk对应的键ID作为kid(S609)。键集描绘处理单元111将由kid指示的键设为vk(S610),并且根据通过上述处理 检索到的val,执行图19所示的基准键的确定处理(S611)。如图19所示,当val为“me”时(S621 :me),键集描绘处理单元111将vk设定为 基准键(S622),当val为“parentkey”时(S621 :parent key),将vk的双亲键设定为基准 键(S623)。当val为“thisks”时(S621 :thisks),键集描绘处理单元111检索vk的祖先键 中的属于最近层级的K键,并将其设定为基准键(S624)。当val为“parentks”时(S621 :parentks),键集描绘处理单元111检索vk的祖
13先键中属于第二最近层级的K键,并将其设定为基准键(S625)。注意,当在vk的祖先键中 只有一个K键时,可以将该K键设定为基准键。当val为“page”时(S621 :page),键集描绘处理单元111检索vk的祖先键中的 属于最远层级的K键,并将其设定为基准键(S626)。当键集描绘处理单元111通过上述处理确定了基准键时,取得所确定的基准键中 包含的区域的宽度(w),并将通过使所取得的宽度与以百分比(%)指定的样式值相乘而得 到的值设定为样式值(S612)。这样,根据基准键的宽度,将以相对单位指定的样式值转换为绝对单位的值。接着,键集描绘处理单元111将样式名设定为表示边界的“ border”,执行上述 图17所示的样式值取得处理,并将结果设为b (S562)。键集描绘处理单元111取得对ck设定的描绘区域的X坐标、Y坐标、宽度和高度分 别作为dx、dy、dw和dh (S563)。键集描绘处理单元111分别将m加到dx和dy上(S564), 并分别从dw和dh各减去m的两倍的值(S565),计算对ck设定的描绘区域的外边距内侧的 矩形。键集描绘处理单元111以b的线宽描绘该矩形(dx,dy, dw, dh) (S566)。当对ck的属性设定了字符串时(S567 是),键集描绘处理单元111将样式名作 为表示字体大小的“ fontsize”,执行上述图17所示的样式值取得处理,并将结果设为 f(S568)。键集描绘处理单元111还将样式名作为表示内边距的“ padding”,执行上述图 17所示的样式值取得处理,并将结果设为ρ (S569)。键集描绘处理单元111将b和ρ都加 到dx和dy上(S570),并从dw和dh都减去b和ρ之和的两倍的值(S571),计算上述矩形 的边界的宽度和内边距的内侧的区域。键集描绘处理单元111将对ck的属性设定的字符 串设为t(S572),以f的字体大小在所计算的区域(dx,dy, dw, dh)内描绘字符串t (S573)。图20是示出通过上述处理描绘了键集文件10的画面70的例子的图。在图20中, 输出设备106是显示器等显示设备,示出在显示设备的画面上描绘了图1所示的键集文件 10的例子。如图20所示,R键22在画面70上被描绘为图形71。在R键22中,指定了具有 样式集名“Olabel”的样式集13,在样式集13中,字体大小被设定为“7% ”,边界被设定为 “ 1 % ”,内边距被设定“ 1 % ”。未对样式集13设定的外边距根据存储在样式存储单元153中 的默认样式信息被设定为“Opt”,并且从根的K键11继承到R键22。由于在样式集13中, 基准样式的样式值被设定为“page”,因此,以整个画面70的宽度为基准,将以相对单位指 定的样式转换成绝对单位。在画面70上,R键27被描绘为图形72,与I键25连结的键集文件30中包含的C 键32被描绘为图形73。尽管对R键27和C键32都没有设定样式集名,但如上所述,样式 从R键23分别继承到R键27和C键32。对R键27的双亲设定的描绘区域的宽度74与对C键32的双亲设定的描绘区域 的宽度75不同。因此,当以双亲的描绘区域为基准,根据以相对单位指定的样式描绘了键 时,R键27和C键32的边界和外边距的大小不同。但是,在本实施方式的描绘系统中,根据与被指定了样式集名的R键23对应的基 准样式的样式值,确定基准键,并且根据基准键的宽度计算以相对单位指定的大小作为绝 对单位的大小。因此,R键27和C键32都以与R键23所属的K键11对应的区域为基准
14计算样式值,从而使R键27和C键32具有相同的外观。如上所述,根据本实施方式的描绘系统,根据对每个键设定的样式参照列表确 定基准键,并且根据该基准键的宽度将相对单位的样式值转换成绝对单位。当基准样式 的样式值为“page”时,对所有的键确定同一基准键,当基准样式的样式值为“parentks” 或“thisks”时,对来自特定K键的子孙键确定同一基准键,当基准样式的样式值为 “parentkey”或“me”时,对继承了键的样式的所有子孙键确定同一基准键。这样,根据同一 基准键的宽度转换多个键的相对单位的样式值,从而即使以相对单位指定了样式值,也可 以将相同大小的样式应用于这多个键。通过这样根据同一基准键的宽度转换相对单位的样 式值,即使画面的大小在客户端之间不同,也可以将所有客户端的画面设定为外观相似。根据被指定了样式集名的第一个键(以下称为指定键)来确定基准键。即,当基 准样式的样式值是“me”时,基准键是指定键,当基准样式的样式值是“parentkey”时,基准 键是指定键的双亲,当基准样式的样式值是“thisks”时,基准键是指定键的祖先中的最近 的K键,当基准样式的样式值是“parentks”时,基准键是指定键的祖先中的第二最近的K 键,当基准样式的样式值是“page”时,基准键是根键。由于样式从指定键继承到其子孙,因 此,除非指定了基准键,对于属于指定键以下的子树的键,可以基于同一基准键转换相对单 位的样式值。这样,即使以相位单位指定了样式值,也可以将同一大小的样式应用于指定键 以下的子树,从而可以统一整个子树的外观。画面设计者可以假设每个子树的基准键并且 指定相对于该基准键的宽度的大小,来设定样式,从而即使画面大小改变,也可以在保持外 观不变的情况下,以灵活的方式执行画面设计。由于在树结构中,样式被继承到键的子孙,因此,设计者可以容易地掌握对键设定 的样式将会应用的区域。因此,可以使设计者的工作更有效率。由于每个布局键被描绘到整个双亲描绘区域或者其一部分,因此可以容易地以同 一样式统一作为基准的双亲键的描绘区域中描绘的所有布局键。即,当对同一描绘区域中 描绘的键设定了同一样式时,只需对双亲键设定样式集名。因此,即使忘记设定样式集名, 也可以统一键的外观。当通过I键将键集文件30连结到键集文件10时,键集文件10中的键的样式可以 被继承到作为I键的子孙被连结的键集文件30。因此,在键集文件30中的键中无需事先记 载样式集名,从而可以提高键集文件的模块性(modularity)。对构成键树结构40的样式键以外的所有键执行上述图12的处理。因此,根据本 实施方式的描绘系统,对键树结构40的根分配的描绘区域的整体或一部分被分配给键树 结构40中包含的样式键以外的每个键。对所分配的描绘区域执行后述的字符串描绘。由 此,将在一个画面上描绘整个键树结构40。换言之,构成键树结构40的所有键中的、设定了 要描绘的字符串作为属性的键可以显示在一个画面上。这样,可以确保在画面上显示键的 整个列表。根据本实施方式的描绘系统,可以使键构成键树结构,对树结构的根分配画面整 体的描绘区域,并且对每个键分配双亲描绘区域的整体或一部分作为键信息的描绘区域。 因此,画面的结构仅需以树结构表现画面的分割状态,从而画面设计者可以容易地将画面 结构记述为键串。当对表示画面的区域的键设定了样式集名时,对该键设定样式,并且该样式被继承到要描绘到该区域的较低层级的键。因此,可以容易地统一画面的一部分的外观。另一方面,可以通过指定“ key”来限制应用样式的键的类型。通过省略应用对 象键的指定,或者设定“ key = me”,可以使样式仅应用于指定了该样式集的键。因此,可 以容易地根据键类型改变外观,或者修改特定键的外观,从而可以执行灵活的设计。注意,本实施方式的描绘系统构成为包括用户终端100和键集提供服务器200。 但是,描绘系统可以构成为仅具有用户终端100。这种情况下,用户终端100可以仅显示存 储在用户终端100中的键集文件。相反,该描绘系统可以构成为包括多个键集提供服务器 200。在本实施方式中,键集作为文件存储。但是,也可以不采用文件形式,而是存储为 例如数据库的记录。并且,在本实施方式中,根据基准键的宽度来转换以相对单位指定的样式值。但 是,本发明不限于此。可以将基准键的高度设定为基准,也可以将基准键的宽度或高度中较 小者或较大者设定为基准,还可以将基准键的宽度和高度的平均值设定为基准。在本实施方式中,显示字符串的字体是预定的。但是,也可以将字体指定为样式。 这种情况下,可以对样式键指定字体作为样式(例如将样式名设定为 font),并且将默认 字体登记在样式存储单元153中。而且,键集描绘处理单元111在图16的步骤S567中从 对ck设定的样式列表中取得字体( font)的值,并且计算字符串t在利用所取得的字体 以字体大小f进行描绘的情况下的宽度和高度。在本实施方式中,以相同方式显示标签为“R”的键、标签为“Rb”的键以及标签为 “C”的键、标签为“Cb”的键。但是,例如可以将标签为“Rb”的键和标签为“Cb”的键描绘为按钮。在本实施方式中,布局键具有4种类型的标签“R”、“Rb”、“C”或“Cb”中的任意一 种。但是,本发明不限于此,可以定义各种标签。在本实施方式中,在对每个键设定的样式列表中,在末尾设定默认样式信息,并且 按照层级的深度的顺序排列样式信息,从而当对该键或祖先键设定了相同样式时,应用对 离该键距离最近的键设定的样式。但是,本发明不限于此,当没有对作为描绘对象的描绘键 指定样式集名时,可以应用对设定了样式的祖先键中离描绘键距离最远的键设定的样式。这种情况下,例如默认样式信息没有包含在样式列表中,在图16的步骤S561、 S562、S568和S569中,如果对描绘键设定了样式集名,则键集描绘处理单元111从样式存 储单元153中检索与所设定的样式集名和样式名对应的值。另外,当没有对描绘键设定样 式集名,或者在样式存储单元153中没有发现与所设定的样式集名和样式名对应的值时, 键集描绘处理单元111从样式列表的末尾开始检索与样式名对应的值,如果仍然没有找到 该值,则从样式存储单元153中检索与“default”和样式名对应的值。这样,当没有对描绘键设定样式时,按照对离该描绘键最远的祖先键设定的样式 来描绘该描绘键,另一方面,当对描绘键设定了样式时,根据所设定的样式来描绘该描绘 键。因此,由于可以对特定双亲键设定样式以统一其子孙键的样式并且仅修改该特定键的 样式,因此可以使设计变得容易。如上说明了本发明的实施方式,但是应当理解,上述实施方式应当被解释为促进 对本发明的理解,而不是限制本发明的范围。在不脱离本发明的精神的情况下,本发明包含各种变更、改进和等同方案。
权利要求
一种用于描绘树结构的结构化文档的系统,包括区域确定部分,对构成上述结构化文档的每个要素分配描绘区域;基准要素确定部分,当对第一要素设定了第一样式时,确定作为该第一要素所属的子树的根的第二要素,上述第一样式以相对单位表现与尺寸有关的格式;描绘样式计算部分,基于分配给上述第二要素的描绘区域,计算以绝对单位表现上述第一样式的第二样式;和要素描绘部分,根据上述第二样式描绘上述第一要素。
2.如权利要求1所述的结构化文档描绘系统,其中,上述第一样式是用于描绘表现上述第一要素的图形的线宽、用于在上述描绘区域的内 部描绘上述图形的外边距、用于在上述图形的内部描绘文本的内边距、以及用于描绘该文 本的字体大小当中的至少一个。
3.如权利要求1所述的结构化文档描绘系统,其中,上述基准要素确定部分确定上述结构化文档的根作为上述第二要素。
4.如权利要求1所述的结构化文档描绘系统,还包括 结构化文档存储部分,存储第一结构化文档;文档取得部分,当对包含在上述第一结构化文档中的上述第一要素的属性指定了第二 结构化文档时,取得该第二结构化文档;和文档连结部分,将上述第二结构化文档与上述第一结构化文档连结以生成作为描绘对 象的结构化文档,从而上述第二结构化文档的根要素成为上述第一要素的子要素。
5.如权利要求4所述的结构化文档描绘系统,其中,当上述第一要素包含在上述第一结构化文档中时,上述基准要素确定部分将上述第一 结构化文档的根确定为上述第二要素;当上述第一要素包含在上述第二结构化文档中时,上述基准要素确定部分将上述第二 结构化文档的根确定为上述第二要素。
6.一种用于描绘树结构的结构化文档的方法,包括由计算机执行的下述步骤 对构成上述结构化文档的每个要素分配描绘区域;当对第一要素设定了第一样式时,确定作为该第一要素所属的子树的根的第二要素, 上述第一样式以相对单位表现与尺寸有关的格式;基于分配给上述第二要素的描绘区域,计算以绝对单位表现上述第一样式的第二样 式;以及根据上述第二样式描绘上述第一要素。
7.一种用于描绘树结构的结构化文档的程序,其中计算机执行下述步骤 对构成上述结构化文档的每个要素分配描绘区域;当对第一要素设定了第一样式时,确定作为该第一要素所属的子树的根的第二要素, 上述第一样式以相对单位表现与尺寸有关的格式;基于分配给上述第二要素的描绘区域,计算以绝对单位表现上述第一样式的第二样 式;以及根据上述第二样式描绘上述第一要素。
全文摘要
根据本发明,当以相位单位设定了与结构化文档的子树中包含的所有要素的尺寸有关的样式时,能够以相同样式显示所有的这些要素。用户终端(100)在描绘构成树结构的键串的每个键时,对每个键分配描绘区域,当对某个键设定了以相对单位表现与尺寸有关的格式的样式时,确定该键所属的子树的根,以分配给该子树的根的描绘区域为基准,将以相对单位表现的样式转换成绝对单位,并且根据以绝对单位表现的样式来描绘该键。
文档编号G06F17/21GK101911057SQ200880122539
公开日2010年12月8日 申请日期2008年11月5日 优先权日2007年11月7日
发明者吉村克生, 阿部直哉 申请人:株式会社卡特纳斯;恩梯梯数据经营研究所股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1