所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

概括这个词一个„XSchema除了与时间约束的XML模式

Sonawane教授维贾伊Ramnath 1, Ratnaparkhi Punam Sharad 2,帕蒂尔Snehal Subhash 3
副教授,信息技术工程部门,Amrutvahini工程学院和研究中心,Sangamner,马哈拉施特拉邦,印度,印度1卷学生信息技术工程部门,Amrutvahini工程学院和研究中心,Sangamner,马哈拉施特拉邦,印度2卷学生信息技术工程部门,Amrutvahini工程学院和研究中心,Sangamner,马哈拉施特拉邦,印度3
相关文章Pubmed,谷歌学者

访问更多的相关文章国际创新研究期刊》的研究在科学、工程和技术

文摘

大多数的用户经常要保留以前版本的XML文档,有几个原因。原因可能是,那些过去的版本可能包含有用的历史信息。第二,各种法律要求出现在财务报告中的数据来自之前的版本,这些版本保存规定的一段时间。保留数据或文档有挑战性的部分是保持一致的状态,这是保存数据或文档的完整性。保持完整性意味着保护约束等身份,参照完整性,基数,&数据类型。这可以尽可能通过实现时态概念模式&时间文档,可以在不同的有效以及事务时间。为此,我们只是用时间代替模式模式&替换文档通过颞文档是向上兼容传统XML &常规工具,我们扩展到支持时间约束。

关键字

约束;引用完整性;独特的;基数

介绍

与许多不同类型的文档,电子表格,演示,和数据在数据库中,XML文档也随时间而变化的。XML语言对文档和数据很受欢迎和有两个不同的方向文档集中和数据中心,在案件的模式是很重要的。模式定义了一个元素的构建块。用户经常会感兴趣保留以前版本的XML文档,原因如得到过去版本可能包含有用的历史信息。还各种法律要求出现在财务报告中的数据来自之前的版本,这些版本被保留在规定的时间内保留数据或文档有挑战性的部分是保持一致的状态,保存数据或文档的完整性。作为XML是它属于动态的信息交换因此成为重要的保留XML文档之前的版本。因此,利用旧版本,之前知道会举行的完整性约束文档&如何推广他们,这样他们就可以考虑到新版本存在这样的早期版本。在本文中,我们考虑如何适应并在XML schema验证随时间变化的数据,之前的新方法是关注保留非时态XML模式文档,并利用一系列单独的模式文档来实现数据独立性。在本文中我们将元素转换成时间元素类型通过提供时间注释类型定义。
励志的例子:
约翰的父亲出生正式报告了4月4日,1975年。这意味着一个超人前传官方数据库中插入以下条目在这个日期:人(John Doe,超人前传)注意日期本身不是存储在数据库中。毕业后约翰举措,但忘了登记他的新地址。约翰的条目在数据库中没有改变,直到12月27日,1994年,当他终于进入Bigtown市政厅。Bigtown官员在数据库中更新他的地址。人现在包含表(John Doe, Bigtown)注意,约翰住在超人前传的信息被覆盖。没有办法从数据库中检索信息。1994年12月28日,任何官方访问数据库将被告知约翰住在Bigtown。更多的技术:如果一个计算机科学家查询选择地址从一个人的名字=“John Doe”12月26日,1994年,结果将会是:超人前传。运行相同查询2天后会导致Bigtown。 Until his death the database would state that he lived in Bigtown. On April 1, 2001 the coroner deletes the John Doe entry from the database. Running the above query would return no result at all. Assume that the history of the john is described in an XML document called biography.xml .The document has information about the john from his birth to his death. Over time the document is edited to add information about each new year of john‟s life to revise incorrect information as well as to add new information. Assume that information about john is as follows :
1)
< >作者
< birth_detail >无名氏在美国出生< / birth_detail >
> < /作者
清单1。片段的传记。xml 1975年4月3日
2)
< >作者
< birth_detail >无名氏在美国出生< / birth_detail >父亲注册
他的出生年月日正式
<在>超人前传< /在>
> < /作者
清单2。约翰的父亲约翰的出生1975年4月4日正式报告
时变文档版本历史记录,由每个版本的信息,随着时间戳表示版本的一生。图2显示了一个片段的时间不同文档john Doe的历史。每一个编辑的结果只是一个小,会有局部改变文档。在图3中每个元素的事务时间寿命与一个可选的代表。
3)
< author_RepItem >
< author_Version >
<电视:timestamp_TransExtent开始=“1975-04-03”结束= " 1975-04-04 " / >
< >作者
< birth_detail >无名氏在美国出生< / birth_detail >
> < /作者
< / author_Version >
< author_Version >
<电视:timestamp_TransExtent开始=“1975-04-04”结束= " 1994-8-26 " / >
< >作者
< birth_detail >无名氏在美国出生< / birth_detail >父亲注册
他的出生年月日正式
<在>超人前传< /在>
> < /作者
< / author_Version >
清单3。段时间文档
跟踪历史保留数据是有用的,但它也改变的性质验证模式。假设文件winAuthor。xsd包含forbiography.xml快照模式。快照模式的模式是一个单独的版本。模式的一个片段,如清单4所示。注意,模式描述了片段,如清单1所示的结构,如清单2所示。重要的问题是,尽管个别版本符合模式,时变文档不。所以winAuthor。不能使用xsd(直接)来验证清单3的时变文档。
4)
< element name = "作者" >
< complexType混合= " true " >
<序列>
< element name = " birth_detail " type = "字符串" / >
<元素ref = "在" minOccurs = " 1 " maxOccurs = " unbounded " / >
<元素名称=“出生地”类型=“字符串”minOccurs = " 0 "
maxOccurs = " 1 " / >
< / >序列
<属性name = "年龄" type = " nonNegativeInteger "使用= "需要" / >
< / complexType >
< / >元素
清单4。winAuthor.xsd
验证版本总是昂贵,特别是当版本的数量更大,模式timevarying文档应该考虑的元素(和属性)和它们相关的时间戳。这个新生成的模式被称为表征跟踪版本它还使用传统的XML模式验证器验证文档的工具。现在定义一个新的模式,模式语言可能需要新的方式来表达一切。没有对时间戳的推理机制,现有技术自动获得表征模式,因此需要改进工具验证时变信息。这里我们使用模式版本控制提供智能解决方案来处理时间不匹配数据和信息。

二世。设计实现

我们首先简要总结_XSchema的设计。我们从一些相关术语。
 Conventional Document: An XML 文档 , 没有 时间 水平至少,
 Temporal Document: An XML (i.e. 文档 , 代表 了 传统 的 顺序 文件片)。它的根元素< temporalRoot >
 Conventional Schema: An XML Schema 传统 document(s). 文档 描述 的 结构根元素是<模式>。
 Slice: A 版本 的 文档 在 给定 时间 点 送来 的例如,如果一个颞文档组成的两个传统文档d1和d2,这发生在* t1和t2,分别切时间t2是d2
图1。整体架构的τXSchema
图告诉时间之间的交互模式及其组成的传统模式。这个场景中可以更清楚下面的例子,假设有需要编辑任何组织的信息,所以当谈到指出编辑,它最终生成新的更新版本,除了传统的序列文件,让我们考虑可能有4个文件,第一个是原始和其他三个新版本。现在最具体的版本安装时出现困难,容易和操作版本用户需要定义时间模式与基地有关的组件。像基地模式也需要两个组件的逻辑注释和物理注释。逻辑注释告诉等多种特征是否一生描述一个事件或特定时间等。物理表示注释告诉时间戳选项选中用户,即物理时间戳将被放置的地方。时态模式物理和逻辑的注释在一起的关系,该文档包含子元素与传统模式,逻辑与物理注释以及时间跨度在协会的效果。图还显示了工具挤压使颞文档一致即时间戳是分散在相关的文档版本的元素。这避免了冗余。工具SCHEMAMAPPER代表模式从时间自动生成模式,它描述了版本的文档。基地模式包含以下约束基数约束、唯一性约束,引用完整性。 These all constraint will be apply into temporal document as well as new additional restriction can also specify in it. So that this TXSchema is use to augment conventional schema with additional logical annotation, XMLLINT is a tool for validating document against schema.

三世。THEOROTICAL框架

a类型的XML Schema约束
有4种约束XML模式,需要保持在轨道上1)数据类型约束:假设这一事实name属性是一个字符串,那么它同样适用于静态和时间的情况下,在这种情况下的内容名称将会改变在一段时间但是没有类型。
2)基数约束:集的基数的“集合的元素个数”例如={1.3.4},所以的基数是3。在基数MinOccurs和MaxOccurs很多重要的问题,和它的默认值设置为1。例子:可以有多个< emp >在< emps >子元素,只有1 < SSN >在< emp >基数限制使用可选的还是必需的。
3)身份限制:限制独特性元素和属性的文档,我们可以定义键或唯一约束。它禁止奇点的部分和属性在一个非常特定的文档。像的相关模型,XML Schema允许用户概述每个键和唯一约束。这些2 ithat键约束之间的卓越不允许空的价格在任何元素的字段,而失踪(null)值不会导致违反了独特的约束。我们可以定义它的测序和非测序。颞文档D = (X, T, S, A)的身份约束是测序当且仅当所有项目T€T,如果c是一个节点类型的E X T =片(T, D)说,两个元素可以评估相同的键值当且仅当它们事实上是相同的元素。
nonsequenced <独特>或<键>逻辑注释中指定的约束条件是通过下列元素:< nonSeqUnique >、< nonSeqKey >或< uniqueNullRestricted >。这些nonsequenced约束的子元素和属性提供了表2中有4种限制XML模式需要保持跟踪。
nonsequenced <独特>约束要求的字段值组合是独一无二的物品之间跨越时间限制元素。非序列约束可以用在3方面:之间:假设如果非测序唯一约束是电子邮件和评价窗口。
内:如果有人说员工不能从1 empid切换到另一个他可以使用内,表达的范围内
清单6。Non-seq。约束”在“每个员工
之间和内部:
这个语义将每个emp id是独一无二的,不能重用的电子邮件。传统的身份约束并不意味着nonsequenced独特性(它只意味着没有重复一片)。因此,同样的产品没有可以重用(常规键)之间的另一个产品或改变片
4)引用完整性:指的是关系数据库的概念,也指有效键或唯一约束。示例< keyref >确保只有有效的产品数字输入订单。每个引用完整性约束导致测序在颞文档
b类的语义
XML Schema约束是快照约束,因为他们被限制到一个特定的快照文件。这些约束τXSchema需要增强。适用的时间框架约束将它分为两种类型,测序或不连续。时间约束是测序对类似快照约束模式文档,如果时态的语义约束可以表示为快照的语义约束应用在每个时间点。约束是不连续如果它被应用到一个时间元素作为一个整体(包括数据实体的生命周期),而不是个人的时间片。鉴于XML Schema约束一个快照,我们定义相应的时态语义τXSchema排序约束。例如,快照(约束(基数),“应该有每个承包商之间的零和四个网站的url,”有一个测序相当于:“0和4之间应该有网站的url为每个承包商在每一个时间点。“不连续约束不是基于快照的XML模式定义的等价物。一个不连续的例子(基数)约束条件是:“应该没有超过10的网站url为每个供应商在任何一年。“不连续约束时间注释文档中列出。在少数情况下(当我们扩展一个特定的XML Schema约束附加功能),排序约束也暂时注释文档中列出。技术报告文档[2]进一步讨论了测序和不连续时间详细注释XML模式的限制。 Special kind of sequenced constraint is a current constraint apply at current point in time.
c .时态数据模型:
XML文档通常是建模为一个标签树&时态XML文档建模为一组时间上的XML文档
时态XML模型的定义:
时态XML模式是一个元组的属性(X, T, S, A)
1)X是一组XML数据模型实例,实例ξ= (Vi, Ei) Vi是一组节点(元素)Ei是一组属性的元素
2)T是一组。
3)学生:X→2 T是一个时间戳函数映射XML数据模型实例的时间戳是当前时间维度。
4):v→时序关联关系,同事一个节点在某些XML数据。
片函数提取一片从一个临时文件。
片的定义:
D = (X, T, S, A)时态XML模型的一个实例。然后对t€,片(t、D) = Xi,习近平在X和t€€年代(Xi)。
d .项目:
为了验证nonsequenced约束,必须确定哪些元素存在跨各种转换、文档的。当暂时的相关元素,创建一个项目。一个项目是XML元素的集合,表示相同的现实世界实体。一个项目可能是不同的差距意味着它可能出现在一些片和缺席在其他项目可以改变没有差距即它必须存在通过连续切片。存在一个项目的另一个可能性是常数,即项目永远存在或没有礼物。个条目的内容可以追求above2提到的3替代约束之一。

四、工具和算法

我们的三级模式规范方法使一套工具的操作模式和他们描述的数据。本节概述的套件工具和他们所使用的算法。可用的工具都是开源和β版本[2]。已经实现的工具在Java中使用DOM API [3]。DOM API被选在SAX API由于其能够创建一个面向对象的分层表示XML文档,可以在运行时被导航和操纵。下面的原语解释DOM API的使用这个能力很容易操纵文档树。我们首先描述的细节实现原语伏地挺身,叠加和合并。使用这些原语τVALIDATOR、南瓜、UNSQUASH, RESQUASH工具操纵XML树。logical-to-representational MAPPER模式映射器,介绍了下一个。这个工具需要作为输入快照模式,时间和物理注释和生成一个表征模式。使用这种表征模式τVALIDATOR验证给定的时间文档使用传统的XML模式验证器。 τVALIDATOR does the actual temporal schema and data validation.Temporal data validation is a several-step process, a major part of this process being gluing elements to form items. The items are then validated individually. Other tools in the suite squash, unsquash and resquash the documents. Given a temporal schema (bundle) and a set of snapshot documents, SQUASH combines all of the snapshot documents into a single temporal document. UNSQUASH performs the opposite operation, breaking the single temporal document into multiple snapshot documents. RESQUASH is just a combination of UNSQUASH and SQUASH; given a temporal document, an old physical annotation and a new physical annotation, RESQUASH changes the representation of the given document as per the new physical annotation.
答:实现
原语如前所述,时间和物理注释是正交的性质;用户可以改变位置的时间戳,独立于特定元素的指定时间特征。时间的表示相应的文档将会改变。因此,两个文档有一个暂时的注释可以有不同的物理注释,因此不同的表示。在处理一个临时文件,所需的最频繁的操作时间文档层次结构向上或向下移动时间戳的原始快照模式定义的XML元素。τVALIDATOR和南瓜公用事业所需的另一个操作合并相邻的版本从一个给定的项目。我们决定写原始功能为这些操作,这样他们可以被再利用为构建工具以最小的努力。我们现在描述代表这些操作的原始功能
1)伏地挺身功能:虽然时间和物理注释在本质上是正交的,物理注释的一个限制是,至少应该位于一个时间戳或以上在XML模式中最上面的时间元素的层次结构。如果给定物理注释时间戳在地点以外的时间元素,伏地挺身函数将时间戳在项目层次结构合并后其他辅助函数中使用的算法如下。
•isItem (e):此函数检查是否给定的XML元素e表示的一个项目。
•createItem (e, timePeriod):该函数创建一个新的XML元素的表示一个项目并添加给定元素e(单)版本的新创建的项目的时间被timePeriod版本
•取代(src、目标):函数取代了src元素和目标元素。
•getTimePeriod (itm):函数返回一个项目的完整的时段。即。,The time-period with start time equal to the start time of the first version and end time equal to the end time of the last version of an item.
2)叠加功能:俯卧撑的叠加功能的行为完全相反的功能。如果给定物理注释时间戳在颞上方位置元素,叠加函数移动这些时间戳的层次结构。颞文档上执行这个函数之后,时间戳将位于颞元素。在这一点上,由于颞特点和表现一致,就容易对合成时间执行合并文档。
算法中使用的其他辅助功能如下。
temporalAnnotation•isTimeVarying (itm):函数返回true,如果itm定义存在于颞注释。
•versionCount (itm):函数返回版本的数量在给定的itm元素。
•GetVersion (itm, n):函数返回给定的n版本的itm元素。
3)合并功能:在第六节解释说,元素的两个快照可以temporallyassociated时态XML文档。如果元素的dom等价和快照时间是连续的,这两个要素可以被单个元素的时期延长启动时间的第一个元素到最后一个元素的停止时间。这个过程称为凝聚,南瓜紧凑文档不可分割的一部分。
b . Schma映射器
一旦注释被发现是一致的,logical-to-representational映射器生成表征模式从最初的快照模式和时间和身体的注释。表征模式需要作为一个时变模式文档/数据。一旦注释被发现是一致的,logical-to-representational映射器生成表征模式(盒子10)从原始快照模式和时间和身体的注释。表征模式需要作为一个timevarying文档/数据模式(盒9)。时变数据可以在四个方面:
•自动从无时态数据使用挤压工具。
•自动从数据存储在数据库中,例如作为一个“时间”查询或视图的结果。
•自动从第三方工具,或
•手动。
每个时变元素给出一个时间戳的有效时间和/或适当的事务时间。Nontemporal元素和属性转换。将快照模式转化为表征的过程模式解释了在接下来的几个段落。

诉实现技术

τVALIDATOR和不同的开发工具都是用Java编写的,受害的Java一双,v1.4,标准版。他们使用W3C规范节肢动物属解析XML文档,构建DOM树和处理XPath表达式。„W3C DOM API”是用于解析XML文档。„XML路径语言(XPath)规范版本。0”是用于处理XPath表达式。第三方实现的节肢动物属从Apache计算机代码基金会访问Apache XML项目的一部分[2]。实现区域单位下面的小字。
•XERCES, Apache XML项目的一部分可能是一个家庭的计算机代码包解析和操作XML文档。Xerces提供每个XML解析和生成。Xerces提供了实现W3C DOM API。下面的实现访问„Apache计算机代码许可”,[4]自由访问。
•XALAN,更喜欢从Apache开放供应计算机代码库计算机代码的基础上,使用XPath API的实现。它实现了XSLT XML转换语言,因此XPath XML命令语言。实现访问下面„Apache计算机代码许可”,是为了支持双时态信息免费,我们倾向于预期后美术和implementational改变盛行的工具。
SCHEMAMAPPER: SCHEMAMAPPER希望很少或没有修正案。因为时间的说明文档保持不变,它必须增加每组行动,有效时间部分TVSchema的天气从物理注释区域单位时变在每个维度。
τVALIDATOR:τVALIDATOR结合地希望很少修正案支持双时态信息。自说明的东西以一种极为XML文档不去修改,上胶过程,就是τVALIDATOR公式的第一部分,将保持不变。下一步就是验证个别项目确认在粘合。在现有的项目类别,验证过程的欲望被扩展来执行验证项事物多样有效的和组动作时间。
南瓜:我们倾向于执行镇压的双时态信息预测的必要性包装类别,例如,DoBitemporalSquashi流行的设计。这类将使用流行的DoSquashing类别执行文档的挤压在有效时间确定事务时间周期。这可以生成一系列时间的文档,可以作为拍摄文档transactiontime南瓜。现行DoSquashing类别和不同的原始函数不会准备好处理这些临时文件,因为他们没有设计预测事物的存在在拍摄文档。因此DoSquashing类别想一些变化来处理这些文件。同时,虽然抽象算法的原始功能保持不变,需要一些实现级别的变化。流行的物品类别支持双时态的时间。然而仅仅合并公式处理时间。它不处理区域。目前合并执行欲望联系在护理扩展执行合并的区域。
UNSQUASH: UNSQUASH工具相连地想一些变化一样的南瓜的工具。一个全新的包装器类(例如,DoBitemporalUnSquashing)很可能是其他。这一类首先unsquash事务时间维度上的给定双时态文档授予多个时间文档有效时间。所有的文件必须被迫unsquashed有效时间维度上给多个文件。现有UnSquash愿与所有变化的表演艺术unsquashing有效时间维度。一些修改需要UnSquash类别执行unsquashing事务时间维度。因此,尽管工具将支持流行的类别,添加一些新的类别和修改原始功能是必要的,以提供对双时间数据的支持。

六。结论

在本文中,我们考虑的方式来适应和验证在区间时变信息的XML模式。我们给时态XML Schema(τXSchema),助理在护理扩展的XML模式,基础设施,和一组工具支持时变的创建和验证文档,而不需要任何修改XML模式。τXSchema提供护理有效由于定义时间组件类型相联系;具体来说,一种部分将改变随着时间的推移,描述关联的方式在快照时间部分,并提供一些时间限制,然而松散描述颞组件将修改。我们的风格符合W3C XML Schema定义和建立优质的XML模式。我们的方法可以确保信息独立分离(i)的曝光模式文档实例文档,(ii)信息对部分实例文档的(s)将改变随着时间的推移,和(3)在时间戳应该放置和完全时变方面应该图解。基于“增大化现实”技术的正交以来这三个方面,我们的方法允许各自要修改的方方面面。这三级模式规范的方法是利用在支持工具;许多新的,有用的工具τVALIDATOR SCHEMAMAPPER,南瓜,UNSQUASH RESQUASH基于“增大化现实”技术的引入,需要我们提供的逻辑和物理信息独立的方法。此外,这种独立性允许现有的工具(例如,XML模式验证器,XQuery,和DOM)从事时间同行的实现。 we've then extended τXSchema to support schema versionoing. we have a tendency to showed however schema versioning is integrated with support for time-varying documents in a very fashion consistent and upwardly-compatible with XML, XML Schema, and standard XML validators. Schema versioning in its full generality is supported, together with (timevarying) schemas that embody or reference alternative (time-varying) schemas. In doing thus, we have a tendency to leveraged each standard XML Schema and connected tools (principally, the standard validator), yet as τVALIDATOR for information versioning.

引用

  1. c·s·詹森和c e . Dyreson(编辑),“时态数据库概念的共识术语表,”1998年2月版。
  2. τ项目,τXSchema,亚利桑那大学的计算机科学系。URL http://www.cs.arizona.edu/projects/tau/txschema/index.htm, 2007年3月26日。
  3. W3C文档对象模型。URL http://www.w3.org/DOM, 2007年3月26日,[4]n . Tatbul美国C¸etintemel,和S.B. Zdonik,“健身:高效的卸载技术为分布式流处理,“Proc。Int " l相依超大型数据基地(VLDB),第170 - 159页,2007年。
  4. XERCES,官方网站的Apache XERCES项目版本1.4.4 URL http://xerces.apache.org/ xerces-j, 4月12日,2007年。