CN1773508A - 把源文档转换成目标网页文件的方法 - Google Patents
把源文档转换成目标网页文件的方法 Download PDFInfo
- Publication number
- CN1773508A CN1773508A CNA2005101232064A CN200510123206A CN1773508A CN 1773508 A CN1773508 A CN 1773508A CN A2005101232064 A CNA2005101232064 A CN A2005101232064A CN 200510123206 A CN200510123206 A CN 200510123206A CN 1773508 A CN1773508 A CN 1773508A
- Authority
- CN
- China
- Prior art keywords
- label
- cell
- note
- dynamic cell
- dynamic
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种把单元嵌套结构的交互型源文档转换成网页文件的方法,包括:将源文档中的静态单元的元素直接映射到网页上,由此实现源文档静态单元元素到网页文件元素的转换;从源文档中选择待转换的动态单元;给所选择的动态单元添加单元级别标签或注释,然后给所选的动态单元添加元素级别标签或注释,由此建立动态单元的元素与相应的网页元素的映射关系;根据所建立的映射关系,将动态单元的各元素转换成相应的网页文件元素。本发明通过对动态单元添加单元级标签和单元元素级标签这种两轮加标签处理,进一步细化了源文档中动态单元的元素,使源文档中的各个动态元素可以与目标网页文件中的相应元素建立一对一的映射关系,从而省去了专业人员手工编写代码的麻烦。
Description
技术领域
本发明涉及一种文件文本转换方法,特别是涉及一种把源文档转换成目标网页文件的方法,一种把Mathematica notebook源文档转换成webMathematica目标网页的方法,以及一种建立单元嵌套结构的交互型的源文档元素与目标网页文件元素的全映射的方法。
背景技术
Mathematica(数学)是一个科学与工程领域内流行的平台,其对符号,数理,图形计算都具有优秀的支持。Mathematica也包含一个同名的functional风格的编程语言,这个编程语言可以被用于建模,与应用环境间的接口和许多研究及应用领域。
webMathematica是一个新开发的基于Java Servlet和JavaServerPages(JSP)的技术。它向web浏览器提供对Mathematica的在线访问。它做为中间层在web浏览器和服务器后台的Mathematica计算核之间运行。
希望开发webMathematica应用程序的Mathematica用户必须知道如何通过使用MathematicaServerPages(MSP)标签库扩展来写JSP页面。因为webMathematica web页面作为HTML,JSP,MSP的多层嵌套有着复杂的结构,学习这些技术是需要比较大的时间和金钱上的开销的。Mathematica用户和程序员倾向于拥有一个工具来把他们的Notebook文本翻译成具有相同的版面和相似的计算行为及用户交互功能的JSP&MSP页面。
webMathematica Author是一个由Wolfram公司开发的工具。它提供了一个webMathematica的创作环境。它在自己的调色板上也提供了一些按钮来用标签给出cell单元的类型。
webMathematica Author的主要缺点是它需要用户通过结合手工编程和利用把webMathematica代码粘贴到notebook文本上的按钮,来把源notebook文本编辑成一个Mathematica代码,JSP代码和MSP代码的混合体。要编辑这个notebook文本,Mathematica程序员必须知道JSP和MSP构件的含义。当用户使用它的时候,需要大量的手工编程劳动。最终生成的webMathematica代码的正确性是由用户编辑的混合代码的质量来保证的。
webMathematica Author也已经提供了一组cell单元标签来描述notebook文本的cell单元的类型或内容特征。问题是所有这些标签仅仅能描述整个cell单元级别的特征。并且webMathematica Author提供的标签是远远不足以区分Mathematica notebook文本里边的所有元素来创建一个向webMathematica文件元素的一一对应并且包含所有的映射关系。即使是对整个cell单元级别的标签来说,他们也是仍然不够的。在cell单元内部,cell单元内容应该被进一步区分成一组更低级别的notebook文本元素如表达式,变量,参数选项,函数等。元素的名字是可以翻译器里面自定义的。在这里,本发明只是强调cell单元内容应该被区分成一组不同类型的更低级别的元素。当一个Mathematica notebook文本被要求转换成webMathematica文件的时候,cell单元的内容是必须被处理的。如果cell单元的内容不能被直接自动转换成webMathematica格式的构件,这一部分的工作就必须由手工来完成。虽然webMathematica Author提供了一些按钮来粘贴一些webMathematica代码片断,但是这些片断不是完整的。他们仍然需要用户手工填入一些参数。这是它在转换过程中必须要求用户的手工编程介入来使得每一件内含的事物能被足够明确的分类说明从而能够进行翻译的内在原因。
webMathematica Author也利用模式匹配函数来做巡回检测和转换。但是它的模式匹配函数不进入cell单元内容的里边,它们仅仅通过标签查找整个cell单元的类型信息并将整个cell单元作为一个整体进行处理。因为它不能转换cell单元元素级别的组成部分如表达式,变量,参数选项等,它就让用户手工来填入相应的webMathematica代码和用它的调色板上的按钮来粘贴一些webMathematica代码片断。在用户填入所有必需的webMathematica代码后,它开始将静态的Mathematica cell单元如Title cell单元,Section cell单元,Text cell单元,转换成静态的HTML内容并且最后输出由用户输入的webMathematica代码和翻译成的静态HTML内容组成的webMathematica文件。这个webMathematica文件的生成过程不是自动的。
发明内容
本发明的一个目的是提供一种把单元嵌套结构的交互型源文档转换成网页文件的方法,以便减轻从事转换工作的人员的工作量和复杂度。本发明的另一个目的是提供一种把Mathematica notebook源文档转换成webMathematica目标网页的方法,以便解决上述现有技术中必需由专业人员手工填写相应webMathematica代码的问题。
本发明的再一个目的是提供一种建立单元嵌套结构的交互型的源文档元素与目标网页文件元素的全映射的方法,以便减轻从事转换工作的人员的工作量和复杂度。
根据本发明的第一方面,提供了一种把单元嵌套结构的交互型源文档转换成网页文件的方法,包括以下步骤:
将源文档中的静态单元的元素直接映射到网页上,由此实现源文档静态单元元素到网页文件元素的转换;
从源文档中选择待转换的动态单元;
给所选择的动态单元添加单元级别标签或注释,然后给所选的动态单元添加元素级别标签或注释,由此建立动态单元的元素与相应的网页元素的映射关系;
根据所建立的映射关系,将动态单元的各元素转换成相应的网页文件元素。在该方面,通过对动态单元添加单元级标签和单元元素级标签这种两轮加标签处理,进一步细化了源文档中动态单元的元素,使源文档中的各个动态元素可以与目标网页文件中的相应元素建立一对一的映射关系,从而省去了专业人员手工编写代码的麻烦。
其中,给所述动态单元添加单元元素级别标签或注释包括:在所述动态单元字段之前或之后,添加一个或数个标签或注释字段,并在该标签或注释字段中复制从所述动态单元中选择的元素。由于给所述动态单元添加单元元素级别标签或注释是对动态单元中元素的复制,从而可以使非专业人员容易地把源文档转换成目标网页文件。
其中,在复制所述动态单元的元素的标签或注释字段之前或之后添加用来区别动态单元类型的动态单元级别标签或注释。
其中,所述动态单元级别标签或注释包括:3维绘图类动态单元标签或注释,2维绘图类动态单元标签或注释,数值替换类动态单元标签或注释,计算类动态单元标签或注释等。
其中,所述动态单元元素级别的标签或注释是由表示所选动态单元元素类型的字段,表示所选动态单元元素内容的字段,及字段间的分割字符组成;
其中所述动态单元元素级别的标签或注释由被分割字符分隔开的两字段或多字段组成。
其中,所述动态单元元素级别的标签或注释包括:所选表达式类标签或注释,所选变量类标签或注释,所选函数类标签或注释,所选选项类标签或注释,所选输入类标签或注释等;
其中,所选表达式类标签或注释中由分割字符分隔开的一部分字段表示所选的动态单元元素类型是表达式类元素,另一部分字段表示所选的动态单元元素中的表达式类元素的内容。
其中,处理计算类别动态单元所需的所述动态单元元素级别标签或注释包括一部分或所有以下标签或注释:所选函数类标签或注释,所选表达式类标签或注释,所选变量类标签或注释;
其中,处理2维图形类别动态单元所需的所述动态单元元素级别标签或注释包括一部分或所有以下标签或注释:所选表达式类标签或注释,所选变量类标签或注释,所选选项类标签或注释;
其中,处理3维图形类别动态单元所需的所述动态单元元素级别标签包括一部分或所有以下标签或注释:所选表达式类标签或注释,所选变量类标签或注释,所选选项类标签或注释;
其中,处理数值替换类别动态单元所需的所述动态单元元素级别标签或注释包含:所选输入类标签或注释。
其中,把动态单元的各元素转换成相应的网页文件元素的步骤包括:调用模式匹配函数检测动态单元的单元级别标签或注释和单元元素级别标签或注释,根据检测到的标签或注释的不同组合模式,调用相应的模式处理函数,把动态单元的各元素转换成相应的网页文件元素。
其中,调用模式匹配函数检测动态单元的标签或注释的步骤包括:
通过检测所述单元级别标签或注释,找到动态单元类型字符;
通过检测所述单元元素级别标签或注释,找到标签中复制的各元素类型字符和表示元素内容的字符;
从所述单元级别标签或注释和元素级别标签或注释中找到的所述动态单元类型字符和复制的各元素的类型字符和表示元素内容的字符中,提取出这个动态单元的源文本元素及元素类型信息;
调用相应的处理函数对所述动态单元进行转换翻译。
根据本发明的第二方面,提供了一种把Mathematica notebook源文档转换成webMathematica目标网页的方法,所述方法包括:
翻译器根据所述源文档中静态元素与所述目标网页文件元素之间的固有映射关系,把所述源文档中的静态单元的元素直接映射成所述目标网页的元素;
所述方法还包括以下步骤:
从所述源文档中选择待转换的动态单元;
通过在翻译器的选项板上选项,给所选择的动态单元添加标识类型的单元级别标签;
对于需要进行单元元素级别处理的动态单元,用所述选项板添加单元元素级别标签,由此建立动态单元的元素与相应的目标网页文件元素的映射关系,其中给所述动态单元添加元素级别标签包括:在所述动态单元字段之前或之后,添加一个标签字段,并在该标签字段中复制所述动态单元中选择的元素;
翻译器按照单元级别标签和单元元素级别标签的各种不同的组合模式,调动与各种模式相匹配的相应转换函数,把动态单元的各元素转换成相应的目标网页文件元素。
在该方面,通过对动态单元添加单元级标签和单元元素级标签这种两轮加标签处理,进一步细化了源文档中动态单元的元素,使源文档中的各个动态元素可以与目标网页文件中的相应元素建立一对一的映射关系;并且由于给所述动态单元添加单元元素级别标签或注释是对动态单元中元素的复制,从而省去了专业人员手工编写代码的麻烦,并且可以使非专业人员容易地把源文档转换成目标网页文件。
其中,把动态单元的各元素转换成相应的目标网页文件元素的步骤包括:翻译器通过调用模式匹配函数检查动态单元的单元级别标签和单元元素级别标签来寻找相应转换函数,然后利用已找到的相应转换函数把动态单元的各元素转换成相应的目标网页文件元素。
根据本发明的第三方面,提供了一种建立单元嵌套结构的交互型的源文档元素与目标网页文件元素的全映射的方法,包括以下步骤:
在映射表的一个区域中建立所述源文档每个静态单元元素与目标网页文件每个对应元素的确定对应关系;
从所述源文档文件中选择待映射的动态单元;
给所选择的动态单元添加标识类别的单元级别标签,然后给所选的动态单元添加单元元素级别标签,其中所述单元元素级别标签中包含所述动态单元中所选元素的副本;
在映射表中建立与单元级别标签相关的区域,然后在此区域中,用所述单元元素级别标签中每个元素副本建立与所述目标网页文件每个对应元素的确定对应关系,从而建立动态单元中每个元素与目标网页文件中每个对应元素的确定对应关系。
在该方面,通过对动态单元添加单元级标签和单元元素级标签这种两轮加标签处理,进一步细化了源文档中动态单元的元素,使源文档中的各个动态元素可以与目标网页文件中的相应元素建立一对一的映射关系,从而可以容易地现实单元嵌套结构的交互型的源文档元素到目标网页文件元素的全映射。
其中所述的建立确定对应关系是在映射表中写入作为原像的静态单元元素或动态单元元素实现的。
其中所述源文档是Mathematica notebook文档;所述目标网页文件是webMathematica文件。
下面结合附图对本发明进行详细说明。
附图说明
图1示出了一个Mathematica Notebook文本的实例;
图2示出了一个webMathematica文件的典型结构;
图3是源Mathematica notebook文本的处理流程图;
图4显示了人工介入下的翻译器的工作流程;
图5是加标签机制的内在原理图;
图6是待转换的Mathematica notebook文本的例子;
图7是区分cell单元元素级别组成部分的调色板按钮;
图8显示了cell单元元素级别的标签的一个实例;
图9显示了cell单元元素级别的标签的另一个实例;
图10显示了被翻译器的加标签机制标注过的Mathematica notebook文本;
图11显示了把图10所示的Mathematica notebook文本转换成webMathematica页面的上边部分;
图12显示了把图10所示的Mathematica notebook文本转换成webMathematica页面的下边部分;
图13是显示了巡检工作的示意图;
图14是显示本发明的转换的示意图;
图15显示了本发明与webMathematica Author工作风格的比较;
图16显示了所生成的webMathematica页面。
具体实施方式
尽管以下说明是针对Mathematica notebook文档进行描述的,但是本发明同样也适用于单元嵌套结构的交互型的源文档。
在本发明的把Mathematica notebook文档转换成webMathematica网页文件的方法的一个具体实施例中,首先使用类似Mathematica翻译器的翻译器,根据Mathematica notebook文档中静态元素与webMathematica网页文件元素之间的固有映射关系,把源Mathematica notebook文档中的静态单元的元素直接映射成webMathematica网页文件中的静态元素。
然后,从源Mathematica notebook文档中选择待转换的动态单元;通过在翻译器的调色板(即选项板)上选项,给所选择的动态单元添加标识单元类型的单元级别标签,即进行第一轮加标签处理,以便从源Mathematicanotebook文档的动态单元中分离出部分元素;但是,由于通过这一处理分离出的元素通常少于webMathematica网页文件元素,不能形成与webMathematica网页文件元素的全映射关系,因此需要进行下面所述的对动态单元的内容加单元元素级别的标签的处理。
也就是说,对于需要进行单元元素级别处理的动态单元,用所述选项板添加单元元素级别标签,即进行第二轮加标签处理,以便从源Mathematicanotebook文档的动态单元中再分离出动态单元内容的所有元素,从而建立动态单元的元素与相应的网页文件元素的一对一映射关系。
然后,利用翻译器对所述单元级别标签和单元元素级别标签进行巡回检测,根据检测到的标签的不同组合模式,调用相应的模式处理函数,把动态单元的各元素转换成相应的webMathematica网页文件元素。
本领域普通技术人员将会从上述实施例中发现,本发明的主要特征是在对动态单元添加单元级别标签的基础上,再对动态单元添加单元元素级别标签,从而实现Mathematica notebook文档的元素对webMathematica网页文件元素的全映射。
此外,为了使普通用户都能够方便地添加单元元素级别标签,本发明通过在标签或注释字段中复制从所述动态单元中选择的元素,完成单元元素级别标签的添加,这样不仅大大降低了工作量,而且还可以避免由于笔误造成的添加标签错误。
由于Mathematica notebook是单元嵌套结构的交互型的文档,因此本发明的基于给动态单元加单元元素级别标签的转换原理和映射原理,完全适用于单元嵌套结构的交互型的文档。下面结合附图对本发明进行详细说明。
Mathematica notebooks文本和webMathematica文件是翻译器的输入和输出。本发明的翻译器的工作分两个阶段。第一个阶段是使用由利用调色板按钮和鼠标或光标添加的特定标签来给notebook元素加标注。加标注的具体方法将在后面部分解释。第二个阶段是将加过注解的notebook文本翻译成webMathematica页面。
为了易于理解翻译器是怎样工作的,在下面给出了一个简单的关于输入输出的描述。
<Mathematica notebook文本的结构>
一个Mathematica notebook文本是被组织成一个cell单元层级嵌套的样式。Cell单元可以是不同的类型如text cell,为符号计算或者图形演示及诸如此类的input cell.图1是一个典型的Mathematica notebook文本,它具有静态内容如标题和text文本的cell单元,也具有动态内容如输出和图形的cell单元。
同样类型的cell单元能被进一步利用Mathematlica的标签机制区分。通常的一个cell单元的构成为:
Cell[content,style,…,CellTags→tagvalue]
Content是cell单元的内容,style是一个Mathematica内置的cell单元的风格类型,tagvalue是cell单元的标签。Cell单元的标签特征将被用于本发明的翻译器。
<webMathematica文件的结构>
一个webMathematica文件是一个由用来描述Mathematica和标准web浏览器之间交互的MSP标签库增强了的JSP文件。图2描述了一个webMathematica文件的典型结构。
这个页面使用标准HTML标签和特定的具有<msp:tag>形式的webMathematica标签。<msp:allocate>标签引起一个Mathematica核被调用来进行计算任务。<msp:evaluate>标签的内容被送到Mathematica做计算任务并将结果插入到最终页面里。</msp:allocate>标签释放Mathematica核来让它们等待下一个计算任务。webMathematica文件的标签层级嵌套也能被视为树结构。
<本发明的翻译器的体系结构和工作流程>
本发明开发了一个工具来直接将Mathematica notebook文本翻译成webMathematica页面从而使这个工具的用户能够将翻译成的webMathematica web页面直接放入具有后台Mathematica计算支持的服务器的目录里。这个工具的工作过程包含cell注解阶段和动态翻译阶段。整个翻译过程被分为动态翻译过程和静态翻译过程。动态翻译过程是针对那些应当被翻译成动态交互的webMathematica内容的具有计算任务的cell单元。静态翻译是针对那些应当被翻译成静态HTML内容的静态cell单元。静态翻译不是本发明的翻译器的工作,而是Mathematica平台的工作。通常的动态翻译行为是由模式匹配来完成。一个为特定的翻译行为定义的模式匹配函数分为两步,第一步是巡回阶段来检测条件,第二步是转换阶段来启动处理函数对来做转换工作。在翻译后生成的webMathematica代码的正确性将被施以检查。正确性检查是本发明的翻译器在进行转换之后的工作。从图3,本发明们可以看到源Mathematica notebook文本是怎样被处理的,以及本发明的翻译器在整个转换过程中的作用位置。
为了建立从Mathematica元素到webMathematica元素的全映射,本发明开发了一个cell单元标注机制来对Mathematica notebook元素如cell单元,表达式,函数,变量和参数选项添加额外的信息。本发明开发了一个调色板(选项板)作为图形用户界面(GUI).cell单元标注机制是通过使用调色板里边的按钮来实现的。调色板按钮调用他们各自的按钮函数来给notebook元素加标签从而使其得到更多的信息来进行自我表述。这里标签的作用如同对元素赋予具有语义(Semantic)的注释,并且把元素提取出来形成数据和数据类型的匹配对儿。用户使用调色板按钮和鼠标或者键盘来做cell单元标注和webMathematica文件输出。
翻译阶段是一个大的functional编程风格的模式匹配。条件检测步骤和相应的处理函数被组合在一起作为一个对儿来表达一个翻译行为。为了描述程序里边的模式匹配的方便,本发明将在转换之前的检测工作称为抽象的巡回阶段。巡回阶段仅仅巡查Mathematica notebook文本来辨识结构和元素。
转换阶段将通过巡查notebook提取出的元素经由转换规则转换为相应的webMathematica文件元素。
图4描述了人工介入下的翻译器的工作流程。
<cell单元标注阶段>
本发明人发现在Mathematica notebook文本里边,元素自身是远不足以在web上表述他们自己的,因为Mathematica cell单元的类型不足以将webMathematica元素的动态行为分类。他们必须具有额外的信息加入以使notebook元素到webMathematica元素的一一映射成为可能。Mathematicanotebook有一个好用的结构名为CellTag来给出进一步的信息。因此本发明使用了cell标签来给每个需要加标签的cell加标签,如果翻译器需要对一个cell单元的内容进行进一步处理的时候,则对其cell内容的组成部分加标签。
加标签的本质原理在于:
要将一个集合A转换到集合B,我们需要定义映射规则。在我们定义映射规则之前,我们需要发现谁映射到谁。如果A里边的元素数量少于B,一个A里边的元素可能映射到B里边的多个元素,要给出一个一对一的映射,需要对A里边的元素给出额外的信息来进一步的细分他们。这可以被称为加标签。在第一轮加标签后,一些A里边加过标签的元素可能对于映射到B里边的元素来说仍然是模糊的。我们对它们可以做第二轮加标签工作来使它们更加清楚,并且相应的使A里边的信息(元素)数量进一步增加。只有当A里边的总的信息实体数量与B里边的相同的时候,我们才能给他们制订一个全映射。图5给出了加标签机制的内在原理。
一般来说在,Mathematica notebook文档(源文档)中静态单元元素与webMathematica网页文件(目标网页文件)元素存在一一对应关系,但是Mathematica notebook文档中动态单元元素与webMathematica网页元素不存在一一对应关系,本发明特点之一是,通过对动态单元cell单元中的元素加标签,提取出动态单元中嵌套的元素,从而实现动态cell单元中各元素与webMathematica网页相应元素的一一对应关系,从而实现全映射。本发明建立全映射的方法包括以下步骤:
在映射表的一个区域中建立所述源文档每个静态单元元素与目标网页文件每个对应元素的确定对应关系;
从所述源文档文件中选择待映射的动态单元;
给所选择的动态单元添加标识类别的单元级别标签,然后给所选的动态单元添加单元元素级别标签,其中所述单元元素级别标签中包含所述动态单元中所选元素的副本;
在映射表中建立与单元级别标签相关的区域,然后在此区域中,用所述单元元素级别标签中每个元素副本建立与所述目标网页文件每个对应元素的确定对应关系,从而建立动态单元中每个元素与目标网页文件中每个对应元素的确定对应关系。
Cell单元标注机制和转换规则是本发明对于从Mathematica到webMathematica的翻译的贡献。Cell单元标注机制是在整个工具里边最重要的部分。它将notebook里边的元素进行区分来使得巡回阶段可以将他们检出并调用相应的转换规则来将他们转换。
用户使用调色板来对Mathematica notebook文本的cell单元加标签。调色板包含一组按钮来对cell单元给出标签。有的标签来表述整个cell单元,如static cell单元来告诉转换器仅仅将cell单元的内容进行复制,hidecell单元告诉转换器来从外部程序包里引入一些函数并且仅仅将计算结果在web页面上显现,一些标签表述关于表达式,变量,参数选项的信息来映射到webMathematica页面的动态更新和交互计算部分。
使用新的cell标签组,Mathematica程序员只需要知道Mathematica和调色板按钮的用法,调色板按钮是和具有不同意义的标签相对应的。cell单元将被翻译成特定的webMathematica代码(例如动态3D图形显示,输入,提交按钮的求值等)这是和webMathematica Author相反的,webMathematicaAuthor将在Mathematica程序员的许多编码工作后,生成一个包含JSP和MSP的句法构件的Mathematica notebook文本。
<cell单元标注机制>
cell单元标签有两个分级。一个是cell单元级的,在这个级别,所有的标签是为cell单元的类型而设置的。他们表示整个cell单元的目的或者参数选项。Cell单元的标签如下:
MSPTag:Visible MSPTag:Hidden
MSPTag:InactiveCell MSPTag:ActiveCell
MSPTag:Live3D MSPTag:Graphics
MSPTag:Compute MSPTag:ReplaceValue
其中“Compute和Replace Value”是本发明新增的Cell单元标签类型。标签的名字是本发明自定义的。重要的是发现那些要被区分的必要的类型。当用户使用按钮给出cell单元级的标签时,一个或数个如上所示的标签将会在notebook文本上所选中的cell单元正上方显现。
另一个分级是cell单元元素级别。在这个级别里,所有的标签都是为从cell单元的内容里选中的各个元素的类型或内容而设置的。Cell单元元素级别的标签如下:
Selected Expr:_,Selected Variable:_,Selected Input:_,Selected Fun:_,Selected Option:_
“Selected Expr”表示的是选中内容组成部分的类型,“:”是一个分割符号,其将标签分为两个部分,“_”表示选中的内容,因为选中的内容是不确定的,所以用“_”来表示。
<cell单元标注机制的用法>
本发明将用一个例子来解释cell单元标注机制和这个机制的用法。图6显示了一个要翻译的Mathematica notebook文本例子。
在上边的notebook文本里,从上到下,由notebook文本最右端的每一个矩形括号括起来的是一个单元,一共8个。第一个cell单元的内容是“Title”风格类型的。第二个cell单元的内容是“Subtitle”风格类型的,第三个cell单元的内容是“Section”风格类型的,第四,五,七个cell单元内容分别是“Title”,“Text”,“Title”风格类型的。所有这些cell单元内容都是静态cell单元内容。他们不需要被标注。在翻译器处理完动态cell单元内容后,它们将会被Mathematica系统函数翻译成HTML内容。
第六个和第八个cell单元的内容是动态计算的内容。第六个是图形绘制,第八个是积分计算。根据预定义,图形绘制内容是属于“Graphics”类型的。因此它将被调色板按钮给予一个“MSPTag:Graphics”标签来作为整个cell单元级别的标注。积分计算是属于“Compute”类型的,因此它将被给予一个“MSPTag:Compute”标签。
这两个cell单元的内容应该被进一步处理。要区分cell单元元素级别组成部分的调色板按钮在图7里显示。
用户首先选择cell单元元素级别的组成部分,然后点击调色板上相应的按钮,cell单元标签将会在按钮点击之后被添加在所选cell单元的正上方。
第六个cell单元的内容是:
Plot[Sin[x]2,x,-10,10,PlotPoint s->30]
用户选择的Sin[x]2是作为一个表达式,“x”作为一个变量,“PlotPoint”作为一个参数选项,cell单元元素级别的标签将会如图8所示显现。
生成的标签是:Selected Expr:Sin[x]2,Selected Variable:x,Selected Option:PlotPoints
在第8个cell单元里边的cell单元内容是:
Integrate[Sin[x+y]2,x],
用户选择的“Integrate”作为一个函数,“Sin[x+y]2”作为一个表达式,“x”作为一个变量,cell单元元素级别的标签将如图9所示显现。
图9在积分cell单元里边被标注过的cell单元元素生成的标签是:
Selected Fun:Integrate,Selected Expr:Sin[x+y]2,SelectedVariable:x,MSPTag:Compute
图10显示了被翻译器的加标签机制标注过的Mathematica notebook文本。
现在notebook文本已经被标注过了,用户点击输出按钮,webMathematica页面将会被生成。用户可以将生成的web页面放入web服务器的目录里。生成的webMathematica页面在图11和图12显示。
图11生成了webMathematica页面的上边部分;图12生成了webMathematica页面的下边部分。
<cell单元标注机制的关键点>
Cell单元级别的标签和cell单元元素级别的标签的不同之处在于标签内部。让我们来比较它们。
MSPTag:Compute VS.SelectedExpr:Sin[x]2
他们两个都包含一个静态部分和一个动态部分。静态部分和动态部分被一个冒号分开了。根据预定义,我们可以看到在上边的标签里,“MSPTag”和“SelectedExpr”是静态部分。“MSPTag”表示这个标签的类型为一个cell单元级别的标签。“SelectedExpr”表示这个标签的类型为一个cell单元元素级别的标签。“MSPTag”和“SelectedExpr”都是预定义的用来区分标签是属于cell单元级别的或者是属于cell单元元素级别的字段。
动态部分是不同的。“Compute”和“Sin[x]2”是动态部分。“Compute”是预定义的用来表示整个cell单元的类型。它是确定了的。“Sin[x]2”是非预定义的或者说非确定了的。它是一个用户在cell单元内容里边用鼠标或键盘所选择了的内容的映像(复制)。
在标签里边的选择内容映像是这个翻译器能够工作的关键原因。因为通过这个方法,模式匹配函数不仅能检测出整个cell单元的类型信息和cell单元元素级别cell单元内容组成部分的类型信息,而且能从cell单元标签中检测出cell单元的内容组成部分。Cell单元的内容组成部分就如同是被分组了并且被复制了,然后储存在cell单元元素级别的标签里。模式匹配函数能够发现所有的notebook文本元素和元素的类型,把他们翻译成webMathematica元素的转换可以通过一个转换规则表来实现。
在内部程序里,有一个变量代表用户所选择的内容。有一个机制来得到,传输,沟通,交换变量值。Cell单元标注机制是由如下工作流程来实现的。
1,从源Mathematica Notebook文本里边选择一个cell单元。
2,使用按钮给出表示整个cell单元的类型的cell标签。
3,如果cell单元内容的元素需要被进一步的详细精确处理的话,使用鼠标或者键盘来从cell单元中选择组成部分。
4,生成一个变量来代表选择了的内容。
5,将代表为所选cell单元内容部分预定义类型的字符串和代表所选组成内容的字符串变量组合起来。同时将两个部分用符号或字符串分隔开。
6,生成cell单元元素级别的cell单元标签。
7,给cell单元内容中别的组成部分或者别的cell单元加标签。
<巡回阶段>
在这个阶段,翻译器通过巡检notebook文本的层级嵌套cell单元来分析Mathematica notebook.
Mathematica notebook文本的不同元素指示了webMathematica代码语段不同的相应功能,为了识别它们,本发明提出了一个加注了标签的cell单元巡检机制。巡检工作是如图13这样做的:
在用调色板的按钮对notebook文本的cell单元元素和表达式元素加注标签过程之后,用户点击Export输出按钮。这个按钮将从内部首先调动翻译器去做巡回检测。每一个检测出来的标签将会在转换阶段引发一个转换事件。巡回检测工作将给翻译器的模式匹配函数报告如下一系列cell单元。
1,开始巡回检测notebook文本;
2,通过检测cell单元级别的标签,如果一个cell单元没有标签,就判断发现静态cell单元,暂不对其进行处理,留待Mathemaica平台的转换函数去处理;
3,通过检测cell单元级别的标签里边在预先设定的位置,具有预定义意义的字段发现动态cell单元,例如发现具有“MSPTag:Compute”,其中“MSPTag”表示这个单元是动态单元,将被翻译为MSP的语句段;
4,通过检测cell单元级别的标签里边在预先设定的位置,具有预定义意义的字段区分所有动态cell单元的类型,例如发现具有“MSPTag:Compute”,其中“Compute”表示这个动态单元的类型是计算类;
5,通过检测cell单元元素级别的标签里边在预先设定的位置,具有预定义意义的字段发现表示变量,表达式,参数选项等的标签,例如发现“SelectedExpr:Sin[x+y]^2,Selected Variable:x”;
6,通过检测cell单元元素级别的标签的静态部分检测出,表示选择的cell单元内容组成部分的预定义的类型,如“SelectedExpr”表示所选单元组成部分的类型是表达式,“Selected Variable”表示所选单元组成部分的类型是变量;
7,从表示选中的cell单元内容组成部分的标签的动态部分的字符串中,提取出notebook文本元素,例如从“Sin[x+y]^2”得到所选表达式元素的内容,从“x”得到所选变量元素的内容;
8,完成检测一个动态cell单元后,调用相应的处理函数对整个cell单元进行转换翻译;
9,发现别的动态cell单元和静态cell单元并做如上检测提取工作;
10,结束巡回检测notebook文本的工作。
当翻译器发现一个标签,它就区分在notebook文本里这是一个什么样的cell单元。每一个cell单元检测步骤(也能被称为是模式匹配步骤),有一个相应的转换函数(从哪里得到该转换函数?)来把notebook文本里边的加注过标签的cell单元和元素转换成相应的webMathematica页面元素。这些转换函数都是根据对于notebook文本结构的分析,提取出的notebook文本元素和标签在各种不同组合情况下组成的工作模式来编写的相应处理函数。
当翻译器依次遇上每一个cell单元个体,它每次只处理一个cell单元而非一次处理所有cell单元。这使得比树形解析消耗更少的内存,并且每次只处理一个cell单元更容易找到匹配的模式。
<转换阶段>
Mathematica notebook树和webMathematica文件树具有相似的结构。这种相似性可以被描述为在他们的元素间的映射。如图14,对静态Mathematicanotebook文本元素来说,他们可以几乎一对一的映射到相应的web元素。对于notebook文本的动态计算cell单元,它们可能映射到webMathematica文件的一个语段块,这个语段块是用来表示web上的Mathematica行为的HTMLforms,frames,JSP和MSP语句的组合。
从巡回检测的检查结果,翻译器决定为各个检查结果调用相应的转换规则。当一个cell单元级别的标签显示这个cell单元应该被作为一个整体处理而不需要对cell单元内容进行特别处理的时候,翻译器将调用转换规则来将这个cell单元作为一个整体来处理。当一个cell单元级别的标签是如MSPTag:Live 3D,MSPTag:Graphics,MSPTag:ReplaceValue或者MSPTag:Compute的时候,为这些标签预定义的语义表明了这个cell单元需要为用户选择的cell单元内容组成部分而被实行特别的处理。从cell单元元素级别的标签的静态部分中检测出的选择了的cell单元内容组件的预定义的类型和表示选择了的cell单元内容组件的标签的动态部分的字符串中提取出的notebook文本元素,翻译器决定调用相应的规则来将特定的选择了的cell单元内容组成部分进行各个转换。
转换工作不是在一步里面完成的。它首先在内存里边生成一个中间notebook文本对象,内存中的notebook文本对象是一个中间过程,对于用户来说是隐藏的,这个中间对象在被成功转换成webMathematica文件或者转换失败之后,会从内存中被清除。这个对象包含许多根据webMathematicastylesheet风格表定义的“JSP”风格的cell单元。所有的webMathematica(HTML/JSP/MSP混合)代码被包含进“JSP”风格的cell单元的内容部分。例如:Cell[″<msp:allocatekerne l>\n″,″JSP″]
从各个已选的同一个cell单元里边的cell单元内容组件翻译成的“JSP”风格的cell单元将会被重新排列并组合在一起成为一个组,来描述Mathematica cell单元内容的相应的webMathematica行为。
对于加过标签的cell单元的翻译工作是基于这个翻译器的动态翻译工作。在“JSP”风格的Cell单元里边包裹的webMathematica代码将会通过由按钮调用的Export输出函数来解包。这个解包的中间过程的处理是由Mathematica平台的与webMathematica风格表技术相匹配的函数来实现的,
在翻译器完成翻译那些加过标签的cell单元之后,那些没有cell单元标签的静态notebook cell单元将会被直接翻译成相应的HTML代码。
对于没有cell单元标签的静态notebook cell单元的翻译工作是静态翻译。这个阶段的工作是由翻译器调动但是由Mathematica平台来完成。
解包了的webMathematica代码和翻译成的HTML代码将会被组合在一起来生成最终的webMathematica文件。
解包和最终的输出工作也是由Mathematica平台完成的。
这整个过程对于用户来说是隐藏的。从用户的角度来看,所有的翻译工作是自然的被做完了的并且仅仅在一个按钮点击之后就完成了。
<翻译结果的正确性检查>
有一个内部的树结构是与由webMathematica框架描述的逻辑结构相一致的。在转换后,生成的webMathematica代码被检查来看它们的语法的正确性和文件的完整性。这个检测模块是依据它内部的树结构来定义的。
<本发明与现有技术的比较>
图15比较了由本发明的翻译器(左)和现有的webMathematica Author(右)翻译来的notebook的格式。
这两个文件都生成同样的webMathematica文件,这个webMathematica文件将产生在图16里显示的web页面。
webMathematica Author创建了具有混合语法的notebook文本,本发明的翻译器的工作风格里包含的仅仅是用标签注解过的Mathematica代码。要用webMathematica Author编辑notebooks文本,用户必须自己输入一些MSP/JSP代码,他们负着保证MSP代码正确性的责任。相反的,本发明的翻译器的用户仅仅需要使用调色板按钮来标出cell单元和cell单元内容的类型,他们不需要关心JSP&MSP代码,他们甚至可以不知道任何关于webMathematica的知识。只要他们按照不同情况下的按钮使用规则来正确的使用按钮为Mathematica文件给出正确的标签,他们就能在对调色板按钮“Export”的一个点击调动的翻译之后,得到正确的JSP&MSP文件。他们能够从避免学习JSP&MSP或自己输入JSP&MSP代码中获得巨大的解放。在翻译之后得到的webMathematica web文件的排版也是与源Mathematica notebook文本在标题,颜色,字体,缩进和计算表格等方面非常类似。
本发明翻译器的优点主要是不需要任何手工编程,用户使用起来是非常方便的。
本发明的翻译器能够做Mathematica notebook文本的静态和动态计算部分的翻译。本发明的工作主要集中于动态部分的翻译。本发明已经为动态处理任务而完成的功能是:具有可选性绘图参数的3D绘图,具有可选性绘图参数的2D绘图,使可选性的函数,表达式,变量自由组合定制的计算,从外部应用程序包的引入,对一些在源Mathematica notebook文本里边的一些内容用户不想让浏览器用户在翻译成的返回到浏览器上的web页面上看到且只想让计算结果显示而定制的隐藏函数。
应当注意,上述实施例是示范而不用于限制本发明,并且本领域熟练技术人员将能够设计许多可替代实施例,而又不背离所附权利要求的范围。
Claims (13)
1、一种把单元嵌套结构的交互型源文档转换成网页文件的方法,包括以下步骤:
将源文档中的静态单元的元素直接映射到网页上,由此实现源文档静态单元元素到网页文件元素的转换;
从源文档中选择待转换的动态单元;
给所选择的动态单元添加单元级别标签或注释,然后给所选的动态单元添加元素级别标签或注释,由此建立动态单元的元素与相应的网页元素的映射关系;
根据所建立的映射关系,将动态单元的各元素转换成相应的网页文件元素。
2、根据权利要求1所述的方法,其中,给所述动态单元添加单元元素级别标签或注释包括:在所述动态单元字段之前或之后,添加一个或数个标签或注释字段,并在该标签或注释字段中复制从所述动态单元中选择的元素。
3、根据权利要求2所述的方法,其中,在复制所述动态单元的元素的标签或注释字段之前或之后添加用来区别动态单元类型的动态单元级别标签或注释;
其中,所述动态单元级别标签或注释包括:3维绘图类动态单元标签或注释,2维绘图类动态单元标签或注释,数值替换类动态单元标签或注释,计算类动态单元标签或注释等。
4、根据权利要求1、2所述的方法,其中,所述动态单元元素级别的标签或注释是由表示所选动态单元元素类型的字段,表示所选动态单元元素内容的字段,及字段间的分割字符组成;
其中所述动态单元元素级别的标签或注释由被分割字符分隔开的两字段或多字段组成。
5、根据权利要求1、2、4所述的方法,其中,所述动态单元元素级别的标签或注释包括:所选表达式类标签或注释,所选变量类标签或注释,所选函数类标签或注释,所选选项类标签或注释,所选输入类标签或注释等;
其中,所选表达式类标签或注释中由分割字符分隔开的一部分字段表示所选的动态单元元素类型是表达式类元素,另一部分字段表示所选的动态单元元素中的表达式类元素的内容。
6、根据权利要求1、2、5所述的方法,其中,处理计算类别动态单元所需的所述动态单元元素级别标签或注释包括一部分或所有以下标签或注释:所选函数类标签或注释,所选表达式类标签或注释,所选变量类标签或注释;
其中,处理2维图形类别动态单元所需的所述动态单元元素级别标签或注释包括一部分或所有以下标签或注释:所选表达式类标签或注释,所选变量类标签或注释,所选选项类标签或注释;
其中,处理3维图形类别动态单元所需的所述动态单元元素级别标签包括一部分或所有以下标签或注释:所选表达式类标签或注释,所选变量类标签或注释,所选选项类标签或注释;
其中,处理数值替换类别动态单元所需的所述动态单元元素级别标签或注释包含:所选输入类标签或注释。
7、根据权利要求1所述的方法,其中,把动态单元的各元素转换成相应的网页文件元素的步骤包括:调用模式匹配函数检测动态单元的单元级别标签或注释和单元元素级别标签或注释,根据检测到的标签或注释的不同组合模式,调用相应的模式处理函数,把动态单元的各元素转换成相应的网页文件元素。
8、根据权利要求7所述的方法,其中,调用模式匹配函数检测动态单元的标签或注释的步骤包括:
通过检测所述单元级别标签或注释,找到动态单元类型字符;
通过检测所述单元元素级别标签或注释,找到标签中复制的各元素类型字符和表示元素内容的字符;
从所述单元级别标签或注释和元素级别标签或注释中找到的所述动态单元类型字符和复制的各元素的类型字符和表示元素内容的字符中,提取出这个动态单元的源文本元素及元素类型信息;
调用相应的处理函数对所述动态单元进行转换翻译。
9、一种把Mathematica notebook源文档转换成webMathematica目标网页的方法,所述方法包括:
翻译器根据所述源文档中静态元素与所述目标网页文件元素之间的固有映射关系,把所述源文档中的静态单元的元素直接映射成所述目标网页的元素;
所述方法还包括以下步骤:
从所述源文档中选择待转换的动态单元;
通过在翻译器的选项板上选项,给所选择的动态单元添加标识类型的单元级别标签;
对于需要进行单元元素级别处理的动态单元,用所述选项板添加单元元素级别标签,由此建立动态单元的元素与相应的目标网页文件元素的映射关系,其中给所述动态单元添加元素级别标签包括:在所述动态单元字段之前或之后,添加一个标签字段,并在该标签字段中复制所述动态单元中选择的元素;
翻译器按照单元级别标签和单元元素级别标签的各种不同的组合模式,调动与各种模式相匹配的相应转换函数,把动态单元的各元素转换成相应的目标网页文件元素。
10、根据权利要求9所述的方法,其中,把动态单元的各元素转换成相应的目标网页文件元素的步骤包括:翻译器通过调用模式匹配函数检查动态单元的单元级别标签和单元元素级别标签来寻找相应转换函数,然后利用已找到的相应转换函数把动态单元的各元素转换成相应的目标网页文件元素。
11、一种建立单元嵌套结构的交互型的源文档元素与目标网页文件元素的全映射的方法,包括以下步骤:
在映射表的一个区域中建立所述源文档每个静态单元元素与目标网页文件每个对应元素的确定对应关系;
从所述源文档文件中选择待映射的动态单元;
给所选择的动态单元添加标识类别的单元级别标签,然后给所选的动态单元添加单元元素级别标签,其中所述单元元素级别标签中包含所述动态单元中所选元素的副本;
在映射表中建立与单元级别标签相关的区域,然后在此区域中,用所述单元元素级别标签中每个元素副本建立与所述目标网页文件每个对应元素的确定对应关系,从而建立动态单元中每个元素与目标网页文件中每个对应元素的确定对应关系。
12、根据权利要求11所述的方法,其中所述的建立确定对应关系是在映射表中写入作为原像的静态单元元素或动态单元元素实现的。
13、根据权利要求11、12所述的方法,其中所述源文档是Mathematicanotebook文档;所述目标网页文件是webMathematica文件。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101232064A CN100399335C (zh) | 2005-11-15 | 2005-11-15 | 把源文档转换成目标网页文件的方法 |
US12/093,821 US20100070852A1 (en) | 2005-11-15 | 2005-12-01 | Method for Transforming the Source Documents to Corresponding Web Pages |
PCT/CN2005/002066 WO2007056898A1 (fr) | 2005-11-15 | 2005-12-01 | Procede de conversion d'un document source en fichier de page web objet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101232064A CN100399335C (zh) | 2005-11-15 | 2005-11-15 | 把源文档转换成目标网页文件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1773508A true CN1773508A (zh) | 2006-05-17 |
CN100399335C CN100399335C (zh) | 2008-07-02 |
Family
ID=36760472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101232064A Expired - Fee Related CN100399335C (zh) | 2005-11-15 | 2005-11-15 | 把源文档转换成目标网页文件的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100070852A1 (zh) |
CN (1) | CN100399335C (zh) |
WO (1) | WO2007056898A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112002A (zh) * | 2014-07-14 | 2014-10-22 | 福建星网锐捷网络有限公司 | 一种表单适配的方法、装置和系统 |
CN104360848A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
CN104573412A (zh) * | 2013-10-16 | 2015-04-29 | 北京航天在线网络科技有限公司 | 防止拷贝网页文字内容的方法和装置 |
CN105653669A (zh) * | 2015-12-29 | 2016-06-08 | 网易(杭州)网络有限公司 | 超文本标记语言生成方法及装置 |
CN109657010A (zh) * | 2018-10-30 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 文档处理方法、装置和存储介质 |
CN109783579A (zh) * | 2019-01-22 | 2019-05-21 | 南京焦点领动云计算技术有限公司 | 一种快速复制和翻译网站的方法 |
CN112668282A (zh) * | 2020-12-28 | 2021-04-16 | 山东鲁能软件技术有限公司 | 一种设备规程文档格式转换的方法及系统 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028302A1 (en) * | 2006-07-31 | 2008-01-31 | Steffen Meschkat | Method and apparatus for incrementally updating a web page |
US20110302514A1 (en) * | 2008-03-11 | 2011-12-08 | Creative Information Technology | Method for designing a graphical interface program |
US20110302285A1 (en) * | 2010-06-07 | 2011-12-08 | Quora, Inc. | Update server to update rendered content |
US10430388B1 (en) | 2011-10-17 | 2019-10-01 | Google Llc | Systems and methods for incremental loading of collaboratively generated presentations |
US20150199308A1 (en) | 2011-10-17 | 2015-07-16 | Google Inc. | Systems and methods for controlling the display of online documents |
US8397153B1 (en) * | 2011-10-17 | 2013-03-12 | Google Inc. | Systems and methods for rich presentation overlays |
US8812946B1 (en) | 2011-10-17 | 2014-08-19 | Google Inc. | Systems and methods for rendering documents |
US8266245B1 (en) | 2011-10-17 | 2012-09-11 | Google Inc. | Systems and methods for incremental loading of collaboratively generated presentations |
US9367522B2 (en) | 2012-04-13 | 2016-06-14 | Google Inc. | Time-based presentation editing |
US9529785B2 (en) | 2012-11-27 | 2016-12-27 | Google Inc. | Detecting relationships between edits and acting on a subset of edits |
US9971752B2 (en) | 2013-08-19 | 2018-05-15 | Google Llc | Systems and methods for resolving privileged edits within suggested edits |
US9348803B2 (en) | 2013-10-22 | 2016-05-24 | Google Inc. | Systems and methods for providing just-in-time preview of suggestion resolutions |
US10095202B2 (en) | 2014-03-26 | 2018-10-09 | Rockwell Automation Technologies, Inc. | Multiple controllers configuration management interface for system connectivity |
US9971317B2 (en) | 2014-03-26 | 2018-05-15 | Rockwell Automation Technologies, Inc. | Cloud-level industrial controller loop gain tuning based on industrial application type |
US10208947B2 (en) | 2014-03-26 | 2019-02-19 | Rockwell Automation Technologies, Inc. | Cloud-level analytics for boiler networks |
US9843617B2 (en) | 2014-03-26 | 2017-12-12 | Rockwell Automation Technologies, Inc. | Cloud manifest configuration management system |
US9614963B2 (en) | 2014-03-26 | 2017-04-04 | Rockwell Automation Technologies, Inc. | Cloud-based global alarm annunciation system for industrial systems |
US9866635B2 (en) | 2014-03-26 | 2018-01-09 | Rockwell Automation Technologies, Inc. | Unified data ingestion adapter for migration of industrial data to a cloud platform |
US9838476B2 (en) | 2014-03-26 | 2017-12-05 | Rockwell Automation Technologies, Inc. | On-premise data collection and ingestion using industrial cloud agents |
US9825949B2 (en) | 2014-03-26 | 2017-11-21 | Rockwell Automation Technologies, Inc. | Device authentication to facilitate secure cloud management of industrial data |
US9886012B2 (en) * | 2014-03-26 | 2018-02-06 | Rockwell Automation Technologies, Inc. | Component factory for human-machine interface migration to a cloud platform |
CN104268211A (zh) * | 2014-09-23 | 2015-01-07 | 河海大学常州校区 | 工程文档到pdf文档的在线转换方法 |
US20170315529A1 (en) * | 2016-04-29 | 2017-11-02 | Rockwell Automation Technologies, Inc. | Unique udts to exploit the power of the connected enterprise |
US10893011B2 (en) * | 2016-09-13 | 2021-01-12 | Gluru Limited | Semantic interface definition language for action discovery in cloud services and smart devices |
US10764255B2 (en) | 2016-09-21 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Secure command execution from a cloud monitoring system to a remote cloud agent |
US11327473B2 (en) | 2017-07-11 | 2022-05-10 | Rockwell Automation Technologies, Inc. | Dynamically reconfigurable data collection agent for fracking pump asset |
US10482063B2 (en) | 2017-08-14 | 2019-11-19 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
US10416660B2 (en) | 2017-08-31 | 2019-09-17 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
US11003835B2 (en) * | 2018-10-16 | 2021-05-11 | Atos Syntel, Inc. | System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework |
CN113342570B (zh) * | 2021-06-17 | 2022-03-08 | 哈尔滨工业大学 | 一种适配3d tlc型nand闪存数据存储的双目标状态消除编解码方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021426A (en) * | 1997-07-31 | 2000-02-01 | At&T Corp | Method and apparatus for dynamic data transfer on a web page |
CA2327159C (en) * | 2000-11-30 | 2008-10-07 | Ibm Canada Limited-Ibm Canada Limitee | System and method for dynamically displaying html form elements |
ES2326073T3 (es) * | 2001-11-23 | 2009-09-30 | Research In Motion Limited | Sistema y metodo para tratar o procesar documentos en lenguaje de marcaje extensible (xml). |
US20040100489A1 (en) * | 2002-11-26 | 2004-05-27 | Canon Kabushiki Kaisha | Automatic 3-D web content generation |
FR2850473A1 (fr) * | 2003-01-28 | 2004-07-30 | France Telecom | Procede et systeme pour la fourniture d'un service de traduction automatique de contenu web |
JP2004326514A (ja) * | 2003-04-25 | 2004-11-18 | Hitachi Ulsi Systems Co Ltd | ウェブサイト作成支援システム |
CN100362514C (zh) * | 2004-03-23 | 2008-01-16 | 中国科学院计算技术研究所 | 一种构造和浏览语义链的方法 |
CN1296824C (zh) * | 2004-10-28 | 2007-01-24 | 威盛电子股份有限公司 | 程序编码方法及其系统 |
US9009582B2 (en) * | 2004-11-19 | 2015-04-14 | Google Inc. | Converting spreadsheet applications to web-based applications |
CN1677390A (zh) * | 2005-02-02 | 2005-10-05 | 广州网上新生活软件技术服务有限公司 | 一种嵌入式系统多种字体及大小和样式的显示系统和方法 |
-
2005
- 2005-11-15 CN CNB2005101232064A patent/CN100399335C/zh not_active Expired - Fee Related
- 2005-12-01 WO PCT/CN2005/002066 patent/WO2007056898A1/zh active Application Filing
- 2005-12-01 US US12/093,821 patent/US20100070852A1/en not_active Abandoned
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573412B (zh) * | 2013-10-16 | 2019-04-23 | 航天信息软件技术有限公司 | 防止拷贝网页文字内容的方法和装置 |
CN104573412A (zh) * | 2013-10-16 | 2015-04-29 | 北京航天在线网络科技有限公司 | 防止拷贝网页文字内容的方法和装置 |
CN104112002A (zh) * | 2014-07-14 | 2014-10-22 | 福建星网锐捷网络有限公司 | 一种表单适配的方法、装置和系统 |
CN104112002B (zh) * | 2014-07-14 | 2017-08-25 | 福建星网锐捷网络有限公司 | 一种表单适配的方法、装置和系统 |
CN104360848A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
CN104360848B (zh) * | 2014-10-29 | 2018-09-04 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
CN105653669B (zh) * | 2015-12-29 | 2019-08-13 | 网易(杭州)网络有限公司 | 超文本标记语言生成方法及装置 |
CN105653669A (zh) * | 2015-12-29 | 2016-06-08 | 网易(杭州)网络有限公司 | 超文本标记语言生成方法及装置 |
CN109657010A (zh) * | 2018-10-30 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 文档处理方法、装置和存储介质 |
CN109783579A (zh) * | 2019-01-22 | 2019-05-21 | 南京焦点领动云计算技术有限公司 | 一种快速复制和翻译网站的方法 |
CN109783579B (zh) * | 2019-01-22 | 2020-06-02 | 南京焦点领动云计算技术有限公司 | 一种快速复制和翻译网站的方法 |
CN112668282A (zh) * | 2020-12-28 | 2021-04-16 | 山东鲁能软件技术有限公司 | 一种设备规程文档格式转换的方法及系统 |
CN112668282B (zh) * | 2020-12-28 | 2023-02-03 | 山东鲁能软件技术有限公司 | 一种设备规程文档格式转换的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100399335C (zh) | 2008-07-02 |
WO2007056898A1 (fr) | 2007-05-24 |
US20100070852A1 (en) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
CN101052948A (zh) | 对象过程图应用程序开发系统 | |
CN1821956A (zh) | 用现有内容生成用于执行任务的活动内容向导可执行文件 | |
CN1174332C (zh) | 转换表达方式的方法和装置 | |
CN101052945A (zh) | 在标记语言文档中创建标签或属性的方法 | |
CN1794231A (zh) | 具有替换格式的上下文无关的文档部分 | |
CN1609792A (zh) | 计算机程序的编程接口 | |
CN1711522A (zh) | 图形用户接口建模系统 | |
CN1969272A (zh) | 自动生成内容的导入 | |
CN1815435A (zh) | 文档处理装置和文档处理方法 | |
CN1609793A (zh) | 用于计算机平台的编程接口 | |
CN1137320A (zh) | 用于建立关系型数据库模式的语义目标模型化系统 | |
CN1811702A (zh) | 开发门户应用和自动部署门户应用的系统和方法 | |
CN1591406A (zh) | 集成多应用数据处理系统 | |
CN1379882A (zh) | 将二维数据转换为标准形式的方法 | |
CN1265207A (zh) | 生成2000年测试例的系统和方法 | |
CN101048728A (zh) | 文档管理系统及其方法 | |
CN1677399A (zh) | 分级数据库管理的系统、方法和程序 | |
US8707250B2 (en) | Automation support for domain modeling | |
CN1650327A (zh) | 可训练可扩充的自动数据-知识转换器 | |
CN1920837A (zh) | 面向复杂装备多学科设计软件集成的参数映射方法 | |
CN1869989A (zh) | 用于从非结构化描述生成结构化表示的系统和方法 | |
CN101057233A (zh) | 文档处理装置和文档处理方法 | |
CN1555523A (zh) | 办公应用程序中用于提供内容相关帮助信息的方法和系统 | |
CN101031912A (zh) | 数据处理装置和数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Method for converting source file to target web document Effective date of registration: 20161214 Granted publication date: 20080702 Pledgee: Shenzhen Ying Ying capital investment partnership (limited partnership) Pledgor: Li Lipeng Registration number: 2016110000004 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080702 Termination date: 20201115 |
|
CF01 | Termination of patent right due to non-payment of annual fee |