CN107688558A - Xml树的结构维护方法、xml树的结构维护***和终端 - Google Patents

Xml树的结构维护方法、xml树的结构维护***和终端 Download PDF

Info

Publication number
CN107688558A
CN107688558A CN201610633044.7A CN201610633044A CN107688558A CN 107688558 A CN107688558 A CN 107688558A CN 201610633044 A CN201610633044 A CN 201610633044A CN 107688558 A CN107688558 A CN 107688558A
Authority
CN
China
Prior art keywords
xml
xml element
operational order
tree
user
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
Application number
CN201610633044.7A
Other languages
English (en)
Other versions
CN107688558B (zh
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.)
New Founder Holdings Development Co ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
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 Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201610633044.7A priority Critical patent/CN107688558B/zh
Publication of CN107688558A publication Critical patent/CN107688558A/zh
Application granted granted Critical
Publication of CN107688558B publication Critical patent/CN107688558B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种XML树的结构维护方法、XML树的结构维护***和终端,其中,XML树的结构维护方法包括:用户对XML树中的XML元素的进行操作;判断操作指令是否具有执行权限;如判定操作指令具有执行权限,对XML元素的版面对象执行操作指令,并确定操作指令导致的XML树的结构变化;在对XML元素的版面对象执行操作指令后,根据XML元素对应的结构定义文件对版面对象的内容进行语法检查,将结构变化的数据和语法检查的结果提示给用户。通过本发明的技术方案,对可能破坏XML结构树的操作进行预警提示,并对已被破坏XML结构树进行错误定位,并提示用户进行修改,进而保持XML内容的结构完整性和有效性。

Description

XML树的结构维护方法、XML树的结构维护***和终端
技术领域
本发明涉及交互排版与XML结构技术领域,具体而言,涉及一种XML树的结构维护方法、一种XML树的结构维护***和一种终端。
背景技术
在相关技术中,基于XML内容为中心、多格式发布的复合出版正成为在印刷出版行业的发展趋势。与传统出版流程不同,复合出版流程强调内容为主:首先由编辑人员制作出XML内容文件;然后由自动化排版引擎将XML内容文件和带有版式的模板文件进行自动合成,形成含有XML结构的排版文件;之后由排版人员在交互排版软件中打开排版文件,进行版面内容进行局部的细节调整,符合预期的排版效果;最后发布出各种格式的出版物。
在整个出版流程中,保持XML内容的结构完整性和正确性贯穿过程的始终。但是由于排版人员普遍技能偏低,缺乏相关的体系知识,在局部调整环节中,往往会过于关注版面的排版效果,而忽略了XML树结构,从而造成严重的破坏性后果。例如:将从属于某个章节的标题移动到该章节外;更改了某些不能修改的文本;删除某些不能删除的内容等。
因此,如何设计一种XML树的结构维护方案以保证XML树的结构完整成为亟待解决的技术问题。
发明内容
本发明正是基于上述技术问题至少之一,提出了一种新的XML树的结构维护方案,一方面,通过操作前的预判和提示的功能,对可能发生的破坏XML结构的操作进行禁止或提醒,另一方面,通过操作后的结构检查功能,对已经破坏的XML结构进行错误定位,提示用户进行修复,从而达到维护XML内容的结构完整性和有效性的目的。
有鉴于此,本发明提出了一种XML树的结构维护方法,包括:用户对XML树中的XML元素的进行操作;判断操作指令是否具有执行权限;如判定操作指令具有执行权限,对XML元素的版面对象执行操作指令,并确定操作指令导致的XML树的结构变化;在对XML元素的版面对象执行操作指令后,根据XML元素对应的结构定义文件对版面对象的内容进行语法检查,将结构变化的数据和语法检查的结果提示给用户。
在该技术方案中,通过在对XML树中的XML元素执行操作指令前,判定执行操作指令的权限,并在对版面对象进行操作之后,执行语法检查,从而对可能破坏XML树的结构的进行了预警提示,对可能发生的破坏XML元素进行定位提示,实现了维护XML树的结构完整性和有效性的目的。
其中,操作指令的权限是待编辑的XML元素和操作行为决定的,例如,针对某个代表章节名称的XML元素,如操作指令是修改XML元素的显示属性。
在上述技术方案中,优选地,在根据用户对XML树中的XML元素的操作指令,判断操作指令是否具有执行权限前,还包括:预设XML元素的操作权限,或预设具有相同属性标签的XML元素的操作权限,用于确定操作指令对XML元素是否具有执行权限。
在该技术方案中,将XML结构文件定义为DTD(Document Type Definition,文件类型定义)文件或XSD(Extensible Style sheet Language,可扩展样式表语言)文件,操作权限包括多个操作许可项,每个操作许可项包括:
(1)操作类型,指定对应的XML元素内容操作;
(2)许可标志,指定对应的XML元素内容操作是否被许可。
另外,操作权限的范围包括:
(1)为XML标签设定操作权限,作用范围是所有应用该标签的XML元素以及其后代元素;
(2)为XML元素设定操作权限,作用范围是该XML元素以及其后代元素。
在上述任一项技术方案中,优选地,根据用户对XML树中的XML元素的操作指令,判断操作指令是否具有执行权限,具体包括以下步骤:在获取用户对XML元素中的子级XML元素的操作指令后,判断子级XML元素是否预设有针对操作指令的操作权限;在判定子级XML元素未预设有针对操作指令的操作权限时,判断子级XML元素的父级XML元素是否预设有针对操作指令的操作权限;在判定父级XML元素预设有针对操作指令的操作权限时,确定操作指令对子级XML元素具有执行权限。
在该技术方案中,通过父级XML元素确定子级XML元素的执行权限,简化了对执行权限的设定步骤和存储量,也即仅设定某个父级XML元素的执行权限,即间接地设定了其若干个子级XML元素的执行权限,从逻辑上实现了对XML树的结构维护。
在上述任一项技术方案中,优选地,包括:在将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户后,根据用户的编辑指令判断是否对版面对象对应的XML元素执行操作指令。
在该技术方案中,通过将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户,使用户直观地了解XML树的结构变化,以判断是否执行上述操作指令,具体包括:
(1)根据版面对象的操作,获得会引发的XML元素操作表;
(2)遍历XML元素操作表,计算出本次对象操作的许可结果;
(3)许可结果包含处理方式、警告标志和警告内容等。
(4)如果许可结果的警告标志有效,则弹出消息框,提示警告内容,并将用户选择的处理方式设置到许可结果中,进行下一步处理;
(5)如果许可结果的处理方式为“继续”,则继续本次操作,否则,则取消本次操作。
在上述任一项技术方案中,优选地,还包括:在根据用户的编辑指令判定对版面对象对应的XML元素执行操作指令后,将版面对象及对应的XML元素导出生成为内存对象树,内存对象树中包括XML元素在版面对象中的ID信息;根据结构定义文件对内存对象树进行语义检查;将内存对象树中不符合结构定义文件的语义规则的XML元素及其ID信息提示给用户。
在该技术方案中,通过对执行操作指令后将版面对象及对应的XML元素导出生成内存对象树,将上述操作指令实际的操作结果提示给用户,并将语义不符合的XML元素及ID信息提示给用户,使用户直观地了解操作指令执行后的XML元素检测结果和位置,以便于用户进行XML树的维护和调整,具体包括:
(1)将XML元素以及其关联的版面对象的内容导出成内存对象树,其中将XML元素在排版文件中的ID作为专用属性,记录到内存对象树中;
(2)对内存对象树执行语法检查,检查是否符合结构定义文件中的结构定义;处理检查结果,从每个错误信息中获得对应的XML元素ID,找到错误的XML元素,突出显示,提醒用户进行定位修复。
根据本发明的第二方面,还提出了一种XML树的结构维护***,包括:判断单元,用于根据用户对XML树中的XML元素的操作指令,判断操作指令是否具有执行权限;执行单元,用于在判定操作指令具有执行权限时,对XML元素的版面对象执行操作指令,并确定操作指令导致的XML树的结构变化;检查单元,用于在对XML元素的版面对象执行操作指令后,根据XML元素对应的结构定义文件对版面对象的内容进行语法检查,将结构变化的数据和语法检查的结果提示给用户。
在该技术方案中,通过在对XML树中的XML元素执行操作指令前,判定执行操作指令的权限,并在对版面对象进行操作之后,执行语法检查,从而对可能破坏XML树的结构的进行了预警提示,对可能发生的破坏XML元素进行定位提示,实现了维护XML树的结构完整性和有效性的目的。
其中,操作指令的权限是待编辑的XML元素和操作行为决定的,例如,针对某个代表章节名称的XML元素,如操作指令是修改XML元素的显示属性。
在上述技术方案中,优选地,包括:预设单元,用于预设XML元素的操作权限,或预设具有相同属性标签的XML元素的操作权限,用于确定操作指令对XML元素是否具有执行权限。
在该技术方案中,将XML结构文件定义为DTD(Document Type Definition,文件类型定义)文件或XSD(Extensible Style sheet Language,可扩展样式表语言)文件,操作权限包括多个操作许可项,每个操作许可项包括:
(1)操作类型,指定对应的XML元素内容操作;
(2)许可标志,指定对应的XML元素内容操作是否被许可。
另外,操作权限的范围包括:
(1)为XML标签设定操作权限,作用范围是所有应用该标签的XML元素以及其后代元素;
(2)为XML元素设定操作权限,作用范围是该XML元素以及其后代元素。
在上述任一项技术方案中,优选地,判断单元还用于:在获取用户对XML元素中的子级XML元素的操作指令后,判断子级XML元素是否预设有针对操作指令的操作权限;判断单元还用于:在判定子级XML元素未预设有针对操作指令的操作权限时,判断子级XML元素的父级XML元素是否预设有针对操作指令的操作权限;判断单元还用于:在判定父级XML元素预设有针对操作指令的操作权限时,确定操作指令对子级XML元素具有执行权限。
在该技术方案中,通过父级XML元素确定子级XML元素的执行权限,简化了对执行权限的设定步骤和存储量,也即仅设定某个父级XML元素的执行权限,即间接地设定了其若干个子级XML元素的执行权限,从逻辑上实现了对XML树的结构维护。
在上述任一项技术方案中,优选地,判断单元还用于:在将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户后,根据用户的编辑指令判断是否对版面对象对应的XML元素执行操作指令。
在该技术方案中,通过将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户,使用户直观地了解XML树的结构变化,以判断是否执行上述操作指令,具体包括:
(1)根据版面对象的操作,获得会引发的XML元素操作表;
(2)遍历XML元素操作表,计算出本次对象操作的许可结果;
(3)许可结果包含处理方式、警告标志和警告内容等。
(4)如果许可结果的警告标志有效,则弹出消息框,提示警告内容,并将用户选择的处理方式设置到许可结果中,进行下一步处理;
(5)如果许可结果的处理方式为“继续”,则继续本次操作,否则,则取消本次操作。
在上述任一项技术方案中,优选地,还包括:导出单元,用于在根据用户的编辑指令判定对版面对象对应的XML元素执行操作指令后,将版面对象及对应的XML元素导出生成为内存对象树,内存对象树中包括XML元素在版面对象中的ID信息;检查单元还用于:根据结构定义文件对内存对象树进行语义检查;XML树的结构维护***还包括:提示单元,用于将内存对象树中不符合结构定义文件的语义规则的XML元素及其ID信息提示给用户。
在该技术方案中,通过对执行操作指令后将版面对象及对应的XML元素导出生成内存对象树,将上述操作指令实际的操作结果提示给用户,并将语义不符合的XML元素及ID信息提示给用户,使用户直观地了解操作指令执行后的XML元素检测结果和位置,以便于用户进行XML树的维护和调整,具体包括:
(1)将XML元素以及其关联的版面对象的内容导出成内存对象树,其中将XML元素在排版文件中的ID作为专用属性,记录到内存对象树中;
(2)对内存对象树执行语法检查,检查是否符合结构定义文件中的结构定义;处理检查结果,从每个错误信息中获得对应的XML元素ID,找到错误的XML元素,突出显示,提醒用户进行定位修复。
根据本发明的第三方面,还提出了一种终端,包括如上述任一项的XML树的结构维护***。
通过本发明技术方案,提出了一种新的XML树的结构维护方案,一方面,通过操作前的预判和提示的功能,对可能发生的破坏XML结构的操作进行禁止或提醒,另一方面,通过操作后的结构检查功能,对已经破坏的XML结构进行错误定位,提示用户进行修复,从而达到维护XML内容的结构完整性和有效性的目的。
附图说明
图1示出了根据本发明的一个实施例的XML树的结构维护方法的示意流程图;
图2示出了根据本发明的实施例的XML树的结构维护***的示意框图;
图3示出了根据本发明的实施例的终端的示意框图;
图4示出了根据本发明的另一个实施例的XML树的结构维护方法的示意流程图;
图5A示出了根据本发明的一个实施例的XML树的结构维护方案的界面示意图;
图5B示出了根据本发明的另一个实施例的XML树的结构维护方案的界面示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的XML树的结构维护方法的示意流程图。
如图1所示,根据本发明的一个实施例的XML树的结构维护方法,包括:步骤102,用户对XML树中的XML元素的进行操作;步骤104,判断操作指令是否具有执行权限;步骤106,如判定操作指令具有执行权限,对XML元素的版面对象执行操作指令,并确定操作指令导致的XML树的结构变化;步骤108,在对XML元素的版面对象执行操作指令后,根据XML元素对应的结构定义文件对版面对象的内容进行语法检查,将结构变化的数据和语法检查的结果提示给用户。
在该技术方案中,通过在对XML树中的XML元素执行操作指令前,判定执行操作指令的权限,并在对版面对象进行操作之后,执行语法检查,从而对可能破坏XML树的结构的进行了预警提示,对可能发生的破坏XML元素进行定位提示,实现了维护XML树的结构完整性和有效性的目的。
其中,操作指令的权限是待编辑的XML元素和操作行为决定的,例如,针对某个代表章节名称的XML元素,如操作指令是修改XML元素的显示属性。
在上述技术方案中,优选地,在根据用户对XML树中的XML元素的操作指令,判断操作指令是否具有执行权限前,还包括:预设XML元素的操作权限,或预设具有相同属性标签的XML元素的操作权限,以确定操作指令对XML元素是否具有执行权限。
在该技术方案中,将XML结构文件定义为DTD(Document Type Definition,文件类型定义)文件或XSD(Extensible Style sheet Language,可扩展样式表语言)文件,操作权限包括多个操作许可项,每个操作许可项包括:
(1)操作类型,指定对应的XML元素内容操作;
(2)许可标志,指定对应的XML元素内容操作是否被许可。
另外,操作权限的范围包括:
(1)为XML标签设定操作权限,作用范围是所有应用该标签的XML元素以及其后代元素;
(2)为XML元素设定操作权限,作用范围是该XML元素以及其后代元素。
在上述任一项技术方案中,优选地,根据用户对XML树中的XML元素的操作指令,判断操作指令是否具有执行权限,具体包括以下步骤:在获取用户对XML元素中的子级XML元素的操作指令后,判断子级XML元素是否预设有针对操作指令的操作权限;在判定子级XML元素未预设有针对操作指令的操作权限时,判断子级XML元素的父级XML元素是否预设有针对操作指令的操作权限;在判定父级XML元素预设有针对操作指令的操作权限时,确定操作指令对子级XML元素具有执行权限。
在该技术方案中,通过父级XML元素确定子级XML元素的执行权限,简化了对执行权限的设定步骤和存储量,也即仅设定某个父级XML元素的执行权限,即间接地设定了其若干个子级XML元素的执行权限,从逻辑上实现了对XML树的结构维护。
在上述任一项技术方案中,优选地,包括:在将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户后,根据用户的编辑指令判断是否对版面对象对应的XML元素执行操作指令。
在该技术方案中,通过将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户,使用户直观地了解XML树的结构变化,以判断是否执行上述操作指令,具体包括:
(1)根据版面对象的操作,获得会引发的XML元素操作表;
(2)遍历XML元素操作表,计算出本次对象操作的许可结果;
(3)许可结果包含处理方式、警告标志和警告内容等。
(4)如果许可结果的警告标志有效,则弹出消息框,提示警告内容,并将用户选择的处理方式设置到许可结果中,进行下一步处理;
(5)如果许可结果的处理方式为“继续”,则继续本次操作,否则,则取消本次操作。
在上述任一项技术方案中,优选地,还包括:在根据用户的编辑指令判定对版面对象对应的XML元素执行操作指令后,将版面对象及对应的XML元素导出生成为内存对象树,内存对象树中包括XML元素在版面对象中的ID信息;根据结构定义文件对内存对象树进行语义检查;将内存对象树中不符合结构定义文件的语义规则的XML元素及其ID信息提示给用户。
在该技术方案中,通过对执行操作指令后将版面对象及对应的XML元素导出生成内存对象树,将上述操作指令实际的操作结果提示给用户,并将语义不符合的XML元素及ID信息提示给用户,使用户直观地了解操作指令执行后的XML元素检测结果和位置,以便于用户进行XML树的维护和调整,具体包括:
(1)将XML元素以及其关联的版面对象的内容导出成内存对象树,其中将XML元素在排版文件中的ID作为专用属性,记录到内存对象树中;
(2)对内存对象树执行语法检查,检查是否符合结构定义文件中的结构定义;处理检查结果,从每个错误信息中获得对应的XML元素ID,找到错误的XML元素,突出显示,提醒用户进行定位修复。
图2示出了根据本发明的实施例的XML树的结构维护***的示意框图。
如图2所示,根据本发明的实施例的XML树的结构维护***200,包括:判断单元202,用于根据用户对XML树中的XML元素的操作指令,判断操作指令是否具有执行权限;执行单元204,用于在判定操作指令具有执行权限时,对XML元素的版面对象执行操作指令,并确定操作指令导致的XML树的结构变化;检查单元206,用于在对XML元素的版面对象执行操作指令后,根据XML元素对应的结构定义文件对版面对象的内容进行语法检查,将结构变化的数据和语法检查的结果提示给用户。
在该技术方案中,通过在对XML树中的XML元素执行操作指令前,判定执行操作指令的权限,并在对版面对象进行操作之后,执行语法检查,从而对可能破坏XML树的结构的进行了预警提示,对可能发生的破坏XML元素进行定位提示,实现了维护XML树的结构完整性和有效性的目的。
其中,操作指令的权限是待编辑的XML元素和操作行为决定的,例如,针对某个代表章节名称的XML元素,如操作指令是修改XML元素的显示属性。
在上述技术方案中,优选地,包括:预设单元208,用于预设XML元素的操作权限,或预设具有相同属性标签的XML元素的操作权限,以确定操作指令对XML元素是否具有执行权限。
在该技术方案中,将XML结构文件定义为DTD(Document Type Definition,文件类型定义)文件或XSD(Extensible Style sheet Language,可扩展样式表语言)文件,操作权限包括多个操作许可项,每个操作许可项包括:
(1)操作类型,指定对应的XML元素内容操作;
(2)许可标志,指定对应的XML元素内容操作是否被许可。
另外,操作权限的范围包括:
(1)为XML标签设定操作权限,作用范围是所有应用该标签的XML元素以及其后代元素;
(2)为XML元素设定操作权限,作用范围是该XML元素以及其后代元素。
在上述任一项技术方案中,优选地,判断单元202还用于:在获取用户对XML元素中的子级XML元素的操作指令后,判断子级XML元素是否预设有针对操作指令的操作权限;判断单元202还用于:在判定子级XML元素未预设有针对操作指令的操作权限时,判断子级XML元素的父级XML元素是否预设有针对操作指令的操作权限;判断单元202还用于:在判定父级XML元素预设有针对操作指令的操作权限时,确定操作指令对子级XML元素具有执行权限。
在该技术方案中,通过父级XML元素确定子级XML元素的执行权限,简化了对执行权限的设定步骤和存储量,也即仅设定某个父级XML元素的执行权限,即间接地设定了其若干个子级XML元素的执行权限,从逻辑上实现了对XML树的结构维护。
在上述任一项技术方案中,优选地,判断单元202还用于:在将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户后,根据用户的编辑指令判断是否对版面对象对应的XML元素执行操作指令。
在该技术方案中,通过将结构变化的数据和语法检查的结果以XML元素操作表的形式提示给用户,使用户直观地了解XML树的结构变化,以判断是否执行上述操作指令,具体包括:
(1)根据版面对象的操作,获得会引发的XML元素操作表;
(2)遍历XML元素操作表,计算出本次对象操作的许可结果;
(3)许可结果包含处理方式、警告标志和警告内容等。
(4)如果许可结果的警告标志有效,则弹出消息框,提示警告内容,并将用户选择的处理方式设置到许可结果中,进行下一步处理;
(5)如果许可结果的处理方式为“继续”,则继续本次操作,否则,则取消本次操作。
在上述任一项技术方案中,优选地,还包括:导出单元210,用于在根据用户的编辑指令判定对版面对象对应的XML元素执行操作指令后,将版面对象及对应的XML元素导出生成为内存对象树,内存对象树中包括XML元素在版面对象中的ID信息;检查单元212还用于:根据结构定义文件对内存对象树进行语义检查;XML树的结构维护***还包括:提示单元214,用于将内存对象树中不符合结构定义文件的语义规则的XML元素及其ID信息提示给用户。
在该技术方案中,通过对执行操作指令后将版面对象及对应的XML元素导出生成内存对象树,将上述操作指令实际的操作结果提示给用户,并将语义不符合的XML元素及ID信息提示给用户,使用户直观地了解操作指令执行后的XML元素检测结果和位置,以便于用户进行XML树的维护和调整,具体包括:
(1)将XML元素以及其关联的版面对象的内容导出成内存对象树,其中将XML元素在排版文件中的ID作为专用属性,记录到内存对象树中;
(2)对内存对象树执行语法检查,检查是否符合结构定义文件中的结构定义;处理检查结果,从每个错误信息中获得对应的XML元素ID,找到错误的XML元素,突出显示,提醒用户进行定位修复。
图3示出了根据本发明的实施例的终端的示意框图。
如图3所示,根据本发明的实施例的终端300,包括:如上述任一项技术方案的XML树的结构维护***200。
如图4所示,根据本发明的另一个实施例的XML树的结构维护方法的示意流程图。
如图4所示,根据本发明的另一个实施例的XML树的结构维护方法,包括:步骤402,对XML结构树指定结构定义文件;步骤404,设定对XML元素的操作权限;步骤406,对XML树中的XML元素进行编辑,其中,的XML元素操作表,包含多个XML元素操作项,每个元素操作项包含下列内容:
(a)XML元素,指定要操作的XML元素;
(b)操作类型(多个),指定要对XML元素进哪些内容操作,遍历上述XML元素操作表,计算出本次对象操作的许可结果;许可结果包含处理方式、警告标志和警告内容等。
步骤408,判断是否具有执行权限,若是,则执行步骤410,若否,则执行步骤412;步骤410,对XML版面对象进行操作,其中,如果许可结果的警告标志有效,则弹出消息框,提示警告内容,并将用户选择的处理方式设置到许可结果中,进行下一步处理;步骤412,弹出警告页面;步骤414,保存并检查操作结果;步骤416,处理操作结果,找出错误元素,提醒用户修正,其中,如果许可结果的处理方式为“继续”,则继续本次操作,否则,则取消本次操作。
如图5A和5B所示的示例中,对XML元素“核能工业的发展趋势”预设了“不可删除”和“不可修改”,则用户如果对XML元素“核能工业的发展趋势”进行“删除”或“编辑”操作,则根据本发明的实施例的XML树的结构维护***会判定“删除”或“编辑”操作不具备执行权限,并提示用户“保护不可删除的XML元素,停止该操作”。排版人员在参考文献章节中误***一些其他文字段落,例如,选中<参考文献章节>元素执行“语法检查”命令,会在XML结构树的<参考文献章节>元素前显示一个错误图标(图中未示出),提醒用户该XML元素不符合结构定义,需要进行修复处理。
根据本发明的实施例的XML树的结构维护方法还包括以下实施方式:
步骤1,为XML结构树指定结构定义文件;
步骤2,为XML标签或元素设定操作权限;
步骤3,在对版面对象进行操作之前,计算出该对象操作的许可结果;按照许可结果,可以继续或停止该对象操作。
步骤4,在对版面对象进行操作之后,对XML元素执行语法检查,检查XML元素是否符合结构定义文件中的结构定义,并将检查结果提示给用户。
进一步,步骤1中的结构定义文件可以为DTD文件或XSD文件。
进一步,步骤2中的操作权限,包含多个操作许可项,每个操作许可项包含下列内容:
(a)操作类型,指定对应的XML元素内容操作;
(b)许可标志,指定对应的XML元素内容操作是否被许可。
进一步,步骤2中,操作权限的作用范围为:
(a)为XML标签设定操作权限,作用范围是所有应用该标签的XML元素以及其后代元素;
(b)为XML元素设定操作权限,作用范围是该XML元素以及其后代元素。
进一步,步骤2中,XML元素的实际作用操作权限为下列操作权限中出现的操作许可项的组合:
(a)本XML元素设定的操作权限;
(b)本XML元素应用的标签设定的操作权限;
(c)继承的父级XML元素的实际作用操作权限。
进一步,步骤3中,包括下列步骤:
(5.1)根据版面对象的操作,获得会引发的XML元素操作表。
(5.2)遍历上述XML元素操作表,计算出本次对象操作的许可结果;许可结果包含处理方式、警告标志和警告内容等。
(5.3)如果许可结果的警告标志有效,则弹出消息框,提示警告内容,并将用户选择的处理方式设置到许可结果中,进行下一步处理;
(5.4)如果许可结果的处理方式为“继续”,则继续本次操作,否则,则停止本次对象操作。
进一步,步骤(5.1)、(5.2)中的XML元素操作表,包含多个XML元素操作项,每个元素操作项包含下列内容:
(a)XML元素,指定要操作的XML元素;
(b)操作类型(多个),指定要对XML元素进哪些内容操作。
再进一步,步骤(5.1)中,包括下列步骤:
(5.1.1)根据版本对象操作,获得该操作影响的XML元素列表;
(5.1.2)遍历上述的XML元素列表,对每个XML元素,判断本次版面对象操作是否会引发内容操作;如果会引发内容操作,则构造XML元素操作项,记录到XML元素操作表。
进一步,步骤4中,包括下列步骤:
(4.1)将XML元素以及其关联的版面对象的内容导出成内存对象树,其中将XML元素在排版文件中的ID,作为专用属性,记录到内存对象树中;
(4.2)对内存对象树执行语法检查,检查是否符合结构定义文件中的结构定义;
(4.3)处理检查结果,从每个错误信息中获得对应的XML元素ID,找到错误的XML元素,突出显示,提醒用户进行定位修复。
根据本发明的实施例的XML树的结构维护方案,至少包括以下有益效果:
(1)在对版面对象进行操作之前,预先判断许可结果,继续或停止该对象操作;
(2)在对版面对象进行操作之后,执行语法检查,并将检查结果提示给用户;
(3)从而对可能破坏XML结构的后果发生进行避免,对已经发生的破坏XML结构的后果进行错误定位,达到维护XML内容结构的完整性和有效性的目的。
考虑到相关技术中提出的如何避免由于人为操作破坏XML树的结构的技术问题,本发明提出了一种新的XML树的结构维护方案,一方面,通过操作前的预判和提示的功能,对可能发生的破坏XML结构的操作进行禁止或提醒,另一方面,通过操作后的结构检查功能,对已经破坏的XML结构进行错误定位,提示用户进行修复,从而达到维护XML内容的结构完整性和有效性的目的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种XML树的结构维护方法,其特征在于,包括:
根据用户对所述XML树中的XML元素的操作指令,判断所述操作指令是否具有执行权限;
在判定所述操作指令具有所述执行权限时,对所述XML元素的版面对象执行所述操作指令,并确定所述操作指令导致的所述XML树的结构变化;
在对所述XML元素的版面对象执行所述操作指令后,根据所述XML元素对应的结构定义文件对所述版面对象的内容进行语法检查,将所述结构变化的数据和所述语法检查的结果提示给用户。
2.根据权利要求1所述的XML树的结构维护方法,其特征在于,在根据用户对所述XML树中的XML元素的操作指令,判断所述操作指令是否具有执行权限前,还包括:
预设所述XML元素的操作权限,或预设具有相同属性标签的XML元素的操作权限,用于确定所述操作指令对所述XML元素是否具有执行权限。
3.根据权利要求2所述的XML树的结构维护方法,其特征在于,根据用户对所述XML树中的XML元素的操作指令,判断所述操作指令是否具有执行权限,具体包括以下步骤:
在获取用户对所述XML元素中的子级XML元素的操作指令后,判断所述子级XML元素是否预设有针对所述操作指令的操作权限;
在判定所述子级XML元素未预设有针对所述操作指令的操作权限时,判断所述子级XML元素的父级XML元素是否预设有针对所述操作指令的操作权限;
在判定所述父级XML元素预设有针对所述操作指令的操作权限时,确定所述操作指令对所述子级XML元素具有执行权限。
4.根据权利要求1至3中任一项所述的XML树的结构维护方法,其特征在于,还包括:
在将所述结构变化的数据和所述语法检查的结果以XML元素操作表的形式提示给用户后,根据用户的编辑指令判断是否对所述版面对象对应的XML元素执行所述操作指令。
5.根据权利要求4所述的XML树的结构维护方法,其特征在于,还包括:
在根据用户的编辑指令判定对所述版面对象对应的XML元素执行所述操作指令后,将所述版面对象及对应的XML元素导出生成为内存对象树,所述内存对象树中包括所述XML元素在所述版面对象中的ID信息;
根据所述结构定义文件对所述内存对象树进行语义检查;
将所述内存对象树中不符合所述结构定义文件的语义规则的XML元素及其ID信息提示给用户。
6.一种XML树的结构维护***,其特征在于,包括:
判断单元,用于根据用户对所述XML树中的XML元素的操作指令,判断所述操作指令是否具有执行权限;
执行单元,用于在判定所述操作指令具有所述执行权限时,对所述XML元素的版面对象执行所述操作指令,并确定所述操作指令导致的所述XML树的结构变化;
检查单元,用于在对所述XML元素的版面对象执行所述操作指令后,根据所述XML元素对应的结构定义文件对所述版面对象的内容进行语法检查,将所述结构变化的数据和所述语法检查的结果提示给用户。
7.根据权利要求6所述的XML树的结构维护***,其特征在于,还包括:
预设单元,用于预设所述XML元素的操作权限,或预设具有相同属性标签的XML元素的操作权限,用于确定所述操作指令对所述XML元素是否具有执行权限。
8.根据权利要求7所述的XML树的结构维护***,其特征在于,所述判断单元还用于:在获取用户对所述XML元素中的子级XML元素的操作指令后,判断所述子级XML元素是否预设有针对所述操作指令的操作权限;
所述判断单元还用于:在判定所述子级XML元素未预设有针对所述操作指令的操作权限时,判断所述子级XML元素的父级XML元素是否预设有针对所述操作指令的操作权限;
所述判断单元还用于:在判定所述父级XML元素预设有针对所述操作指令的操作权限时,确定所述操作指令对所述子级XML元素具有执行权限。
9.根据权利要求6至8中任一项所述的XML树的结构维护***,其特征在于,所述判断单元还用于:
在将所述结构变化的数据和所述语法检查的结果以XML元素操作表的形式提示给用户后,根据用户的编辑指令判断是否对所述版面对象对应的XML元素执行所述操作指令。
10.根据权利要求9所述的XML树的结构维护***,其特征在于,还包括:
导出单元,用于在根据用户的编辑指令判定对所述版面对象对应的XML元素执行所述操作指令后,将所述版面对象及对应的XML元素导出生成为内存对象树,所述内存对象树中包括所述XML元素在所述版面对象中的ID信息;
所述检查单元还用于:根据所述结构定义文件对所述内存对象树进行语义检查;
所述XML树的结构维护***还包括:
提示单元,用于将所述内存对象树中不符合所述结构定义文件的语义规则的XML元素及其ID信息提示给用户。
11.一种终端,其特征在于,包括:如权利要求6至10中任一项所述的XML树的结构维护***。
CN201610633044.7A 2016-08-04 2016-08-04 Xml树的结构维护方法、xml树的结构维护***和终端 Expired - Fee Related CN107688558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610633044.7A CN107688558B (zh) 2016-08-04 2016-08-04 Xml树的结构维护方法、xml树的结构维护***和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610633044.7A CN107688558B (zh) 2016-08-04 2016-08-04 Xml树的结构维护方法、xml树的结构维护***和终端

Publications (2)

Publication Number Publication Date
CN107688558A true CN107688558A (zh) 2018-02-13
CN107688558B CN107688558B (zh) 2020-06-23

Family

ID=61151103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610633044.7A Expired - Fee Related CN107688558B (zh) 2016-08-04 2016-08-04 Xml树的结构维护方法、xml树的结构维护***和终端

Country Status (1)

Country Link
CN (1) CN107688558B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018866A (zh) * 2018-11-06 2019-07-16 蔚来汽车有限公司 用户界面主题更新方法、装置、***、车机及车辆

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120324346A1 (en) * 2011-06-15 2012-12-20 Terrence Monroe Method for relational analysis of parsed input for visual mapping of knowledge information
CN104267998A (zh) * 2014-10-13 2015-01-07 上海交通大学 基于滑动窗技术的硬件xml解析器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120324346A1 (en) * 2011-06-15 2012-12-20 Terrence Monroe Method for relational analysis of parsed input for visual mapping of knowledge information
CN104267998A (zh) * 2014-10-13 2015-01-07 上海交通大学 基于滑动窗技术的硬件xml解析器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IRINI FUNDULAKI ET AL.: "Formalizing XML Access Control for Update Operations", 《PROCEEDINGS OF THE 12TH ACM SYMPOSIUM ON ACCESS CONTROL MODELS AND TECHNOLOGIES》 *
郭晋凯 等: "基于安全更新视图的XML更新控制方法", 《计算机应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018866A (zh) * 2018-11-06 2019-07-16 蔚来汽车有限公司 用户界面主题更新方法、装置、***、车机及车辆
CN110018866B (zh) * 2018-11-06 2022-03-15 蔚来(安徽)控股有限公司 用户界面主题更新方法、装置、***、车机及车辆

Also Published As

Publication number Publication date
CN107688558B (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
US7900149B2 (en) Methods and systems for editing of web pages in an application capable of displaying web page content
CN107480551B (zh) 一种文件管理方法及装置
EP1376389A2 (en) System and method for validating an XML document and reporting schema violations
US20070271510A1 (en) Error checking web documents
CN109690426A (zh) 梯形图程序编辑辅助装置及梯形图程序的编辑方法
US20170236234A1 (en) Risk management method and system for a land transporation system
US20070204215A1 (en) Device for analyzing log files generated by process automation tools
CN110096684A (zh) 一种基于模板的文档规范智能检查***及方法
JP2003296383A (ja) 3次元モデリングシステム
US20080115051A1 (en) Providing assistance with the creation of an XPath expression
CN107688558A (zh) Xml树的结构维护方法、xml树的结构维护***和终端
CN112631918B (zh) 软件自动化测试验证的方法
Di Sandro et al. MMINT-A 2.0: tool support for the lifecycle of model-based safety artifacts
Becker et al. Transportation systems safety hazard analysis tool (SafetyHAT) user guide (version 1.0)
Janota Using Z specification for railway interlocking safety
Seidl et al. Variability-aware safety analysis using delta component fault diagrams
US20050039108A1 (en) Fast tag entry in a multimodal markup language editor
JP5123337B2 (ja) 検証データ生成装置、検証データ生成プログラム及び検証データ生成方法
JPH08190545A (ja) 文書管理システム
JP4251633B2 (ja) 判定装置、プログラム、記録媒体、及び判定方法
US8627264B1 (en) Automated verification of transformational operations on a photomask representation
JP4588364B2 (ja) 操作器画面生成装置
JP2016051234A (ja) 要求仕様の記述と検証のためのシステム
Labib et al. Analysis of human factors failures in an incident of self-driving car accident
JP2006251966A (ja) マニュアル作成システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220620

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200623

CF01 Termination of patent right due to non-payment of annual fee