一个基于高级数据模型的说明性XML更新语言
Declarative XML Update Language Based on a Higher Data Model
-
摘要: 中文题目:一个基于高级数据模型的说明性XML更新语言在Lorel数据模型中,XML数据被建模为带标号边的有向图,一个节点表示一个XML元素,表示为一个对
,这里eid是一个唯一的元素标识符,value是一个原子字符串或复杂值。尽管Lorel原来是为了查询和更新半结构化数据而设计的,但现在已经进行了扩展已支持XML据。XML-QL使用一个XML图来表示一个XML文档,每个节点与一个对象标识符相关联,每个边被标记为元素标签标识符。每个XML图有一个根。XML-GL采用一个XML图形数据模型(XML GDM)来表示XML DTD和实际的文档,XML元素被表示为矩形而属性和原子值被表示为圆圈。实际上这三种数据模型是等价的。除了XML-RL以外,其他的语言使用基于树的数据模型,一个XML文档被建模为标记节点的树形状的图。Lore系统实现了一个简单的说明性更新语言,可以建立和删除数据库的名字、建立一个新的原子或复杂对象、更新一个存在的原子对象或复杂对象的值。更新请求主要通过一个简单表达式(+|-|:)=来表示,以建立、删除和更新两个存在对象间的父子关系。但是,该语言并不支持有序数据的更新请求。并且名字的更新与值的更新使用不同的语法。XPathLog 语言是一个基于规则的数据操纵语言,在规则头部,使用“/”和“[]”操作符来指定要增加或更新的特征。但是,XPathLog仅仅支持元素的建立和更新操作。CXQuery也是一个基于规则的数据操纵语言,它的更新语言类似于XPathLog,但是比XPathLog语言更简单。Xupdate是一个XML更新语言,它是W3C的一个工作草案,允许用户建立、插入、更新和删除元素和属性。该语言使用Xpath定义的表达式语言来定位被更新的元素和属性,且支持有序和无序数据的更新操作。Xupdate的一个独特特点是它的语法与XML规范相兼容。所有这些现有的更新语言不支持复杂对象的更新或以一个非常复杂的非自然的方式来表示复杂对象的更新操作,因为它们采用了比较低级的数据模型。基于XML-RL高级数据模型,本文提出了一组XML文档更新操作原语,与其它XML更新语言相比,它具有如下优点(即本文的主要贡献点): (1)我们提出了一组操作原语来提供单个或多个XML文档的结构和内容的修改;
基于XML-RL数据模型的优点,XML-RL更新语言给用户提供一种简单的易于理解的方式来修改XML文档;
(2)我们的语言以一个简单的非嵌套的方式来支持多个层次的修改更新操作;
(3)我们的语言在一个语法结构中可以同时支持不同更新操作的混合;
(4)我们的语言支持复杂对象的直接修改。这种操作是无法在基于图或基于树模型的更新语言中直接支持的;
(5)我们的语言以一种统一的方式来支持名字、值和对象的更新,而在其他语言中一般名字的更新与值或对象的更新使用不同的原语。-
关键词:
- XML /
- higher data model /
- update language
Abstract: With the extensive use of XML in applications over the Web, how toupdate XML data is becoming an important issue because the role ofXML has expanded beyond traditional applications in which XML isused for information exchange and data representation over theWeb. So far, several languages have been proposed for updating XMLdata, but they are all based on lower, so-called graph-based ortree-based data models. Update requests are thus expressed in anonintuitive and unnatural way and update statements are toocomplicated to comprehend. This paper presents a noveldeclarative XML update language which is an extension of theXML-RL query language. Compared with other existing XML updatelanguages, it has the following features. First, it is the onlyXML data manipulation language based on a higher data model.Second, this language can express complex update requests atmultiple levels in a hierarchy in a simple and flat way. Third,this language directly supports the functionality of updatingcomplex objects while all other update languages do not supportthese operations. Lastly, most of existing languages userename to modify attribute and element names, which is adifferent way from updates on value. The proposed language modifies tagnames, values, and objects in a unified way by the introduction ofthree kinds of logical binding variables: object variables,value variables, and name variables.-
Keywords:
- XML /
- higher data model /
- update language
-
-
[1] Cark J, DeRose S. XML path language (Xpath). Ver. 1.0.Tech. Report REC-xpath-19991116, W3C, Nov. 1999.
[2] Fankhauser P. Xquery formal semantics: State andchallenges. SIGMOD Record, 2001, 30(3): 14--19.
[3] Liu M, Ling T W. Towards declarative XMLquerying. In Proc. The 3rd Int. Conf.Web Information Systems Engineering (WISE'02), Singapore,December 2002, pp.127--138.
[4] Abiteboul S, Quass D et al. TheLorel query language for semistructured data. Int. J. DigitalLibraries, 1997, 1(1): 68--88.
[5] Chen Y, Revesz P. CXQuery: A novel XML querylanguage. Available at http://citeseer.nj.nec.com/539624.html.
[6] May W. XPathLog: A declarative, native XML datamanipulation language. In Proc. Int. Symp. DatabaseEngineering & Applications, IDEAL'01, July 2001,Grenoble, France, pp.123--128.
[7] Liu M. A logical foundation for XML. In Proc. The 14th Int. Conf. AdvancedInformation Systems Engineering (CAiSE'02), Toronto, Canada, May2002, pp.568--583.
[8] Abiteboul S, Hull R, Vianu V. Foundation of Databases. AddisonWesley, 1995.
[9] Rǔhl T, Bal H E. The nested objectmodel. In Proc. 6th ACM SIGOPS European Workshop onMatching Operating Systems to Application Needs, September 1994,Dagstuhl Castle, Germany, pp.134--137.
[10] Tatarinov I, Ives Z G, Halevy A Y, Weld D S. Updating XML. In Proc. 2001 SIGMOD Int. Conf. Management of Data, Santa Barbara, CA, USA, May 2001, pp.413--424.
[11] Laux A, Martin L. Xupdate --XML updatelanguage. W3C Working Draft, 2000. Available athttp://www.xmldb.org/ xupdate/xupdate-wd.html.
[12] Deutsch A, Fernandez M F et al. A query language for XML. Computer Networks, 1999,31(11-16): 1079--1090.
[13] Ceri S, Comai S, Damiani E et al. XML-GL: A graphical language for queryingand restructuring XML documents. Computer Networks, 1999,31(11-16): 1171--1187.
[14] Bonifati A, Ceri S. Comparative analysis of five XML querylanguages. SIGMOD Record, 2000, 29(1): 68--79.
[15] Wang G, Sun B, Lv J et al. RPE queryprocessing and optimization techniques for XML databases. Journalof Computer Science and Technology, 2004, 19(2): 224--237.
[16] Fernandez M, Malhotra A, Marsh J, Nagy M, Walsh N. XQuery1.0 and Xpath 2.0 data model. W3C WorkingDraft, November 15 2002. Available athttp://www.w3.org/ TR/2002/WD-query-datamodel-20021115/.
[17] Ishikawa H, Kubota K, Kanemasa Y. XQL: A query language for XMLdata. In Proc. W3C Workshop on Query Language, Boston,Massachussetts, USA, 1998. Available at http://www.w3.org/TandS/QL/QL98/.
计量
- 文章访问数: 21
- HTML全文浏览量: 0
- PDF下载量: 1303