Schema Change Operations for Full Support of Schema Versioning in the τXSchema Framework

Schema Change Operations for Full Support of Schema Versioning in the τXSchema Framework

Zouhaier Brahmia (University of Sfax, Sfax, Tunisia), Fabio Grandi (University of Bologna, Bologna, Italy), Barbara Oliboni (University of Verona, Verona, Italy) and Rafik Bouaziz (University of Sfax, Sfax, Tunisia)
DOI: 10.4018/ijitwe.2014040102


tXSchema (Currim et al., 2004) is a framework (a language and a suite of tools) for the creation and validation of time-varying XML documents. A tXSchema schema is composed of a conventional XML Schema annotated with physical and logical annotations. All components of a tXSchema schema can evolve over time to reflect changes in the real-world. Since many applications need to keep track of both data and schema evolution, schema versioning has been long advocated to be the best solution to do this. In this paper, we complete the tXSchema framework, which is predisposed from the origin to support schema versioning, with the definition of the operations which are necessary to exploit such feature and make schema versioning functionalities available to final users. Moreover, we propose a new technique for schema versioning in tXSchema, allowing a complete and safe management of schema changes. It supports both versioning of conventional schema and versioning of annotations, in an integrated manner. For each component of a tXSchema schema, our approach provides a complete and sound set of change primitives and a set of high-level change operations, for the maintenance of such a component and defines their operational semantics.
Article Preview


Nowadays, several applications using XML repositories (e.g., banking, accounting, personnel management, airline reservations, weather monitoring and forecasting, e-government and e-commerce) are temporal in nature and require a full history of data and schema changes, which must be managed efficiently, consistently, and in a transparent way with regard to the end user. Notice that for generic temporal databases (Dyreson & Grandi, 2009), XML provides an excellent support for temporally grouped data models (Zaniolo & Wang, 2008), which have long been considered as the most natural and effective representations of temporal information (Clifford et al., 1995). Besides, schema versioning has long been advocated to be the more appropriate solution to support a complete data and schema history in databases (De Castro et al., 1997; Grandi, 2002).

In a temporal setting, XML data can evolve along transaction-time and/or valid-time; thus, they can have a transaction-time, a valid-time or a bitemporal format. When XML data of different temporal formats can coexist in the same XML repository, we talk about a multitemporal XML repository.

Whereas schema versioning is required by several applications using multitemporal XML repositories, both existing XML DBMS and XML tools do not provide support for that feature until now (Colazzo et al., 2010). Therefore, XML Schema designers and developers have to employ ad hoc methods to manage schema versioning.

In order to propose a general approach for schema versioning in multitemporal XML repositories, the possible choices were as follows: (i) to have different levels of schema specifications, that is a level for the data structure and one or more levels for temporal dimensions, and (ii) to push the possible multitemporality one level higher. In this context, “Which is the right way to consider XML documents sharing the same data structure and having different time dimensions?” could be a good question. Hence, we dealt with the problem to define the different levels we need, and to define the mappings between such levels.

After surveying the state of the art of (multi-)temporal XML data models supporting schema versioning, we concluded that the resulting overall framework could be not very dissimilar from the one introduced by Snodgrass and colleagues in (Currim et al., 2004; Dyreson et al., 2006; Snodgrass et al., 2008), named τXSchema. This latter is an infrastructure, composed of an XML schema language and a suite of tools, for constructing and validating temporal XML documents under schema versioning. The τXSchema language extends the XML Schema language (W3C, 2004) to explicitly support time-varying XML documents. τXSchema has a three-level architecture for specifying a schema for time-varying data. The first level is for the conventional schema which is a standard XML Schema document that describes the structure of a standard XML document, without any temporal aspect. The second level is for the logical annotations of the conventional schema, which identify which elements can vary over time. The third level is for the physical annotations of the conventional schema, which describe where timestamps should be placed and how the time-varying aspects should be represented.

Finally, we were in front of two options: either to extend the τXSchema approach or to propose a completely different approach. We have chosen the first one, for the reasons which follow.

  • 1.

    We came up with a similar requirement for having different levels for schema specification, so any alternative approach we could propose would not be so far from the τXSchema principles.

  • 2.

    In case we decide to move away from τXSchema, we must then be very convincing in justifying our choice (e.g., by highlighting strong limitations of the τXSchema approach which we need to overcome).

  • 3.

    The τXSchema approach is well known in the research community and thus it could be better to use it as a starting point, instead of putting forward a brand new proposal.

  • 4.

    In the τXSchema approach, there is room enough for extensions and, thus, we could define a set of schema changes and solve the semantics of change and change propagation problems for such operations on top of it.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 15: 4 Issues (2020): 1 Released, 3 Forthcoming
Volume 14: 4 Issues (2019)
Volume 13: 4 Issues (2018)
Volume 12: 4 Issues (2017)
Volume 11: 4 Issues (2016)
Volume 10: 4 Issues (2015)
Volume 9: 4 Issues (2014)
Volume 8: 4 Issues (2013)
Volume 7: 4 Issues (2012)
Volume 6: 4 Issues (2011)
Volume 5: 4 Issues (2010)
Volume 4: 4 Issues (2009)
Volume 3: 4 Issues (2008)
Volume 2: 4 Issues (2007)
Volume 1: 4 Issues (2006)
View Complete Journal Contents Listing