CN1950817A - 文档处理装置和文档处理方法 - Google Patents

文档处理装置和文档处理方法 Download PDF

Info

Publication number
CN1950817A
CN1950817A CNA2005800119344A CN200580011934A CN1950817A CN 1950817 A CN1950817 A CN 1950817A CN A2005800119344 A CNA2005800119344 A CN A2005800119344A CN 200580011934 A CN200580011934 A CN 200580011934A CN 1950817 A CN1950817 A CN 1950817A
Authority
CN
China
Prior art keywords
document
data
unit
document processing
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005800119344A
Other languages
English (en)
Inventor
桧山正幸
和家伸明
大岛教雄
原雅文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JustSystems Corp
Original Assignee
JustSystems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JustSystems Corp filed Critical JustSystems Corp
Publication of CN1950817A publication Critical patent/CN1950817A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

提供了一种对利用标记语言描述的文档中包含的数据进行有效利用的技术。该文档处理装置(100)通过插件针对每个词汇实现了进行显示/编辑的处理系统,例如用于显示/编辑HTML文档的HTML单元(150)、用于显示/编辑SVG文档的SVG单元(160)。计算单元(190)是处理用于描述计算式的词汇的插件,在作为处理对象的文档中所包含的构成元素的属性值中描述了参考其它数据的计算式时,获得参考目标的数据来执行计算式,将所计算的结果代入构成元素的元素值中。

Description

文档处理装置和文档处理方法
技术领域
本发明涉及一种文档处理技术,特别是涉及一种处理由标记语言描述的文档的文档处理装置和文档处理方法。
背景技术
XML作为适用于通过网络等与他人共享数据的格式受到人们的关注,且人们正开发用于编写、显示和编辑XML文档的应用软件(例如,请参考专利文献1)。XML文档由文档型定义等定义的词汇(标签组)编写。
专利文献1:特开2001-290804号公报
发明内容
发明要解决的课题
在现有技术中,在以某应用软件作成的文档中嵌入以其他应用软件作成的数据或文档的情况下,所嵌入的数据作为所谓的黑匣子(black box)对待,而不能对其内容进行参考。然而,人们需要一种可以参考任意数据的技术,以有效地利用文档中的数据。
本发明是鉴于这种状况而做出的,其目的在于,提供一种可以有效地利用包含在以标记语言描述的文档中的数据的技术。
解决课题的方案
本发明的一种实施方式涉及文档处理装置。该文档处理装置包括处理系统,显示以标记语言描述的文档,并接受用户对所述文档的编辑;以及计算单元,当所述文档包含的构成元素的属性值中描述了参考其它数据的计算式时,获取参考目标的数据来执行所述计算式,将计算结果代入所述构成元素的元素值中。
标记语言可以是XML的一种方式,例如,XHTML、SVG、MathML等,也可以是SGML、HTML等。通过能够由参考其它数据的计算式来描述,能够有效地利用数据,并提高用户的便利性。所述参考目标的数据由与参考源的所述构成元素不同的标记语言来描述。
所述计算式可以由用于描述所述计算式的标记语言来描述。在这种情况下,所述计算单元可以作为对用于描述计算式的专用标记语言进行解释和处理的插件来提供。所述计算式也可以作为全局属性被描述。
所述计算单元在所述参考目标的数据被改变时,可以再执行所述计算式,将计算结果代理所述元素值中。在新的计算结果代入后,处理系统的显示可以更新。这样,能够适当地更新参考源的数据,并在显示中实时地反映。
文档处理装置还可以包括生成部,能够从所述文档生成数据,所述数据符合为了在将文档作为数据处理时提供访问方法而被确定的文档对象模型格式。所述生成部可以生成与所述文档相对应的文档对象模型数据,所述处理系统可以参考所述文档对象模型数据,显示所述文档。所述计算单元可以从所述文档对象模型数据中确定所述参考目标的数据并取得该数据。即使对于不同的多个标记语言描述的文档,通过将其变换为文档对象模型数据,可以用同样的访问方法进行访问,因而计算单元能够容易地确定并从而获得参考目标的数据。
本发明的另一个实施方式涉及文档处理方法。该文档处理方法包括:判断步骤,在显示装置显示以标记语言描述的文档时,判断在所述文档中包含的构成元素的属性值是否描述了参考其它的数据的计算式;以及代入步骤,在所述属性值中描述了所述计算式的情况下,获取参考目标的数据来执行所述计算式,将计算结果代入所述构成元素的元素值。
另外,作为本发明的实施方式,以上构成要素的任意组合、以及将本发明的描述在方法、装置、系统等之间进行变换的方式也是有效的。
发明效果
根据本发明,可有效地利用包含在以标记语言描述的文档中的数据。
附图说明
图1为本发明第一实施方式的文档处理装置的结构示意图;
图2为通过本发明第一实施方式所述的文档处理装置处理的XML文档的一个例子的示意图;
图3为将图2所示的XML文档映射为以HTML描述的表的一个例子的示意图;
图4为用于将图2所示的XML文档映射为图3所示的表的VC定义文件的一个例子的示意图;
图5为将图2所示的XML文档通过图3所示的对应关系变换为HTML而显示的屏幕的一个例子的示意图;
图6为将VC定义文件生成单元提示给用户的图形用户界面的一个例子的示意图;
图7为由VC定义文件生成单元生成的屏幕布局的另一个例子的示意图;
图8为文档处理装置处理的XML文档的编辑屏幕的一个例子的示意图;
图9为由第一实施方式的文档处理装置处理的XML文档的另一个例子的示意图;
图10为显示图9所示的文档的屏幕的一个例子的示意图;
图11为本发明第二实施方式的文档处理装置的结构示意图;
图12为通过图11所示的文档处理装置处理的文档的一个例子的示意图;
图13为用于通过VC功能显示图12所示的XML文档的VC定义文件的一个例子的示意图;
图14为描述在图13所示的VC定义文件中的显示用的模板的一个例子的示意图;
图15为在描述于图13所示的VC定义文件中的显示用的模板中,用于显示存储差旅费的详细路线的构成元素的模板的一个例子的示意图;
图16为适用于图12所示的XML文档的计算定义文件的一个例子的示意图;
图17为按照图13至图15所示的VC定义文件显示图12所示的文档的屏幕的一个例子的示意图;
图18为在图17所示的编辑屏幕中,更改员工编号时的屏幕的一个例子的示意图;
图19为在图17所示的编辑屏幕中,增加出差的详细项目并更改交通费金额时的屏幕的一个例子的示意图;
图20为由本发明第二实施方式的文档处理装置处理的文档的另一个例子的示意图;
图21为用于通过VC功能显示图20所示的XML文档的VC定义文件的一个例子的示意图;
图22为按照图21所示的VC定义文件显示图20所示的文档的屏幕的一个例子的示意图;
图23为在图22的编辑屏幕中更改样本值时的屏幕的一个例子的示意图。
符号说明
100 文档处理装置        110 主控制单元            120 编辑单元
130 DOM单元             132 DOM提供器             134 DOM构造器
136 输出单元            140 CSS单元               150 HTML单元
160 SVG单元             180 VC单元                182 映射单元
184 VC定义文件获取单元  186 VC定义文件生成单元
190 计算单元            192 计算定义文件获取单元  194 执行单元
发明的优选实施方式
(第一实施方式)
图1示出了根据本发明的第一实施方式所述的文档处理装置100的结构。文档处理装置100对结构化的文档进行处理,该文档中的数据被分为具有分级结构的多个构成元素。该实施方案中表示的是一个实施例,其中,对作为结构化文档之一例的XML文档进行处理。文档处理装置100包括:主控单元110、编辑单元120、DOM单元130、CSS单元140、HTML单元150、SVG单元160以及用作变换部一个示例的VC单元180。就硬件部件而言,这些结构可由任意的计算机的CPU或存储器、存储器载入的程序等来实现,但是在此描述为通过它们的协作而实现的功能模块。本领域技术人员能够理解,这些功能模块可仅通过硬件的方式、仅通过软件的方式或通过二者相结合的方式等多种方式来实现。
主控单元110提供插件的载入,和提供执行命令的框架。编辑单元120提供用于编辑XML文档的框架。文档处理装置100中的文档的显示和编辑功能是通过插件来实现的,根据所处理的文档类型,必要的插件通过主控单元110或编辑单元120载入。主控单元110或编辑单元120通过参考待处理的文档的命名空间来确定哪个或哪些词汇描述了待处理的XML文档的内容,并且对应于所确定的词汇载入用于显示和编辑的插件从而执行显示和编辑。例如,对HTML文档进行显示和编辑的HTML单元150、对SVG文档进行显示和编辑的SVG单元160在文档处理装置100中被实现为处理单元。也就是说,对于各个词汇(标签集),将显示系统和编辑系统实现为插件,以使得在对HTML文档和SVG文档进行编辑时,分别将HTML单元150和SVG单元160与其各自的控制单元进行协同载入。如以下将描述的那样,在要对既包括HTML又包括SVG组件的复合文档进行处理时,HTML单元150和SVG单元160均被载入。
通过以上结构,用户能够仅选择必要的功能以安装该功能,如果需要,也能够在稍后的阶段增加或删除适当的功能。因此,能够有效利用记录介质的存储区域(例如储存程序的硬盘),并能够避免在执行程序的时候存储器使用的浪费。此外,由于这一结构有利于功能的扩展,因此开发者自己能够以插件的形式处理新的词汇,因而能够促进开发过程。因此,用户也能够通过增加插件而以较低成本轻易地增加功能。
编辑单元120通过用户界面接收来自用户的编辑指令的事件,将事件通知给适当的插件并控制处理,所述处理可包括重新执行事件的重做(redo)处理以及取消事件的撤消(undo)处理。
DOM单元130包括DOM提供器132、DOM构造器134以及输出单元136。DOM单元130实现了与文档对象模型(Document Object Model:DOM)相符的功能。在XML文档作为数据被处理时,所述文档对象模型被定义以提供访问方法。DOM构造器132是满足由编辑单元120所定义界面的DOM的实现。DOM创建器134从XML文档创建DOM树。如以下将描述的那样,当通过VC单元180将待处理的XML文档映射为其它词汇时,生成与映射源中的XML文档相对应的源树以及与映射目标中的XML文档相对应的目的树。输出单元136例如在编辑结束时,输出作为XML文档的DOM树。
CSS单元140包括CSS分析器142、CSS提供器144以及呈现单元146,并提供与CSS相符的显示功能。CSS分析器142具有用于分析CSS语法的分析功能。CSS提供器144是CSS对象的实现,并执行对DOM树的CSS层叠处理。呈现单元146是CSS的呈现引擎,并用来显示以诸如HTML等词汇描述的、利用CSS布置的文档。
HTML单元150对以HTML描述的文档进行显示或编辑。SVG单元160对以SVG描述的文档进行显示或编辑。这些显示/编辑系统以插件的形式实现,分别包括显示器(Canvas)156、166,用以显示文档;控制器(Editlet)152、162,接收或发送包含了编辑指令的事件;编辑器(Zone)154、164,接收编辑指令以对DOM进行编辑。在控制器152或162从外部源接收到用于DOM树的编辑命令时,编辑器154或164修改DOM树,而显示器156或166更新显示。这些单元具有与被称作MVC(Model-View-Controllers,模型-视图-控制器)的框架相类似的结构,大体上,显示器156及166与“View”对应,控制器152及162与“Controller”对应,编辑器154及164与DOM的实体“Model”分别对应。本实施方式中的文档处理装置100不仅以树的显示格式编辑XML文档,还可以对应于不同的词汇进行编辑。例如,HTML单元150提供用于以类似于文字处理的方式编辑HTML文档的界面,SVG单元160提供用于以类似于图像描绘工具的形式编辑SVG文档的界面。
VC单元180包括映射单元182、定义文件获取单元184以及VC定义文件生成单元186。通过将以某个词汇描述的文档映射为另一词汇,VC单元180提供了一种框架,以通过与被映射的词汇相对应的显示和编辑插件来显示或编辑文档。在本实施方案中,该功能被称为词汇连接(Vocabulary Connection:VC)。在VC单元180中,定义文件获取单元184获取描述了映射定义的定义文件。该VC定义文件逐个节点地描述了节点间的对应(连接)。此时,可规定各节点的元素值或属性值是否可以编辑。也可描述使用了节点的元素值或属性值的运算表达式。这些功能将在稍后进行描述。映射单元182使得DOM构造器134通过参考VC定义文件获取单元184已经获取的VC定义文件来生成目的树,以使得映射单元182能够管理源树与目的树之间的对应关系。VC定义文件生成单元186为用户提供图形用户界面,以生成VC定义文件。
VC单元180对源树与目的树之间的连接进行监控。当VC单元180通过由负责显示的插件提供的用户界面从用户处接收编辑指令时,它首先修改源树的相应节点。因此,DOM单元130将发出表明源树已经被修改的变化事件。然后,VC单元180接收该变化事件,并对应于被修改的节点而修改目的树的节点,以使得目的树与源树的修改同步。当为显示/编辑目的树提供必要的处理的插件(例如HTML单元150)接收了表明目的树已经被修改的变化事件时,该插件通过参考被修改的目的树而对显示进行更新。通过执行将词汇转换为另一主要词汇的上述结构,即使是以少数用户使用的局部词汇来描述文档,也能够正确显示文档,并能够相应地提供理想的编辑环境。
下面将对利用文档处理装置100显示和/或编辑文档的操作进行说明。当文档处理装置100读取作为处理对象的文档时,DOM构造器134从XML文档生成DOM树。主控单元110或编辑单元120通过参考命名空间来判别描述文档的词汇。如果与词汇相对应的插件安装在文档处理装置100中,则该插件被载入以显示/编辑文档。另一方面,如果插件并未安装其中,则确认是否存在用于映射的VC定义文件。如果存在VC定义文件,则VC定义文件获取单元184获取该VC定义文件,并根据定义生成目的树,以使得能够通过与映射目标的词汇相对应的插件来显示/编辑文档。如果该文档是包含多个词汇的复合文档,则通过与各词汇相对应的插件来显示/编辑该文档的相关部分,以下将对此详细描述。如果不存在VC定义文件,则显示文档的源或树型结构,并在所显示的屏幕中进行编辑。
图2示出了待处理的XML文档的一个实施例。该XML文档用于管理与学生已获得的评分或成绩相关的数据。作为XML文档的上部节点的构成元素“成績”包括:在“成績”下方为各个学生设置的多个构成元素“生徒”。构成元素“生徒”具有属性“名前”,并包括作为子元素“国語”、“数学”、“理科”以及“社会”。属性“名前”存储学生的姓名。构成元素“国語”、“数学”、“理科”和“社会”分别存储日语、数学、自然科学和社会科学的成绩。例如,姓名为“A”的学生的成绩是:日语成绩为“90”、数学成绩为“50”、自然科学成绩为“75”以及社会科学成绩为“60”。下文中,该文档中使用的词汇(标签集)被称作“成绩管理词汇”。
由于根据本实施方案的文档处理装置100不具有与成绩管理词汇的显示和/或编辑相对应的插件,因此,将使用以上描述的VC功能,以不使用源显示和树显示的其它显示方法来显示该文档。也就是说,通过准备VC定义文件,使得成绩管理词汇可映射为已具有插件的另一词汇,例如HTML或SVG等。下面的说明是在假设已经具备了VC定义文件的情况下进行的,不过对于用户本身用以创建VC定义文件所必需的用户界面将在后面描述。
图3示出了图2中所示的XML文档映射为以HTML描述的表的一个实施例。在图3所示的实施例中,以成绩管理词汇描述的“生徒”节点与以HTML描述的表(“TABLE”节点)的行(“TR”节点)相关。各行的第一列与属性值“名前”相对应,第二列与“国語”节点的元素值相对应,第三列与“数学”节点的元素值相对应,第四列与“理科”节点的元素值相对应,而第五列与“社会”节点的元素值相对应。因此,图2所示的XML文档能以HTML的列表格式来显示。此外,这些属性值和元素值被指定为能够编辑,以使得用户能够使用HTML单元150的编辑功能在显示屏上对这些值进行编辑。在第六列中,指定了用来计算日语、数学、自然科学以及社会科学的成绩的加权平均的运算表达式,并显示每个学生成绩的平均值。以这种方式,通过在VC定义文件中指定运算表达式来完成更灵活的显示,从而提高用户在进行编辑时的便利性。在图3所示的实施例中,将对第六列的编辑指定为不允许,以使得不能单独对平均值本身进行编辑。因此,在映射定义中,能够指明可编辑或不能编辑,以避免用户可能的错误操作。
图4表示VC定义文件的一个实施例,以将图2所示的XML文档映射为图3所示的表。该VC定义文件通过被定义用于和VC定义文件一起使用的脚本语言来描述。在图4所示的实施例中,定义了“生徒の追加”(意为“增加学生”)和“生徒の削除”(意为“删除学生”)作为命令,并分别涉及将节点“生徒”插入源树中的操作以及将节点“生徒”从源树中删除的操作。模板描述了诸如“名前”和“国語”等标题显示于表的第一行中,而节点“生徒”的内容显示于第二行及其随后的行中。在显示节点“生徒”内容的模板中,包含“text-of”的项表示允许进行编辑,而包含“value-of”的项表示不允许进行编辑。在这些显示了节点“生徒”内容的行中,在第六行中描述了运算表达式“(src:国語+src:数学+scr:理科+scr:社会)div 4”。这意味着显示学生成绩的平均值。
图5示出了将图2所示的由成绩管理词汇描述的XML文档利用图3所示的对应关系映射至HTML以使其显示在显示屏上时,显示屏的一个实施例。在表200各行中从左至右显示的是各学生的姓名,以及日语成绩、数学成绩、自然科学成绩、社会科学成绩及平均分数。用户能够在屏幕上对XML文档进行编辑。例如,当第二行第三列中的值变为“70”时,源树中与该节点相对应的元素值(亦即学生“B”的数学成绩)变为“70”。此时,为了使目的树符合源树,VC单元180修改目的树的相应部分,从而使得HTML单元150能够根据改变的目的树来对显示进行更新。因此,学生“B”的数学成绩变为“70”,而平均分数相应地变为“55”。
在图5所示的屏幕上,例如“生徒の追加”和“生徒の削除”的命令被显示为菜单,如图4所示的VC定义文件中所定义的那样。当用户从这些命令中选择一个命令时,节点“生徒”增加至源树中或从源树中删除。以这种方式,利用根据本实施方案的文档处理装置100,不仅能够对分级结构末端中的构成元素的元素值进行编辑,而且能够对该分级结构进行编辑。具有上述树型结构的编辑功能能够以命令的形式提供给用户。例如,增加或删除表中的行的命令与增加或删除节点“生徒”的操作相关。此外,嵌入其它词汇中的命令也可提供给用户。该表可用作输入模板,以使得对于新学生的成绩数据能够以填空的方式来增加。如上所述,在使用HTML单元150的显示/编辑功能的同时,以成绩管理词汇描述的文档可通过VC功能来编辑。
图6示出了由VC定义文件生成单元186呈现给用户的图形用户界面的一个实施例,以使用户能够生成VC定义文件。待映射(即映射源)的XML文档在屏幕的左侧区域202显示为树。映射后(即映射目标)的XML文档的屏幕布局显示在屏幕的右侧区域204中。该屏幕布局可通过HTML单元150来编辑,用户在屏幕的右侧区域204中确定并创建用于对文档进行显示的屏幕布局。例如,使用诸如鼠标等的指示设备将屏幕的左侧区域202中显示的XML文档的映射源的节点拖动并放置到屏幕的右侧区域204中的HTML屏幕布局中,以指定映射源处的节点与映射目标处的节点之间的连接。例如,当作为元素“生徒”的子元素的“数学”被放置到HTML屏幕上的表200中第一行第三列的交叉处时,“数学”节点与第三列中的“TD”节点之间建立连接。各节点均如此被指定为可编辑或者不可编辑。此外,可在显示屏中嵌入运算表达式。当完成屏幕编辑时,VC定义文件生成单元186生成VC定义文件,其描述屏幕布局与节点之间的连接。
虽然已经开发出了能够处理例如XHTML(可扩展超文本标记语言)、MathML(数学标记语言)以及SVG(可缩放向量图形)等主要词汇的浏览器或编辑器,但是,并未开发出适于以自创词汇描述的所有文档(例如图2中所示的文档)的浏览器或编辑器。然而,如果如上所述创建了用于映射为其它词汇的VC定义文件,那么以自创词汇描述的文档就能够使用VC功能来显示和/或编辑,而无需不断开发新的浏览器或编辑器。
图7示出了由VC定义文件生成单元186生成的屏幕布局的另一实施例。在图7所示的实施例中,在屏幕上产生表200和圆图206用于显示以成绩管理词汇描述的XML文档。圆图206以SVG描述。如以下将讨论的那样,根据本示例性实施方案的文档处理装置100能够对在单个XML文档内以多个词汇描述的复合文档进行处理。这就是为什么以HTML描述的表200以及以SVG描述的圆图206能够显示在同一屏幕上的原因。
图8示出了用于由文档处理装置100处理的XML文档的媒体显示,在一个优选但非限制性的实施方案中,其为编辑屏幕。在图8所示的实施例中,单个屏幕被分割为多个区域,而待处理的XML文档在各个区域以多种不同显示格式来显示。该文档的源在区域210中显示,该文档的树结构在区域212中显示,而图5所示的、以HTML描述的表在区域214中显示。该文档在这些区域中可被编辑,当用户对这些区域中的内容进行编辑时,源树将被相应修改,从而负责各屏幕显示的各插件对屏幕进行更新,以使得对源树的上述修改有效。具体而言,负责显示各编辑屏幕的插件的显示单元被预先注册为变化事件的监听器,所述变化事件提供源树中发生了改变的通知。当源树被任意插件或VC单元180修改时,编辑屏幕的显示中的所有显示单元接收所发出的变化事件,由此更新屏幕。此时,如果插件正在通过VC功能进行显示,则VC单元180通过遵循对源树的修改来修改目的树。之后,插件的显示单元通过参考上述经过修改的目的树来更新屏幕。
例如,当通过专用插件来实现源显示和树显示时,源显示插件和树显示插件通过直接参考源树而不是利用目的树来实现它们的显示。在这种情况下,当在屏幕的任何区域中完成编辑时,源显示插件和树显示插件通过参考修改后的源树来更新屏幕。同样,负责显示区域214的HTML单元150通过参考跟随对源树的修改而变更的目的树来更新屏幕。
源显示和树显示也可通过使用VC功能来实现。也就是说,例如,如果HTML被用于源和树型结构的布局,则XML文档可映射为HTML以通过HTML单元150来显示。在这种情况下,将生成具有源格式、树格式、表格式的三个目的树。如果在任意一个屏幕中进行编辑,则VC单元180对源树进行修改,并在之后分别对具有源格式、树格式、表格式的三个目的树进行修改。然后,HTML单元150通过参考三个目的树来更新三个屏幕。
以这种方式,在单个屏幕上以多种显示格式显示文档,从而提高了用户的便利性。例如,用户能够利用表200或类似物来以视觉上易于了解的格式显示和编辑文档,同时通过源显示或树显示来掌握文档的分级结构。在上述实施例中,单个屏幕被划分为多个显示格式,它们被同时显示。但是,也可在单个屏幕上显示单个显示格式,以使得可通过用户指令来切换显示格式。在这种情况下,主控单元110从用户处接收用于切换显示格式的请求,并随后命令各自的插件进行显示切换。
图9示出了由文档处理装置100编辑的XML文档的另一实施例。在图9所示的XML文档中,XHTML文档被嵌入SVG文档的“foreignObject”标签,而该XHTML文档包含以MathML描述的公式。在这种情况下,编辑单元120通过参考命名空间而将描绘任务分配或赋予给适当的显示系统。在图9所示的实施例中,编辑单元120首先使SVG单元160描绘矩形,然后使HTML单元150描绘XHTML文档。此外,编辑单元120使得MathML单元(未示出)描绘公式。以这种方式,包含多个词汇的复合文档被适当地显示。图10示出了显示结果。
当用户在如图10所示的编辑屏幕上对文档进行编辑时,负责对被编辑的部分进行处理的插件或VC单元180对源树进行修改。在源树中,可以为各节点注册对于变化事件的监听器。通常,与各个节点所属的词汇对应的插件的显示单元或VC单元180被注册为监听器。当源树被修改时,DOM提供器132从被修改的节点向更高层搜索。如果存在注册的监听器,则DOM提供器132向该监听器发出变化事件。例如,参照图9中所示的文档,如果位于<html>节点下方的节点被修改,那么该变化事件被通报给被注册为<html>节点的监听器的HTML单元150。在同一时刻,该变化事件被通报给被注册为位于<html>节点上方的<svg>节点中的监听器的SVG单元160。此时,HTML单元150通过参考被修改的源树而更新显示。由于属于SVG单元160的词汇的节点本身并未被修改,因此SVG单元160可忽视该变化事件。
根据编辑的内容,由HTML单元150对显示进行的更新可改变总体布局。在这种情况下,对于各插件的各个显示区域的布局将由管理屏幕布局的组件(例如,负责显示最高节点的插件)来更新。例如,当由HTML单元150显示的区域较之以前变大时,HTML单元150首先描绘HTML单元150本身所负责的区域,然后确定显示区域的大小。然后,显示区域的大小被通报给管理屏幕布局的组件,以请求对布局进行更新。负责屏幕布局的组件一收到该通知便为各个插件重新布置显示区域。因此,被编辑的部分的显示被适当更新,且屏幕总体的布局被更新。
在对文档进行编辑期间,可以根据光标(キヤリツジ)的位置来切换要显示的菜单。也就是说,当光标位于显示SVG文档的区域中时,呈现给用户的菜单响应于SVG单元160或响应于由用于映射SVG文档的VC定义文件所定义的命令。当光标位于显示XHTML文档的区域中时,呈现给用户的菜单响应于HTML单元150或响应于由用于映射XHTML文档的定义文件所定义的命令。因此,可根据编辑位置提供适当的用户界面。
如果在复合文档中不存在与词汇相符的适当插件或映射定义,则以该词汇描述的部分可显示为源或树格式。在传统实践中,在要打开其中某个文档中嵌有另一文档的复合文档时,如果其中未安装有要显示该嵌入文档的应用程序,则它们的内容不能被显示。但是,根据本实施方案,即使用于显示的应用程序不存在,由文本数据组成的XML文档可显示为源或树格式,从而能够确定其内容。这是基于文本的XML文档或类似文档的一个特征。
在以某个词汇描述的文档中,可使用属于其它词汇的标签。虽然该XML文档通常并不有效,但只要它结构良好(well-formed),就可作为有效的XML文档而被处理。在这种情况下,被插入的属于其它词汇的标签可使用定义文件来进行映射。例如,可使用诸如“重要”、“最重要”的标签以通过强调的方式来显示这些标签周围的部分,或者可将这些标签以重要性的顺序来排序以进行相应显示。
以基于文本的语言来描述数据的另一个有益方面在于,例如,在同一文档中以某个词汇描述的部分的数据可被该复合文档中以其它词汇描述的另一文档所参考。例如,在可以在计算式等中参考以其它的词汇来描述的数据、进行HTML文档内的检索时,在文档中的SVG等的图中嵌入的字串也可以作为检索对象。通常,在以某种应用程序制成的文档中存在嵌入其它应用程序制成的数据或文档等时,该应用程序不能掌握所嵌入的数据的格式,不能正确地解释数据,因而只能将所嵌入的数据以所谓的插入块来处理,而不能参考其内容。但是,如果对这种复合文档进行处理的应用程序能够掌握所嵌入数据的格式,从而能够正确地解释其内容,则将使得所嵌入的数据由文档中的其它部分参考成为可能。XML文档是以文本为基础来描述的,因此适合于实现上述功能。以下作为第二实施例,说明实现这种功能的文档处理装置100。
(第二实施方式)
图11所示的是本发明第二实施方式的文档处理装置100的总体结构。本实施方式的文档处理装置100除了图1所示第一实施方式的文档处理装置100的结构以外,还包括参考了其他数据来执行计算处理的插件(plug in),即计算单元190。计算单元190对以“Calculation”词汇描述的文档进行处理,该词汇是作为用于描述计算式等的词汇。通过参考其他数据的计算式对包含在作为处理对象的文档中的构成元素的元素值或属性值进行描述时,计算单元190获取参考目标的数据并执行计算式,将计算结果代入该元素值或属性值。参考目标的数据可以通过与参考源相同的词汇描述,也可以以不同的词汇描述。此外,也可以参考在其他文档中描述的数据。参考其他文档的数据时,文档处理装置100通过读入描述有参考目标的数据的文档,可以获取参考目标的数据。其他结构和动作与第一实施方式相同,相同的结构使用相同的符号。
计算单元190包括:计算定义文件获取单元192,获取以计算用的词汇描述的计算用的定义文件;执行单元194,执行描述在计算定义文件中的计算式。在读入文档时,在该文档中描述了要对计算定义文件进行外部参考的情况下,计算定义文件获取单元192获取该计算定义文件,执行单元194执行所描述的计算式,并代入计算结果。此外,在更新计算式参考的数据时,执行单元194接收以更新存储有参考目标数据的节点为要点的变化事件,再次执行计算式并代入参考源的数据。参考源的数据一旦被更新,则用于显示该节点的插件(plug in)对显示进行更新,并将计算结果反映在显示中。
图12为通过本实施方式的文档处理装置100进行处理的文档的一个例子。此XML文档用于申请差旅费。此XML文档由作为计算旅费用的词汇“ryohi”和作为管理员工数据用的词汇“office”描述。在文档的开头部分声明应参考VC定义文件“ryohiseisan.vcd”并通过VC功能显示此文档;应参考计算定义文件“ryohiseisan.calc”执行计算。
作为顶节点的构成元素“ryohiseisan”为“ryohi”词汇的构成元素,下面有作为“office”词汇构成元素的“person”和“persondb”以及作为“ryohi”词汇构成元素的“period”、“business”、“items”和“total-price”。构成元素“person”存储差旅费申请人的数据,下面有存储申请人所属的部门代码的“department-code”、存储申请人所属的部门名称的“department-name”、存储申请人级别的“rank”、存储申请人员工编号的“number”、存储申请人姓名的“name”以及存储申请人电话号码的“tel”。构成元素“persondb”存储员工的数据,以分别存储员工编号“number”、姓名“name”、电话号码“tel”作为设于其下面的多个构成元素“record”的属性值。构成元素“period”存储出差期限,属性值“start”中存储开始日,属性值“end”中存储结束日。构成元素“place”存储出差业务目的地。构成元素“business”存储出差要办的事。构成元素“items”存储了差旅费的详细情况,作为其下方的多个构成元素“item”的属性值,存储有日期“datetime”、出发地“route-start”、目的地“route-end”、类别“type”、金额“price”。构成元素“total-price”存储了差旅费的总额。如后所述,差旅费的总额按照在计算用定义文件中描述的计算式计算。
图13所示的是将图12所示的XML文档以VC功能显示的VC定义文件的一个例子。在VC定义文件“ryohisaisan.vcd”中描述有命令的定义和显示用的模板。在图13的例子中,作为命令定义的“経路の追加”和“経路の削除”分别与将节点“ryohi:item”插入源树(sourcetree)中和从源树中删除节点“ryohi:item”对应。显示用的模板实际上描述在图13所示的VC定义文件的“变换模板”的部分中,此处分成图14和图15。
图14所示的是描述在图13所示的VC定义文件中的显示用模板的一个例子。图12所示的XML文档按照图14所示的模板变换并显示成HTML文档。另外,模板中省略了描述显示格式(style)的部分。在存储员工编号的“office:person/office:number”中指定了表示可编辑的“text-of”,在存储员工姓名的“office:person/office:name”以及存储内线号码的“office:person/office:tel”中指定了表示不可编辑的“value-of”。如后所述,当用户更改员工编号时,由于计算单元190可以自动变更更改姓名和内线号码,因此姓名和内线号码不可编辑。
图15所示的是在图13所示的VC定义文件中描述的显示用的模板中,用于显示存储差旅费的详细路线的构成元素“ryohi:item”的模板的一个例子。在显示差旅费详细情况的表中,在显示详细路线的每行中显示有用于增加路线的“追加”按钮和用于删除路线的“削除”按钮。“追加”按钮和“削除”按钮分别与图13所示的VC定义文件中的命令“経路の追加”和“経路の削除”对应,用户通过点击按钮就可以执行相应的命令。
图16所示的是适用于图12所示的XML文档的计算定义文件的一个例子。该计算定义文件由用于描述计算式的词汇描述。在最开始的元素“cacl:bind”中,将节点“office:persondb”下面的第“office:number”号的节点“office:record”的属性值“name”代入节点“ryohiseisan/office:person/office:name”。也就是说,在更改申请人的员工编号时,描述在员工名册中的该员工编号的员工姓名被代入申请人姓名中。在第二元素“cacl:bind”中,同样,在更改申请人的员工编号时,该员工编号的员工内线号码被代入申请人的内线号码中。第三元素“cacl:bind”中,将节点“ryohi:item”的属性值“price”的合计值代入节点“ryohi:ryohiseisan/ryohi:total-price”。也就是说,差旅费的各详细金额的合计值被代入差旅费总额中。
图17所示的是按照从图13至图15所示的VC定义文件显示图12所示的文档的图面的一个例子。在显示详细情况的表格的第二行,显示有图12所示的文档的元素“ryohi:items”下面的第二元素“ryohi:item”的内容。在文档中,属性值“route-start”、“route-end”、“type”中没有值,而按照图15所示的VC定义文件中描述的定义,没有值时的替换文本被显示。
图18所示的是在图17所示的编辑屏幕中,更改员工编号时的屏幕的一个例子。如果用户将申请人的员工编号栏从“1821”改写为“1318”,则首先与源树对应的节点改变为“1318”。此时,向计算单元190发出要点为该节点被改变的变化事件。计算单元190的执行单元194接收该变化事件,按照描述在计算定义文件中的规则对源树进行更改。在此,申请人的姓名(氏名)和内线号码(内線番号)发生改变。如果源树被更改,则向VC单元180发送以此为要点的变化事件,VC单元180对目的树(destination tree)进行更改。进而,向HTML单元150发出要点为改变目的树的变化事件,通过HTML150对显示进行更新。
图19所示的是在图17所示的编辑屏幕中,增加出差详细项目且更改交通费金额时的屏幕的一个例子。用户如果点击增加按钮,则按照描述在VC定义文件中的命令的定义,在源树中增加节点“ryohi:item”并增加出差详细项目的行。进而,用户如果填入交通费金额,则按照计算定义文件中描述的定义,计算单元190中的执行单元194更新差旅费总额。此后,与上述的程序相同,显示被更新。
图20所示的是由本实施方式的文档处理装置100处理的文档的另一个例子。该XML文档通过词汇“sample”和计算词汇“calculation”描述。文档的开始部分声明应当参考VC定义文件“embed:vcd”通过VC功能显示该文档和应当通过计算单元190执行计算。
作为顶节点的构成元素“sample”为“sample”词汇的构成元素,子元素包括:构成元素“value”、构成元素“value-total-abs”、构成元素“value-total-ref”。构成元素“value”存储通过计算式参考的值。构成元素“value-total-abs”及构成元素“value-total-ref”存储构成元素“value”的元素值的合计。构成元素“value-total-abs”及构成元素“value-total-ref”分别包括属性值“calc:expression”。在属性值“calc:expression”中描述有对构成元素“value”的合计值进行计算的计算式,并将该计算结果作为元素值进行存储。在构成元素“value-total-abs”的属性值“calc:expression”中,以绝对路径(パス)的方式描述参考目标的节点,在构成元素“value-total-ref”的属性值“calc:expression”中,以相对路径的方式描述参考目标的节点,这样由于两者参考了相同的节点“sample:value”,因此算出相同的合计值。
属性“calc:expression”被指定为赋予命名空间前缀的全局(global)属性。全局属性是可指定为在任意的词汇的构成元素中具有相同含义的属性。也就是说,对于任意的词汇的构成元素,起到在词汇“calculation”中表达计算式的属性“expression”的作用。由此,作为属性值描述的计算式的值由计算单元190计算并代入其构成元素的元素值中。
图21所示的是用于通过VC功能显示图20所示的XML文档的VC定义文件的一个例子。在VC定义文件“embed:vcd”中描述有命令的定义和显示用的模板。在图20的例子中,“ノ一ド削除”(节点的删除)和“式属性削除スクリプト”(式属性删除脚本)被定义为命令,分别与从源树中删除节点“sample:sample/sample:value-total-abs”的操作及从节点“sample:sample/sample:value-total-abs”中删除描述计算式的属性“calc:expression”的操作对应。
图22所示的是按照图2l所示的VC定义文件显示图20所示的文档的屏幕的例子。由计算用插件计算的第一构成元素“sample:value”的元素值“100”、第二构成元素“sample:value”的元素值“200”、第三构成元素“sample:value”的元素值“300”的合计值通过计算单元190的执行单元194计算并代入构成元素“sample:value-total-abs”及构成元素“value-total-ref”中进行显示。
图23所示的是在图22所示的编辑屏幕中,更改样本值1时的屏幕的一个例子。用户如果将样本值1的栏从“100”改写为“500”,则首先与源树对应的节点“sample:sample/sample:value”的元素值改变为“500”。此时,对计算单元190发出要点为更改此节点的变化事件。计算单元190的执行单元194接收该变化事件并按照描述在构成元素“ample:sample/sample:value-total-abs”及构成元素“sample:sample/sample:value-total-abs”的属性值中的计算式对源树进行更改。由此,样本值的合计值被改变。如果源树被改变,则对VC单元180发出以此为主要内容的变化事件,VC单元180对目的树进行更改。而且,对HTML单元150发出以更改目标树为主要内容的变化事件,由HTML单元150对显示进行更新。
这样,根据本实施方式的文档处理装置100,在计算定义文件中描述的计算式和在XML文档中作为全局属性描述的计算式等可以参考其他任意的数据。由此,可以有效地运用文档内的数据。计算式可以是任意形式,例如为使数据在多个构成元素之间同步,可以是代入相同数据的计算式,也可以是算术式、字符串的操作等。
以上通过实施方式对本发明进行了说明。本领域的普通技术人员应该理解,实施方式仅为示例,本发明还存在对各构成元素或各处理过程进行组合的各种各样的变形实施例,这些变形实施例也包含在本发明的范围内。
在实施方式中,对处理XML文档的例子进行了说明,但本实施方式的文档处理装置100同样也可以处理以其他标记语言例如SGML、HTML等描述的文档。
产业上的可利用性
本发明可以用作对由标记语言描述的文档进行处理的文档处理装置。

Claims (9)

1.文档处理装置,其特征在于包括:
处理系统,显示由标记语言描述的文档,并接受由用户对所述文档的编辑;以及
计算单元,当在所述文档包含的构成元素的属性值中描述了参考其它的数据的计算式时,获取参考目标的数据来执行所述计算式,将计算结果代入所述构成元素的元素值。
2.权利要求1所述的文档处理装置,其特征在于,所述计算式由用于描述所述计算式的标记语言来描述。
3.权利要求1或2所述的文档处理装置,其特征在于,所述计算式被描述为全局属性。
4.权利要求1至3任一项所述的文档处理装置,其特征在于,所述参考目标的数据使用与参考源的所述构成元素不同的标记语言来描述。
5.权利要求1至4任一项所述的文档处理装置,其特征在于,在所述参考目标的数据发生改变时,所述计算单元再次执行所述计算式,将计算结果代入所述元素值。
6.权利要求1至5任一项所述的文档处理装置,其特征在于,进一步包括生成部,从所述文档中生成具有符合文档目标模型的格式的数据,所述文档对象模型是为了提供将文档作为数据处理时的访问方法而被设定的,其中
所述生成部生成与所述文档对应的文档对象模型数据;以及
所述处理系统参考所述文档对象模型数据,显示所述文档。
7.权利要求6所述的文档处理装置,其特征在于,所述计算单元从所述文档对象模型数据中确定所述参考目标的数据,并获取该数据。
8.文档处理方法,其特征在于,所述方法包括如下步骤:
判断步骤,在显示装置显示由标记语言描述的文档时,判断在所述文档中包含的构成元素的属性值中是否描述了参考其它的数据的计算式;以及
代入步骤,在所述属性值中描述了所述计算式时,获取参考目标的数据来执行所述计算式,将计算结果代入所述构成元素的元素值。
9.计算机程序,其特征在于,所述计算机程序使计算机实现以下功能:
在显示装置显示以标记语言描述的文档时,判断在所述文档中包含的构成元素的属性值中是否描述了参考其它的数据的计算式;以及
在所述属性值中描述了所述计算式时,获取参考目标的数据来执行所述计算式,将计算结果代入所述构成元素的元素值。
CNA2005800119344A 2004-04-08 2005-04-06 文档处理装置和文档处理方法 Pending CN1950817A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004114710 2004-04-08
JP114710/2004 2004-04-08

Publications (1)

Publication Number Publication Date
CN1950817A true CN1950817A (zh) 2007-04-18

Family

ID=35125267

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800119344A Pending CN1950817A (zh) 2004-04-08 2005-04-06 文档处理装置和文档处理方法

Country Status (5)

Country Link
US (1) US20070208995A1 (zh)
EP (1) EP1768034A1 (zh)
JP (1) JPWO2005098658A1 (zh)
CN (1) CN1950817A (zh)
WO (1) WO2005098658A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096593A (zh) * 2011-02-16 2011-06-15 上海普元信息技术股份有限公司 基于Flex技术的Web端业务流程图形化编辑框架系统及方法
CN101796543B (zh) * 2007-06-28 2013-12-18 艾利森电话股份有限公司 数据系统和方法
CN104504218A (zh) * 2015-01-08 2015-04-08 北京恒华伟业科技股份有限公司 一种cad图形处理方法、装置及cad软件插件
CN107766359A (zh) * 2016-08-17 2018-03-06 广州市动景计算机科技有限公司 一种将页面内容转换为图片的方法、装置以及计算设备
CN111768823A (zh) * 2020-05-28 2020-10-13 上海森亿医疗科技有限公司 基于svg元素医学表达式编辑方法、装置、设备和介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198915A1 (en) * 2004-04-08 2007-08-23 Masayuki Hiyama Document Processing Device And Document Processing Method
US7865820B2 (en) * 2006-08-29 2011-01-04 Sap Ag Generating a business document model
JP2008097215A (ja) * 2006-10-10 2008-04-24 Just Syst Corp データ処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259460A (ja) * 1998-03-10 1999-09-24 Toshiba Corp 文書処理装置
GB0107784D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvement relating to developing documents
JP3692054B2 (ja) * 2001-05-21 2005-09-07 株式会社東芝 文書構造変換方法および文書構造変換装置およびプログラム
US20030018661A1 (en) * 2001-07-19 2003-01-23 Darugar Parand Tony XML smart mapping system and method
JP2003067185A (ja) * 2001-08-14 2003-03-07 Internatl Business Mach Corp <Ibm> アプリケーション編集装置、データ処理方法及びプログラム
JP3857663B2 (ja) * 2002-04-30 2006-12-13 株式会社東芝 構造化文書編集装置、構造化文書編集方法及びプログラム
US7228496B2 (en) * 2002-07-09 2007-06-05 Kabushiki Kaisha Toshiba Document editing method, document editing system, server apparatus, and document editing program
US7069504B2 (en) * 2002-09-19 2006-06-27 International Business Machines Corporation Conversion processing for XML to XML document transformation
US20040237040A1 (en) * 2003-05-19 2004-11-25 Malkin Wayne Allan System and method of processing an electronic form using layered aspects
US20070198915A1 (en) * 2004-04-08 2007-08-23 Masayuki Hiyama Document Processing Device And Document Processing Method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101796543B (zh) * 2007-06-28 2013-12-18 艾利森电话股份有限公司 数据系统和方法
CN102096593A (zh) * 2011-02-16 2011-06-15 上海普元信息技术股份有限公司 基于Flex技术的Web端业务流程图形化编辑框架系统及方法
CN102096593B (zh) * 2011-02-16 2013-11-27 普元技术股份有限公司 基于Flex技术的Web端业务流程图形化编辑框架系统及方法
CN104504218A (zh) * 2015-01-08 2015-04-08 北京恒华伟业科技股份有限公司 一种cad图形处理方法、装置及cad软件插件
CN107766359A (zh) * 2016-08-17 2018-03-06 广州市动景计算机科技有限公司 一种将页面内容转换为图片的方法、装置以及计算设备
CN107766359B (zh) * 2016-08-17 2022-03-15 阿里巴巴(中国)有限公司 一种将页面内容转换为图片的方法、装置以及计算设备
CN111768823A (zh) * 2020-05-28 2020-10-13 上海森亿医疗科技有限公司 基于svg元素医学表达式编辑方法、装置、设备和介质

Also Published As

Publication number Publication date
US20070208995A1 (en) 2007-09-06
EP1768034A1 (en) 2007-03-28
JPWO2005098658A1 (ja) 2008-02-28
WO2005098658A1 (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
US11789706B2 (en) Development system with improved methodology for creation and reuse of software assets
CN103778107B (zh) 一种基于excel快速动态生成表单的方法与平台
CN1950817A (zh) 文档处理装置和文档处理方法
CN1977259A (zh) 文档处理装置和文档处理方法
US8065606B1 (en) System and method for automating document generation
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
US9558525B2 (en) Process communication method and system
US10818082B2 (en) Method and system for parametrically creating an optimal three dimensional building structure
Garmendia et al. EMF Splitter: A Structured Approach to EMF Modularity.
US20100100807A1 (en) Data processing device, and data processing method
CN1947115A (zh) 文档处理装置和文档处理方法
Murray et al. Live energy TRNSYS–TRNSYS simulation within google SketchUp
CN1977260A (zh) 文档处理装置和文档处理方法
CN101057232A (zh) 文档处理装置和文档处理方法
CN1973284A (zh) 文档处理方法及其装置
JP2007011507A (ja) プログラムツリーの表示方法、およびプログラム生成システム
CN101268438A (zh) 数据处理装置
Kirsch et al. Snippets and Component-Based Authoring Tools for Reusing and Connecting Documents.
Karol et al. Using feature models for creating families of documents
Esbai et al. Transformation by modeling MOF 2.0 QVT: from UML to MVC2 web model
JP4719743B2 (ja) グラフ処理装置
Hofman LIANA Model Integration System-architecture, user interface design and application in MOIRA DSS
JPWO2005098659A1 (ja) 文書処理装置及び文書処理方法
JP2006209655A (ja) システム開発支援方法及びシステム開発支援プログラム
Zafiris et al. A Practitioners's Approach to Evolving and Remodeling Large-Scale WWW Sites

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication