用于使用浏览器编辑svg数字图形文档的方法和设备的制作方法

文档序号:6496044阅读:188来源:国知局
专利名称:用于使用浏览器编辑svg数字图形文档的方法和设备的制作方法
技术领域
本发明涉及特别是从浏览器编辑SVG或类似类型的数字图形文档。
SVG(可缩放矢量图形)语言是用于描述以XML(可扩展标记语言)或类似类型的标记语言编写的二维图形文档的语言。
SVG语言考虑了三种图形对象或文档矢量图形形状(例如,由直线和曲线组成的轨迹(path))、图像和文本。可以对图形对象进行编组、变换并且复合到先前呈现的对象中。SVG语言包括诸如嵌套变换、剪辑轨迹(clipping paths)、蒙版(masks)和模板对象的功能集。
SVG对象可以是交互的和/或动态的。因此,可以通过将SVG动画元素并入到SVG内容中,或者通过例如包括可执行命令的脚本来定义和触发动画。
这样的编辑器已经是公知的,其使得有可能直接从简单的因特网浏览器修改万维网内容,例如以HTML(“超文本标记语言”)类型的标记语言编写的网页。
申请人面临这样的问题,即借助于简单的因特网浏览器,以与对于文本相同的方式,修改在因特网/万维网上公布的诸如SVG图形对象的数字图形文档。
因为SVG语言由于其属于标记语言这一事实而是文本格式,所以有可能从简单的文本编辑器修改任何SVG文档。
然而,申请人希望能够提供更加用户友好和交互式的环境,例如WYSIWYG(“所见即所得”)类型,其中特别是借助于鼠标或类似类型的人/机接口设备发生交互。
本发明正是提供对该问题的解决方案。
因此,本发明旨在提供一种用于在万维网上公布的SVG类型数字图形文档的编辑器,其能够在可以以读模式显示SVG文档的任何浏览器上执行。
本发明涉及一种处理至少一个以预定标记语言表示的数字图形文档的方法,其中使用至少一个浏览器类型的软件显示程序来显示这样的文档。
根据本发明的一般限定,该方法包括以下步骤i)根据预定义变换规则集,将在读模式中显示的原始文档变换成采用标记语言的可编辑版本,所述变换规则将写规则并入到所述文档中;ii)通过所述软件显示程序与所述可编辑版本交互,以便根据所述写规则集来修改所述可编辑版本;以及iii)将这样修改的可编辑版本变换成并入在步骤ii)期间所作的修改的、读模式中的版本。
实际上,没有将所述预定义变换规则集链接到所述文档。
浏览器类型的软件显示程序能够使用所述变换规则集将原始文档变换成可编辑版本。
根据另一实施例,根据步骤iii)的逆变换能够根据编辑过的文档检索未编辑过的文档。
例如,根据步骤i)的直接变换能够添加可以指导根据步骤iii)的逆变换的指导信息。
实际上,所述指导信息属于由以下内容形成的组要被移除的元素;特定名称空间内的、位于被修改文档中的元素;更新指导信息的值的脚本;与属性的创建/修改相关的指令信息。
根据另一实施例,根据步骤i)的直接变换能够识别每个可选择的图形元素。
根据另一实施例,根据步骤i)的直接变换能够将以SVG类型标记语言编写的节点并入/移动到非SVG名称空间中,以便禁止所述节点的效果,并且根据步骤iii)的逆变换能够检索被移动到非SVG名称空间中的SVG节点。
例如,根据步骤i)的直接变换包括能够决定保留/移除动画元素的参数。
根据另一示例,根据步骤i)的直接变换包括能够相对于初始文档同步地修改文档的变化事件(mutation event)。
实际上,根据步骤i)的直接变换并入能够通过可从被编辑文档远程获得的程序来修改该文档的全部或部分的机制。
实际上,根据步骤iii)的逆变换能够修改或移除初始化脚本,以便保存对于由初始化脚本创建的图形元素所作出的修改。
本发明的另一目的是提供一种用于处理至少一个以预定标记语言表示的数字图形文档的设备,其中使用至少一个浏览器类型的软件显示程序来显示这样的文档。
根据本发明的另一方面,该设备包括变换装置,用于根据将写规则并入到文档中的特定变换规则集,将在读模式中显示的原始文档变换成采用标记语言的可编辑版本;处理装置,用于通过所述软件显示程序与所述可编辑版本交互,以便根据所述写规则集修改它;以及逆变换装置,用于将这样修改的可编辑版本变换成并入由所述处理装置这样作出的修改、读模式中的版本。
根据一个实施例,没有将所述预定义变换规则集链接到所述文档。
根据一个实施例,所述逆变换装置能够根据编辑过的文档检索未编辑过的文档。
根据另一实施例,所述直接变换装置能够添加可以指导逆变换装置的指导信息。
实际上,所述指导信息属于由以下内容形成的组要被移除的元素;特定名称空间内的、位于被修改文档中的元素;更新指导信息的值的脚本;与属性的创建/修改相关的指令信息。
根据另一实施例,所述直接变换装置能够识别每个可选择的图形元素。
实际上,所述直接变换装置能够将以SVG类型标记语言编写的节点并入/移动到非SVG名称空间中,以便禁止所述节点的效果,并且所述逆变换装置能够检索被移动到非SVG名称空间中的SVG节点。
优选地,所述直接变换装置被适配成使用能够决定保留/移除动画元素的参数。
根据另一实施例,所述直接变换装置被适配成处理能够相对于初始文档同步地修改文档的变化事件。
根据另一实施例,所述直接变换装置在写规则中并入这样的机制,即该机制能够通过可从被编辑文档远程获得的程序来修改该文档的全部或部分。
本发明的另一目的是提供一种计算机系统可读的数据介质,其可能是完全或部分可移动的,尤其是CD-ROM,或者诸如硬盘或软盘的磁介质,或者诸如电或光信号的可传送介质,该数据介质包括计算机程序指令,其允许在由计算机系统装载并执行该程序时实现如上所述的方法。
本发明的另一目的是提供一种存储在数据介质上的计算机程序,所述程序包括允许在由计算机系统装载并执行该程序时实现如上所述的处理方法的指令。
根据下面详细描述和附图,将显现本发明的其它特性和优点,其中

图1是示出根据本发明的编辑方法的主要步骤的流程图;图2是示出根据本发明的变换步骤的流程图;图3是示出根据本发明的SVG处理步骤的流程图;图4是示出根据本发明的脚本节点变换步骤的流程图;图5是示出根据本发明的逆变换步骤的流程图;以及图6示意性地描述了允许实现根据本发明的方法的设备。
参考图1,根据本发明的编辑方法包括至少五个主要步骤。
第一,根据步骤E100,在因特网或万维网上获取图像ISVG1。
第二,根据步骤E110,将该第一图像ISVG1变换成第二图像ISVG2。根据未被链接到图像ISVG1的预定义写规则集,该第二图像ISVG2对应于第一图像ISVG1的可编辑版本。
第三,根据步骤E120,读取第二图像ISVG2。
第四,根据步骤E130,根据所述写规则集来交互或修改第二图像ISVG2。
第五,根据步骤E140,执行步骤E110的逆变换,以便获得第一图像ISVG1的更新版本ISVG3。
如果必要的话,根据步骤E150,将更新版本ISVG3存储在原始服务器或某个其它存储装置上。
优选地,从简单的因特网浏览器执行步骤E110和E140的变换。
参考图2,实际上以两个部分执行参照图1描述的变换E110。
在获取要被编辑的文档ISVG1(步骤E200)之后,执行该文档到新XML文档的变换(步骤E210)。
该新XML文档以新的形式包含图像的全部信息,并且在步骤E220被插入到SVG文档的图形元素中。该元素检索<svg/>根元素的属性,并且将xmlbase属性加入其中,以便保留相对URI引用。将该元素包括在另一图形元素中,这使得有可能以期望比例放置被编辑SVG文档。
此外,该图形元素还拥有交互属性,例如,其可以是鼠标事件或变化事件。
实际上,鼠标事件允许元素选择和交互式修改(“拖放”)。
“变化”事件使得有可能跟踪对SVG文档作出的修改,这对必要时执行同步更新是有用的,而且有用于更新信息,从而使得有可能容易地执行下面将更详细描述的逆变换E140。
接下来,将XML信息添加到该新文档(步骤E230到E260),以便构造新的SVG文档。该最后信息不特定于图像,并且对应于允许正确编辑的各种用户接口。
特别地,该信息包括使得有可能容易地选择任何可编辑图形元素的单元(步骤E230)例如,这是元素列表、或者能够检索鼠标事件从而使得有可能知道利用鼠标所选择的元素的脚本。
根据步骤E240,该信息包括用于有可能通过添加新的SVG元素来修改被编辑SVG元素的单元。实际上,这是添加用于允许用户输入要被修改或创建的每个图形元素的参数的图形元素的问题。
根据步骤E250,该信息包括用于将外部处理应用到被编辑SVG文档的全部或部分的单元。实际上,这是检索SVG文档的一部分并且对该部分执行在编辑器的外部,例如在网络或硬盘上定义的修改的问题。例如,它可以是XSLT变换、JavaScript脚本或万维网服务调用。
根据步骤E260,该信息包括用于控制所添加的功能性的单元。例如,这些单元使得有可能,特别是为了放大文档的一部分、进入主动脚本(Active Script)/被动脚本(Passive Script)模式、或者控制时标而添加某些信息。
可以选择以单个脚本的形式实现步骤E200到E260。该实现也可以分成两部分,第一部分对应于要被编辑的SVG文档的变换(XSLT、JavaScript等),第二部分是直接包括步骤E230到E260的数据的SVG编辑文档。然后,在SVG编辑文档中使用要被编辑的文档的变换。
参考图3,将第一变换(E110,图1)应用于第一个<svg/>标签的每个子节点。从而,创建一个或多个XML树,并将其组装成在步骤E220(图2)使用的单个结果。
第一步骤E300包括获取要被处理的节点。
在步骤E305,对于这是通过引用而定义还是直接地定义的节点进行测试。
如果涉及文档外部的相对引用,则将其变换成绝对引用(这使得无论如何都有可能将被编辑文档存储在任何URI之下)。
如果涉及脚本类型节点(步骤E305),则借助于参考图4所述的算法来变换脚本节点(步骤E310)。否则,在步骤E315对于节点是否具有标识符进行测试。如果元素是可以显示并用鼠标选择的、且不带标识符的图形元素(步骤E320),则向其添加标识符(步骤E325)。这允许较容易地实现图形元素选择。
接下来,使用管理数据名称空间。由于SVG具有开放内容模型,因此SVG阅读器不考虑不在SVG名称空间中的所有信息。因此,该可能性可以用于添加在用户交互阶段期间无用、但在逆变换期间有用的信息。
这样,步骤E330测试当前节点是否是动画节点以及是否要禁止动画。
如果是,则将节点移动到管理数据名称空间中(步骤E335),这允许在交互阶段期间禁止动画,在变换阶段期间重新集成这些动画,并且没有信息损失。
接下来,在步骤E340,初始化逆变换所需的信息。该信息(以属性的形式放置)使得有可能在逆变换期间知道以下信息是否已经修改了元素、是否将要移除元素、或者是否以XML定义或通过使用DOM(XML文档的编程图形表示或“文档对象模型”)的脚本来创建/修改图形元素。
在通过脚本创建/修改的情况下,该信息还使得有可能知道在装载SVG时是否涉及初始化脚本。
可以通过脚本创建元素(例如,在显示文档时),在这种情况下,在逆变换时必须移除它们。此外,由在原始SVG文档中调用的脚本所添加的元素不一定是可修改的。因此,该管理信息使得有可能区分这些元素的编辑。
还将其它信息存储在管理名称空间中例如原始文档到SVG文档的URI,以便允许存储修改过的文件的步骤,并且有助于逆变换。
接下来,在步骤E345期间,对于将被处理的节点是否对应于引用节点(<symbol/>类型)进行测试。在这种情况下,将包含引用该节点的元素列表的属性添加到其中。如果用户后来希望修改引用该节点的元素,则向他询问他是希望修改节点(因此修改全部涉及的元素)还是希望仅仅修改图形元素,在这种情况下,克隆节点,修改它并且将图形元素指向修改后的节点。最后,如果节点具有要被处理的子节点(步骤E355),则以相同的方式递归处理每个节点(步骤E360),否则通过返回处理结果来结束算法(步骤E365)。
为了完成SVG文档的处理,将<SVG/>根元素的属性拷贝到管理名称空间中,以便允许逆变换检索它们。此外,在并入变换结果的图形元素中部分地重复根元素的属性,特别是“event”属性。
参考描述了脚本节点的处理的图4。
在SVG编辑阶段期间,脚本的效果可能是个麻烦;因此允许用户禁止和激活它们。
为此,在获取脚本节点(步骤E310之后的步骤E400)之后,检索该节点的值(步骤E430),并且针对该节点的每个函数(步骤E440、E450和E470),添加测试(步骤E460),从而使得有可能知道是否必须执行该函数。
该测试简单地对应于检查主动脚本的属性“scriptEnable”被设置成真还是假。用户可以在编辑阶段期间修改该属性,以便激活/禁止这些脚本。
一般地,在文档中直接定义由本发明的方法调用的函数。如果在另一文档中定义这些函数,则有可能通过引用外部文档来定义脚本节点。在通过引用定义脚本节点(步骤E410)的情况下,检索所指向的文档并且将其作为该节点的值插入(步骤E420)。此外,移除对外部文档的引用。
大部分交互包括修改在SVG文档中直接编写的元素。在这种情况下,使用DOM功能性来修改元素是足够的。更新管理数据,特别是与节点修改/非修改测试相对应的属性。还向用户提供新元素的添加。只要遵循SVG标准,用于修改树(例如,位置改变/节点克隆)的全部DOM功能性就是可能的。
SVG文档有可能包含将在明确时间修改该文档的脚本。当这样的脚本添加元素时,在逆变换期间移除这些元素。另一方面,对预先存在的元素进行的修改更加难以管理。这是因为用户有可能通过交互而删除这些修改。此外,在重读所保存的SVG文档的期间,这些脚本可以再次修改文档。为了克服该问题,根据本发明的方法向用户提供脚本的编辑/修改。
在很多SVG文档中,使用初始化脚本来添加新的图形元素和/或修改现有的元素。不干扰该初始化是重要的。为此,在编辑开始时,不禁止脚本。借助于“变化”事件来检测(可以以不同方式检测通过脚本的元素创建)所作的修改,并且以不同的方式考虑所作的修改。
例如,如果涉及新的元素,则将它们标记为(通过脚本创建的元素),并且如果已经不是这样的情况,则将它们放置到包含全部被编辑图形元素的图形元素中。
在另一示例中,如果涉及属性修改/添加,则表明(通过管理数据名称空间)通过初始化脚本修改了这些属性。
允许通过初始化脚本创建/修改的图形元素的某些修改。如果用户希望修改这样的元素,则向他警告在保存阶段之后,将不一定保留这些修改。当它是简单修改(改变属性或者元素的值)的问题时,以脚本的形式记录该修改,并且将指向该新脚本的属性(在管理数据名称空间中)添加到被修改元素中。然后,逆变换将把该脚本添加到在初始化脚本的结尾调用的脚本中。
在逆变换期间,将移除通过初始化脚本所创建的XML元素。因此,将它们标注成要被移除。
SVG语言支持被称作SMIL(同步多媒体集成语言)并且是多媒体文档动画格式的语言的某些功能性。这些动画以图形元素内部的<animate/>、<animateMotion/>、<animateColor/>和<set/>元素的形式出现。为了便于文档编辑,直接变换拥有这样的参数,即所述参数使得有可能定义是希望保留还是希望禁止这些元素,例如通过将它们并入到其名称空间不是SVG的名称空间、而是为管理信息所定义的名称空间的元素中。这样,逆变换可以重新集成这些元素。
用户输入与允许对SVG文档的全部或部分执行操作的文档相对应的URI。该URI指向脚本(XSLT、JavaScript)或WSDL(万维网服务描述语言)类型的文档,其定义可以对SVG数据片段执行的处理。然后,用户选择要被修改的被编辑SVG文档的一部分。然后,程序启动将执行脚本/万维网服务的脚本。该脚本检索结果,并且将它添加到SVG文档,有可能代替SVG文档输入的部分。
直接变换(步骤E110,图1)初始化对于逆变换(步骤E140,图1)有用的信息。添加到被编辑SVG文档的脚本使得有可能根据用户交互而保持该信息最新。逆变换获得通过用户的操作而修改的SVG文档,并且变换它,以便以接近于原始被编辑SVG文档的格式返回它。为此,逆变换将使用该附加信息来构造结果文档。
参考图5,在步骤E500,逆变换检索要被处理的XML节点。在步骤E505,对于是否通过初始化脚本修改或创建了节点进行测试。如果是,并则如果存在的话,检索修改脚本(步骤E510),否则直接转到步骤E515。步骤E515包括测试节点是否要被移除。如果是,则转到步骤E520。然后,检索与子节点相对应的全部初始化之后的修改脚本,并且将这些脚本添加到初始化脚本的末尾。然后,直接转到下一节点。可以通过区分仅仅要移除标签并且必须正常地处理其子节点的节点来改进该处理。在这种情况下,检索全部子节点并且将其置于要被处理的节点列表中。
如果节点将不被移除,则转到步骤E525。
在步骤E525,测试通过用户对节点的任何修改。在没有修改的情况下,检索原始的XML节点(步骤E530和E535)并且将其添加到文档中。然后,完成对该节点的处理,并且转到下一节点。
如果修改了节点或者如果不拥有原始的XML节点,则转到步骤E540。添加对应于节点的元素,筛选属性,以便移除管理数据名称空间的属性和由直接变换创建的标识属性。如果节点拥有子节点(步骤E545),则递归处理每个子节点(步骤E550),否则处理该节点的值(步骤E565)。该步骤包括拷贝除了脚本节点的情况之外的值,其中在脚本节点的情况下,移除与脚本的激活/禁止相对应的测试。然后,结束算法(步骤E560)。
一旦变换了文档,则最后步骤包括将该文档集成到被添加在直接变换中所存储的信息的<SVG/>元素中。
例如,在读版本中的、要被处理的文档ISVG1对应于下面SVG文档。
<svg width="250"height="250"xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink"xmlns:nsvg="http://example.com/nonsvgns">
<gid="Group"style="stroke-width:4;stroke-antialiasing:false">
<image xlink:href="image.jpg"x="10"y="10"width="40"height="40"/>
<text style="font-size:12;fill-opacity:1"x="50"y="10">
My SVG image</text>
</g>
<seript type="text/ecmascript"xlink:href="myscript.js"/></svg>
在写模式中,文档ISVG2对应于下面指令。<svg width="1600"height="1600"viewBox="0 0 1600 1600"xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink"xmlns:nsvg="http://example.com/nonsvgns">
<gid="nsvg:svg_image">
<!-下一个元素封装源图像-->
<gid="nsvg:wrapper"url="http://example.com/servlet/Update id=10"switch="true"onmouseup="on_mouseupp(evt)"onload="init(evt)">
<gid="Group"style="stroke-width:4;stroke-antialiasing:false">
<image xlink:href="image.jpg"x="10"y="l0"width="40"height="40"/>
<text style="font-size:12;fill-opacity:1"x="50"y="10">
My SVG image</text>
</g>
</g>
<g nsvg:remove="true">
<!--包含用于交互和显示的UI对象特别是包含用于SVG对象选择的GUI特别是包含用于SVG对象修改的GUI-->
<text x="90"y="10"style="text-anchor:left;font-size:12">X=</text>
<!--其它svg元素-->
</g>
</g>
<script type="text/ecmascript"nsvg:remove="true">
<!--nsvg:remove是将指导逆变换的信息-->
<![CDATA[function on_mouseup(evt){//允许与用户的交互如拖放//对象尺寸重设等}<!--其它javascript函数-->
]]>
</script>
<script type="text/ecmascript"nsvg:href="myscript.js"nsvg:remove="initThere">
<!--具有禁用机制的内联脚本函数-->
</script></svg>
对于该示例,以XSLT脚本的形式定义变换规则。具体地说,该脚本将包括允许与用户交互的元素(使用拖放的图形对象移动函数)。<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink"xmlns="http://www.w3.org/2000/svg">
<xsl:template match="*">
<svg>
<xsl:copy-of select="@*"/>
<xsl:attribute name="width">1600</xsl:attribute>
<xsl:attribute name="height">1600</xsl:attribute>
<xsl:attribute name="viewBox">0 0 1600 1600</xsl:attribute>
<xsl:if test="not(@id)">
<xsl:attribute name="id">root</xsl:attribute>
</xsl:if>
<g id="nsvg:wrapper"switch="true"onmouseup="on_mouseupp(evt)"onload="init(evt)">
<xsl:attribute name="url">…</xsl:attribute>
<xsl:for-each select="*[not(name()='script')]">
<xsl:call-template name="transformNode"/>
</xsl:for-each>
<g nsvg:remove="true">
<text x="90"y="10"style="text-anchor:left;font-size:12">X=</text>
<!--其它svg元素-->
</g>
</g>
<script type="text/ecmascript"nsvg:remove="true">
<!--nsvg:remove是将指导逆变换的信息-->
<![CDATA[function on_mouseup(evt){//允许与用户的交互如拖放
//对象尺寸重设等}<!--其它javascript函数-->
]]>
</script>
<!--其它svg元素-->
</svg>
</xsl:template>
<xsl:template name="transformNode">
<--用于每个SVG子节点的变换规则-->
<xsl:template>
</xsl:stylesheet>
此外,写规则在此例如为删除、插入、修改或类似类型。
参考图6,图6描述了用于实现使得有可能根据本发明的方法处理SVG文档的软件的设备。
该设备例如可以是微型计算机10,其连接到各种外设,例如连接到图形卡并且提供根据本发明的要被处理的信息的数码相机107(或者扫描仪、或者任何图像获取或存储装置)。
设备10包括能够传送数字信息的、连接到网络113的通信接口112。设备10还包括存储装置108,例如硬盘。它还包括软盘驱动器109。类似于盘108的软盘110可以包含本发明的软件组织数据以及本发明的代码,一旦由设备10读取,就将其存储在硬盘108上。根据一种变型,可以将允许该设备实现本发明的程序存储在只读存储器102(在附图中被称为ROM)中。这同样适用于编码过程。在第二变型中,可以借助于通信网络113接收该程序,以便以与前述相同的方式存储它。
设备10借助于I/O卡106连接到麦克风111。在这种情况下,根据本发明的要被处理的数据将是音频信号。
该相同设备拥有屏幕104,从而使得有可能显示要被处理的信息,或者借助于键盘114或任何其它装置(例如,鼠标)作为与可以参数化某些处理模式的用户的接口。
中央单元100(被称作CPU)执行与实现本发明相关的指令、存储在只读存储器102或其它存储单元中的指令。在通电期间,将存储在非易失性存储器之一,例如ROM102中的程序和处理过程传输到随机存取存储器RAM 103中,然后所述随机存取存储器RAM 103将包含本发明的可执行代码以及实现本发明所需的变量。在一种变型中,可以将处理过程存储在不同的位置。这是因为有可能通过添加由通信网络113传送的或者借助于软盘110传送的新过程来改进本发明。当然,可以用诸如CD-ROM或存储卡的任何数据介质来代替软盘。
通信总线101允许在微型计算机10的不同子单元之间或与其连接的子单元之间通信。总线101的表示不是限制性的,并且特别地,中央单元100能够直接地或借助于微型计算机10的另一子单元将指令传递到微型计算机10的任何子单元。
这里描述的设备能够包含在本发明中描述的全部或部分处理。
权利要求
1.一种处理以预定标记语言表示的至少一个数字图形文档的方法,其中使用至少一个浏览器类型的软件显示程序来显示这样的文档,该方法包括以下步骤i)根据预定义变换规则集,将在读模式中显示的原始文档变换成采用标记语言的可编辑版本,该变换规则将写规则集并入到该文档中;ii)通过该软件显示程序与该可编辑版本交互,以便根据该写规则集来修改该可编辑版本;以及iii)将这样修改的可编辑版本变换成并入在步骤ii)期间所作的修改的、读模式中的版本。
2.根据权利要求1所述的方法,其中没有将该预定义变换规则集链接到该文档。
3.根据权利要求1或权利要求2所述的方法,其中浏览器类型的软件显示程序能够使用该变换规则集将该原始文档变换成可编辑版本。
4.根据前面权利要求中的任一项所述的方法,其中根据步骤iii)的逆变换能够根据编辑过的文档来检索未编辑过的文档。
5.根据前面权利要求中的任一项所述的方法,其中根据步骤i)的直接变换能够添加可以指导根据步骤iii)的逆变换的指导信息。
6.根据权利要求5所述的方法,其中该指导信息属于由以下内容形成的组要被移除的元素;特定名称空间内的、位于被修改文档中的元素;更新该指导信息的值的脚本;与属性的创建/修改相关的指令信息。
7.根据前面权利要求中的任一项所述的方法,其中根据步骤i)的直接变换能够识别每个可选择的图形元素。
8.根据前面权利要求中的任一项所述的方法,其中根据步骤i)的直接变换能够将以SVG类型标记语言编写的节点并入/移动到非SVG名称空间中,以便禁止所述节点的效果;并且根据步骤iii)的逆变换能够检索被移动到非SVG名称空间中的SVG节点。
9.根据前面权利要求中的任一项所述的方法,其中根据步骤i)的直接变换包括能够决定保留/移除动画元素的参数。
10.根据前面权利要求中的任一项所述的方法,其中根据步骤i)的直接变换并入能够相对于初始文档同步地修改文档的变化事件。
11.根据前面权利要求中的任一项所述的方法,其中根据步骤i)的直接变换并入这样的机制,即该机制能够通过可从被编辑文档远程获得的程序来修改该文档的全部或部分。
12.根据前面权利要求中的任一项所述的方法,其中根据步骤iii)的逆变换能够修改初始化脚本,以便保存对于由该初始化脚本创建的图形元素所作出的修改。
13.一种用于处理以预定标记语言表示的至少一个数字图形文档的设备,其中使用至少一个浏览器类型的软件显示程序来显示这样的文档,包括变换装置,用于根据预定义变换规则集,将在读模式中显示的原始文档变换成采用标记语言的可编辑版本,该变换规则将写规则集并入到该文档中;处理装置,用于通过软件显示程序与该可编辑版本交互,以便根据该写规则集来修改该可编辑版本;以及逆变换装置,用于将这样修改的可编辑版本变换成并入由所述处理装置这样作出的修改、读模式中的版本。
14.根据权利要求13所述的设备,其中没有将该预定义变换规则集链接到该文档。
15.根据权利要求13或14所述的设备,其中所述逆变换装置能够根据编辑过的文档检索未编辑过的文档。
16.根据前面权利要求13到15中的任一项所述的设备,其中所述变换装置能够添加可以指导该逆变换装置的指导信息。
17.根据权利要求16所述的设备,其中该指导信息属于由以下内容形成的组要被移除的元素;特定名称空间内的、位于被修改文档中的元素;更新该指导信息的值的脚本;与属性的创建/修改相关的指令信息。
18.根据权利要求13到17中的任一项所述的设备,其中所述直接变换装置能够识别每个可选择的图形元素。
19.根据权利要求13到18中的任一项所述的设备,其中所述直接变换装置能够将以SVG类型标记语言编写的节点并入/移动到非SVG名称空间中,以便禁止所述节点的效果;并且所述逆变换装置能够检索被移动到非SVG名称空间中的SVG节点。
20.根据权利要求13到19中的任一项所述的设备,其中所述变换装置被适配成使用能够决定保留/移除动画元素的参数。
21.根据权利要求13到20中的任一项所述的设备,其中所述变换装置被适配成处理能够相对于初始文档同步地修改文档的变化事件。
22.根据权利要求13到21中的任一项所述的设备,其中所述变换装置包括能够通过可从被编辑文档远程获得的程序来修改该文档的全部或部分的机制。
23.根据权利要求13到22中的任一项所述的设备,其中所述变换装置能够修改初始化脚本,以便保存对于由该初始化脚本创建的图形元素所作出的修改。
24.一种计算机系统可读的数据介质,其可能是完全或部分可移动的,尤其是CD-ROM,或者诸如硬盘或软盘的磁介质,或者诸如电或光信号的可传送介质,该数据介质包括计算机程序指令,该计算机程序指令允许在由计算机系统装载并执行该程序时,实现根据权利要求1到12中的任一项所述的方法。
25.一种存储在数据介质上的计算机程序,该程序包括允许在由计算机系统装载并执行该程序时实现根据权利要求1到12中的任一项所述的处理方法的指令。
全文摘要
本发明公开了一种处理以预定标记语言表示的至少一个数字图形文档的方法,其中使用至少一个浏览器类型的软件显示程序来显示这样的文档,其特征在于,该方法包括以下步骤i)根据没有链接到该文档的预定义变换规则集,将在读模式中显示的原始文档(ISVG1)变换成采用标记语言的可编辑版本,该变换规则将写规则集并入到该文档中;ii)通过软件显示程序与该可编辑版本(ISVG2)交互,以便根据该写规则集来修改该可编辑版本;以及iii)将这样修改的可编辑版本变换成并入在步骤ii)期间所作的修改的、读模式中的版本(ISVG3)。
文档编号G06F17/30GK1860472SQ200480028465
公开日2006年11月8日 申请日期2004年9月28日 优先权日2003年9月30日
发明者尤恩·法布雷特 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1