Nothing Special   »   [go: up one dir, main page]

EP1559031A2 - Upward and downward compatible schema evolution - Google Patents

Upward and downward compatible schema evolution

Info

Publication number
EP1559031A2
EP1559031A2 EP03773545A EP03773545A EP1559031A2 EP 1559031 A2 EP1559031 A2 EP 1559031A2 EP 03773545 A EP03773545 A EP 03773545A EP 03773545 A EP03773545 A EP 03773545A EP 1559031 A2 EP1559031 A2 EP 1559031A2
Authority
EP
European Patent Office
Prior art keywords
schema
version
xsl
scheme
types
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.)
Withdrawn
Application number
EP03773545A
Other languages
German (de)
French (fr)
Inventor
Rainer Heller
Heinrich Kulzer
Marcus Bürgel
Edgar Frank
Dieter Wissmann
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of EP1559031A2 publication Critical patent/EP1559031A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Definitions

  • the invention relates to a method and a system for
  • schema e.g. database schemas, JKML schemas
  • JXML Extensible Markup Language
  • schema is also to be understood as a class / type model. Schemas are used to describe how data is stored. The data to be filed generally changes over time in its structure. It is therefore necessary to change the underlying schema, ie a schema evolution takes place. The following things are essential in this schema evolution: First, the version of a schema must be identified. On the other hand, the compatibility between different schemes should be clarified and specified. Compatibility between two schemas here means that data that is correctly stored with regard to one schema is also correct with respect to the other schema.
  • Data are correct for a schema means that the data can be correctly interpreted by an application if the application knows the meaning of the structures from the schema.
  • the short form “data of a schema” refers to data that are correct with regard to a schema.
  • W3C World Wide Web Consortium
  • the invention has for its object to enable an upward and downward compatible schema evolution.
  • This object is achieved by a method for defining structures of object and / or data models, in which schemes describe the structures, a version of the respective scheme being identified in a first attribute of a scheme, the namespace and the type and element names used in the respective schema are retained regardless of the version, whereby types and elements are only expanded while maintaining the type or element name, and in schemas of a newer version unexpanded types and elements unchanged from the respective ones in schemas older versions used types or elements are adopted.
  • This object is achieved by a system for defining structures of object and / or data models, with at least one scheme for describing the structures, a first attribute of a scheme being provided for identifying a version of the respective scheme, the one used in the respective scheme Namespace and the type and element names used in the respective schema are retained regardless of the version, whereby a mechanism for expanding the types and elements under Retention of the type or element name and for unchanged adoption of non-extended types or elements used in schemas of an older version in schemas of a newer version is provided.
  • the present invention shows a way to carry out a schema evolution in such a way that the schemas are both upwards and downwards compatible.
  • the invention enables a schema evolution without changing the names of the data.
  • the basic idea is to keep the namespace, the type and element names when changing to a new schema version and to use a schema version identifier.
  • a namespace is a collection of names that are identified by a unique identifier.
  • a namespace is something like a container for elements and
  • a namespace is also known as a "namespace *”.
  • the versioning of the schemas is only shown via attributes.
  • a first attribute of a schema is used to identify a version of the respective schema.
  • a calendar date can be assigned to a version of a scheme using a second attribute.
  • the calendar date of the respective schema version can e.g. B. in the so-called “annotations" to the schema via an attribute "versiondate".
  • the invention is described and explained in more detail below on the basis of the exemplary embodiment shown in the figure.
  • the figure shows a system for defining structures of object and / or data models, with schemes for describing the structures.
  • Shown in the exemplary embodiment are a first schema XS1 of an older version and a second schema XS2 of a newer version, both of which describe the structures of an object model OM.
  • the arrow 30 symbolizes the schema evolution.
  • the schemes XS1, XS2 contain types and elements 11..14, 21..24, to which type and element names 11a..14a, 21a..24a are assigned.
  • a namespace 1 is assigned to the schemes XS1, XS2.
  • Version identifiers or calendar data can be stored in first attributes 10, 20 and second attributes Dl, D2 of the schemes XSl, XS2.
  • XML-Schema provides various means for the transition from one XML-Schema version to the next.
  • XML schema offers the means of redefining element types.
  • the idea of a redefinition is to do an "inheritance" without changing the name of the element type.
  • the redefinition mechanism also includes the transfer of non-redefined types from the old schema definition. I.e. By using the redefinition, an "include mechanism" for taking over old types is triggered at the same time. This also supports an upward compatible development of a scheme.
  • XML documents are valid with regard to an XML schema ". While the definition of the W3C is of a purely syntactic nature, that is, the structure of an XML document, the definition used here is determined by the semantic content and the interpretability of the data.
  • the invention thus relates to a method and a system for defining structures of object and / or data models OM, with at least one schema XS1, XS2 for describing the structures.
  • An upward and downward compatible schema evolution is achieved by identifying a version of the respective schema XSl, XS2 in a first attribute 10, 20 of a schema XSl, XS2, the namespace 1 used in the respective schema XSl, XS2 and that in the respective Scheme XSl, XS2 used type and element names 11a..14a, 21a..24a are retained regardless of the version, whereby types and elements 11..14, 21..24 only if the type or.
  • Element names 11a..14a, 21a..24a are expanded and, in schemes XS2 of a newer version, non-expanded types and elements 21..24 are adopted unchanged from the respective types or elements 11..14 used in schemes XSl of an older version ,

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention relates to a method and a system for defining structures of object and/or data models (OM), comprising at least one schema (XS1, XS2) for describing the structures. An upward and downward compatible schema evolution is achieved in that a labeling of a version of the corresponding schema (XS1, XS2) is carried out in a first attribute (10, 20) of a schema (XS1, XS2), wherein the namespace (1) used in the corresponding schema (XS1, XS2) and the type and element name (11a..14a, 21a..24a) used in the corresponding schema (XS1, XS2) are preserved regardless of the version, wherein the types and elements (11..14, 21..24) are expanded only while preserving the type or element name (11a..14a, 21a..24a). Unexpanded types and elements (21..24) are accepted in the schemas (XS2) of a newer version unchanged from the types or elements (11..14) of schemas (XS1) of an older version.

Description

Beschreibungdescription
Auf- und abwärtskompatible SchemaevolutionUpward and downward compatible schema evolution
Die Erfindung betrifft ein Verfahren sowie ein System zurThe invention relates to a method and a system for
Definition von Strukturen von Objekt- und/oder Datenmodellen, mit mindestens einem Schema zur Beschreibung der Strukturen.Definition of structures of object and / or data models, with at least one schema to describe the structures.
Strukturen von Objekt- und Datenmodellen werden bei der Softwareentwicklung typischer Weise mit Klassen-/Typmodellen und Schemas (z. B. Datenbankschemas, JKML-Schemas) definiert (JXML = Extensible Markup Language) . Im Folgenden soll unter dem Begriff Schema auch Klassen-/Typmodell verstanden werden. Schemas dienen also zur Beschreibung, wie Daten abgelegt werden. Die abzulegenden Daten ändern sich im Allgemeinen über die Zeit in ihrer Struktur. Daher ist es notwendig, auch das jeweils zugrundeliegende Schema zu ändern, d. h. es findet eine Schemaevolution statt. Folgende Dinge sind bei dieser Schemaevolution wesentlich: Zum einen muss die Version eines Schemas identifiziert werden können. Zum anderen sollte die Kompatibilität zwischen verschiedenen Schemata geklärt und angegeben werden können. Kompatibilität zwischen zwei Schemas bedeutet hier, dass Daten, die bzgl. dem einen Schema korrekt abgelegt sind, auch bzgl. des anderen Schemas korrekt sind. Unter "Daten sind zu einem Schema korrekt" ist zu verstehen, dass die Daten inhaltlich korrekt von einer Applikation interpretiert werden können, wenn der Applikation die Bedeutung der Strukturen aus dem Schema bekannt ist. Mit der Kurzform "Daten eines Schemas" seien Daten bezeichnet, die bzgl. eines Schemas korrekt sind. Bei der Kompatibilität von Schemas unterscheidet man üblicherweise zwischen Aufwärtskompatibilität (= Daten eines alten Schemas sind korrekt bzgl. eines neuen Schemas) und Abwärtskompatibilität (= Daten eines neuen Schemas, die zu Strukturen des alten Schemas inhaltlich korrespondieren, sind korrekt bzgl. eines alten Schemas) . Die Eigenschaften Aufwärtskompatibilität und Abwärtskompatibilität zwischen den Schemaversionen sind eminent wichtig, da sie direkte Auswirkungen auf die Machbarkeit und Aufwände für die Migration von Endanwenderdaten von Softwareprodukten haben. Für die Schema Implementierung wird heutzutage oft der W3C-Standard XML- Schema (W3C = World Wide Web Consortium) eingesetzt. Dort gibt es Mechanismen für die Schemaevolution. Setzt man diese Mechanismen so ein, wie es standardmäßig in der objektorientierten Softwareentwicklung üblich ist, so erhält man aufwärtskompatible XML-Schemas, die jedoch nicht abwärtskompatibel sind.Structures of object and data models are typically defined in software development using class / type models and schemas (e.g. database schemas, JKML schemas) (JXML = Extensible Markup Language). In the following, the term schema is also to be understood as a class / type model. Schemas are used to describe how data is stored. The data to be filed generally changes over time in its structure. It is therefore necessary to change the underlying schema, ie a schema evolution takes place. The following things are essential in this schema evolution: First, the version of a schema must be identified. On the other hand, the compatibility between different schemes should be clarified and specified. Compatibility between two schemas here means that data that is correctly stored with regard to one schema is also correct with respect to the other schema. "Data are correct for a schema" means that the data can be correctly interpreted by an application if the application knows the meaning of the structures from the schema. The short form "data of a schema" refers to data that are correct with regard to a schema. When it comes to the compatibility of schemas, a distinction is usually made between upward compatibility (= data from an old schema is correct with respect to a new schema) and downward compatibility (= data from a new schema that corresponds in content to structures of the old schema are correct with respect to an old schema) , The properties are upward compatibility and downward compatibility between the schema versions extremely important because they have a direct impact on the feasibility and effort for the migration of end user data from software products. Nowadays, the W3C standard XML schema (W3C = World Wide Web Consortium) is often used for the schema implementation. There are mechanisms for schema evolution. If you use these mechanisms as is standard in object-oriented software development, you get upwards-compatible XML schemas, which, however, are not downwards-compatible.
Der Erfindung liegt die Aufgabe zugrunde, eine auf- und abwärtskompatible Schemaevolution zu ermöglichen.The invention has for its object to enable an upward and downward compatible schema evolution.
Diese Aufgabe wird durch ein Verfahren zur Definition von Strukturen von Objekt- und/oder Datenmodellen gelöst, bei welchem Schemata die Strukturen beschreiben, wobei in einem ersten Attribut eines Schemas eine Kennzeichnung einer Version des jeweiligen Schemas erfolgt, wobei der im jeweiligen Schema verwendete Namensraum und die im jeweiligen Schema verwendeten Typ- und Elementnamen unabhängig von der Version beibehalten werden, wobei Typen und Elemente nur unter Beibehaltung des Typ- bzw. Elementnamens erweitert werden und wobei in Schemata einer neueren Version nicht erweiterte Typen und Elemente unverändert von den jeweiligen in Schemata einer älteren Version verwendeten Typen bzw. Elementen übernommen werden.This object is achieved by a method for defining structures of object and / or data models, in which schemes describe the structures, a version of the respective scheme being identified in a first attribute of a scheme, the namespace and the type and element names used in the respective schema are retained regardless of the version, whereby types and elements are only expanded while maintaining the type or element name, and in schemas of a newer version unexpanded types and elements unchanged from the respective ones in schemas older versions used types or elements are adopted.
Diese Aufgabe wird durch ein System zur Definition von Strukturen von Objekt- und/oder Datenmodellen gelöst, mit mindestens einem Schema zur Beschreibung der Strukturen, wobei ein erstes Attribut eines Schemas zur Kennzeichnung einer Version des jeweiligen Schemas vorgesehen ist, wobei der im jeweiligen Schema verwendete Namensraum und die im jeweiligen Schema verwendeten Typ- und Elementnamen unabhängig von der Version beibehalten werden, wobei ein Mechanismus zur Erweiterung der Typen und Elemente unter Beibehaltung des Typ- bzw. Elementnamens und zur unveränderten Übernahme von in Schemata einer älteren Version verwendeten, nicht erweiterten Typen bzw. Elementen in Schemata einer neueren Version vorgesehen ist.This object is achieved by a system for defining structures of object and / or data models, with at least one scheme for describing the structures, a first attribute of a scheme being provided for identifying a version of the respective scheme, the one used in the respective scheme Namespace and the type and element names used in the respective schema are retained regardless of the version, whereby a mechanism for expanding the types and elements under Retention of the type or element name and for unchanged adoption of non-extended types or elements used in schemas of an older version in schemas of a newer version is provided.
Durch die vorliegende Erfindung wird ein Weg aufgezeigt, eine Schemaevolution so durchzuführen, dass die Schemas sowohl aufwärts- als auch abwärtskompatibel sind. Die Erfindung ermöglicht eine Schemaevolution, ohne die Namen der Daten zu ändern. Grundidee dabei ist, den Namensraum, die Typ- und Elementnamen beim Übergang auf eine neue Schemaversion beizubehalten und eine Schemaversionskennung zu benutzen. Ein Namensraum ist eine Sammlung von Namen, die durch einen eindeutigen Bezeichner identifiziert werden. Ein Namensraum ist damit soetwas wie ein Container für Elemente undThe present invention shows a way to carry out a schema evolution in such a way that the schemas are both upwards and downwards compatible. The invention enables a schema evolution without changing the names of the data. The basic idea is to keep the namespace, the type and element names when changing to a new schema version and to use a schema version identifier. A namespace is a collection of names that are identified by a unique identifier. A namespace is something like a container for elements and
Attribute, der selbst einen einmaligen Namen besitzt. Ein Namensraum wird auch als „Namespace* bezeichnet.Attributes that have a unique name. A namespace is also known as a "namespace *".
Die Versionierung der Schemas wird ausschließlich über Attribute abgebildet. Dabei wird ein erstes Attribut eines Schemas zur Kennzeichnung einer Version des jeweiligen Schemas benutzt. Gemäß einer vorteilhaften Ausgestaltung der Erfindung kann ein Kalenderdatum über ein zweites Attribut einer Version eines Schemas zugeordnet werden. Das Kalenderdatum der jeweiligen Schemaversion kann z. B. in den sogenannten "Annotations" zum Schema über ein Attribut "versiondate" abgelegt werden.The versioning of the schemas is only shown via attributes. A first attribute of a schema is used to identify a version of the respective schema. According to an advantageous embodiment of the invention, a calendar date can be assigned to a version of a scheme using a second attribute. The calendar date of the respective schema version can e.g. B. in the so-called "annotations" to the schema via an attribute "versiondate".
Werden die Schemata durch eine erweiterbare Auszeichnungs- spräche, z. B. XML, beschrieben, so erreicht man neben Einheitlichkeit und Erweiterbarkeit auch systematische Validierbarkeit .Are the schemes through an expandable markup, z. As XML, described, you can achieve not only uniformity and extensibility, but also systematic validation.
Nachfolgend wird die Erfindung anhand des in der Figur dargestellten Ausführungsbeispiels näher beschrieben und erläutert. Die Figur zeigt ein System zur Definition von Strukturen von Objekt- und/oder Datenmodellen, mit Schemata zur Beschreibung der Strukturen.The invention is described and explained in more detail below on the basis of the exemplary embodiment shown in the figure. The figure shows a system for defining structures of object and / or data models, with schemes for describing the structures.
Im Ausführungsbeispiel dargestellt sind ein erstes Schema XSl älterer Version und ein zweites Schema XS2 neuerer Version, welche beide die Strukturen eines Objektmodells OM beschreiben. Der Pfeil 30 symbolisiert die Schemaevolution. Die Schemata XSl, XS2 enthalten Typen und Elemente 11..14, 21..24, welchen Typ- bzw. Elementnamen 11a..14a, 21a..24a zugeordnet sind. Den Schemata XSl, XS2 ist ein Namensraum 1 zugeordnet. In ersten Attributen 10, 20 und zweiten Attributen Dl, D2 der Schemata XSl, XS2 können Versionkennungen bzw. Kalenderdaten hinterlegt werden.Shown in the exemplary embodiment are a first schema XS1 of an older version and a second schema XS2 of a newer version, both of which describe the structures of an object model OM. The arrow 30 symbolizes the schema evolution. The schemes XS1, XS2 contain types and elements 11..14, 21..24, to which type and element names 11a..14a, 21a..24a are assigned. A namespace 1 is assigned to the schemes XS1, XS2. Version identifiers or calendar data can be stored in first attributes 10, 20 and second attributes Dl, D2 of the schemes XSl, XS2.
Im Folgenden wird die Erfindungsidee anhand des für die Schema-Implementierung oft eingesetzten W3C-Standard XML- Schema erläutert. Die beschriebenen Mechanismen lassen sich jedoch prinzipiell bei der Beschreibung der Strukturen beliebiger Objekt- und Datenmodelle einsetzen, unabhängig von Standards. Bisher wurden zwar aufwärtskompatible XML-Schemas definiert, aber keine abwärtskompatiblen XML-Schemas. Die Definition aufwärtskompatibler XML-Schemas wurde folgendermaßen gelöst: Bei XML-Schema gibt es die Mechanismen "Typableitung", Targetnamespaces und das Attribut "version" beim Element <xsd: schema>. Setzt man diese Mechanismen so ein, wie es in der objektorientierten Softwareentwicklung bekannt ist, bedeutet das, dass abgeleitete Typen andere Namen erhalten als ihre Vatertypen. Dadurch erhalten Daten von neueren XML-Schemas andere Namen als die entsprechenden Daten von alten XML-Schemas. Über die Typableitungsbeziehung sind neuen Applikationen sowohl die alten als auch die neuen Namen von Daten bekannt. Sie können deshalb alte und neue Daten interpretieren. Die XML-Schemas sind also aufwärtskompatibel. Da sich jedoch Namen von Daten geändert haben, können alte Applikationen, denen die neuen Namen nicht bekannt sein können, neue Daten nicht interpretieren. Die Schemas sind nicht abwärts ompatibel. Versionsübergreifend XML-Dokumente zu lesen ist dann nur noch möglich, indem man Konverter einsetzt, welche die XML-Dokumente in die jeweils richtige Version konvertieren. Dies hat aber den entscheidenen Nachteil, dass man mit neuen Daten alleine nichts anfangen kann. Man braucht dann stets einen passenden Konverter.The idea of the invention is explained below on the basis of the W3C standard XML schema which is often used for the schema implementation. In principle, however, the mechanisms described can be used to describe the structures of any object and data models, regardless of standards. So far, upward-compatible XML schemas have been defined, but no downward-compatible XML schemas. The definition of upward compatible XML schemas was solved as follows: With XML schemas there are the mechanisms "type derivation", target namespaces and the attribute "version" for the element <xsd: schema>. Using these mechanisms as is known in object-oriented software development means that derived types are given different names than their father types. As a result, data from newer XML schemas are given different names than the corresponding data from old XML schemas. New applications are familiar with both the old and the new names of data via the type derivation relationship. You can therefore interpret old and new data. The XML schemas are therefore upward compatible. However, since the names of data have changed, old applications, for which the new names cannot be known, cannot interpret new data. The Schemas are not downward compatible. Reading XML documents across versions is then only possible by using converters that convert the XML documents into the correct version. However, this has the decisive disadvantage that you cannot do anything with new data alone. You always need a suitable converter.
Für den Übergang von einer XML-Schema-Version zur nächsten stellt XML-Schema verschiedene Mittel zur Verfügung. UmXML-Schema provides various means for the transition from one XML-Schema version to the next. Around
Elementdefinitionen erweitern zu können, ohne den Namen eines Elementes zu ändern, bietet XML-Schema das Mittel der Redefinition von Elementtypen. Die Idee einer Redefinition ist es, eine "Vererbung" durchzuführen, ohne den Namen des Elementtyps zu ändern. Der Mechanismus der Redefinition beinhaltet auch die Übernahme nicht redefinierter Typen aus der alten Schemadefinition. D. h. durch die Benutzung der Redefinition wird gleichzeitig ein "Include-Mechanismus" zur ÜbernaJhme von alten Typen ausgelöst. Dies unterstützt auch eine aufwärtskompatible Weiterentwicklung eines Schemas.To be able to expand element definitions without changing the name of an element, XML schema offers the means of redefining element types. The idea of a redefinition is to do an "inheritance" without changing the name of the element type. The redefinition mechanism also includes the transfer of non-redefined types from the old schema definition. I.e. By using the redefinition, an "include mechanism" for taking over old types is triggered at the same time. This also supports an upward compatible development of a scheme.
Anhand eines schematischen Beispiels wird im Folgenden die Umsetzung eines Übergangs von einer XML- Schemaversion zur nächsten beschrieben. Zu betrachten sind dazu die XML- Schemaversionen, die zugehörigen Namespaces und die Typdefinitionen im jeweiligen XML-Schema. Die Versionierung der Schemas wird ausschließlich über Attribute abgebildet. Dabei wird das Attribut "version" des Elementes "xsd: Schema" von JXML-Schema benutzt. Außerdem kann das Datum der Schemaversion z. B. in den "Annotations" zum Schema über ein Attribute "versiondate" abgelegt werden.The implementation of a transition from one XML schema version to the next is described below using a schematic example. The XML schema versions, the associated namespaces and the type definitions in the respective XML schema must be considered. The versioning of the schemas is only shown via attributes. The "version" attribute of the "xsd: Schema" element of JXML-Schema is used. In addition, the date of the schema version can e.g. B. in the "annotations" to the schema via an attribute "versiondate".
Die Typen „Project* , „HW* , „Com ' sind nur beispielhaft und stehen für beliebige Typen. Alle drei Typen sind sowohl in de Version 1.0 als auch in der Version 2.0 vorhanden. Die Typen „HWλ und „CommΛ bleiben unverändert. Der Typ „Project* wird über Redefinition in Version 2.0 verändert. In der Version 2.0 wird zusätzlich der Typ Monitoring neu definiert. Es wurde für eine neue Schemaversion kein neuer Namespace eingeführt. Außerdem wurden die lokalen Namen der Typen beibehalten. Damit haben sich insgesamt die Namen der bereits in Version 1.0 vorhandenen Typen nicht geändert. Die zu einem neuen Schema korrekten Daten, die inhaltlich zu Strukturen des alten Schemas korrespondieren, sind auch bzgl. des alten Schemas korrekt. Die Schemaevolution ist abwärtskompatibel. Da das neue Schema durch "Ableitung" aus dem alten Schema hervorgegangen ist, ist die Schemaevolution auch aufwärtskompatibel. Damit ist die Schemaevolution aufwärts- und abwärtskompatibel . Außerdem gilt im originären Sinne der "Validierbarkeit" des W3C, dass die alten und die neuen Daten (XML-Dokumente) bzgl. des neuen Schemas gültig sind. Das Versionierungskonzept des Standards XML-Schema und der Redefinition-Mechanismus von XML-Schema werden also eingesetzt um die Aufwärts- und Abwärtskompatibilität von Daten bei der Schemaevolution zu erreichen. Es sei betont, das sich die hier verwendete Definition der Aussage "Daten (und damit XML-Dokumente) sind korrekt" bzgl. eines XML- Schemas unterscheidet von der Definition des W3C: "DatenThe types "Project *," HW *, "Com 'are only examples and stand for any type. All three types are available in version 1.0 and version 2.0. The types "HW λ and" Comm Λ remain unchanged. The "Project *" type is changed via redefinition in version 2.0. Version 2.0 also redefines the type of monitoring. It no new namespace was introduced for a new schema version. The local names of the types have also been retained. Overall, the names of the types already available in version 1.0 have not changed. The correct data for a new schema, which corresponds in content to structures of the old schema, are also correct with regard to the old schema. The schema evolution is backwards compatible. Since the new schema is derived from the old schema, the schema evolution is also upward compatible. This makes the schema evolution upwards and downwards compatible. In addition, in the original sense of the "validability" of the W3C, the old and the new data (XML documents) are valid with regard to the new schema. The versioning concept of the XML-Schema standard and the redefinition mechanism of XML-Schema are used to achieve the upward and downward compatibility of data in the schema evolution. It should be emphasized that the definition used here of the statement "Data (and thus XML documents) are correct" with respect to an XML schema differs from the definition of the W3C: "Data
(XML-Dokumente) sind gültig bzgl. eines XML-Schemas". Während die Definition des W3C rein syntaktischer Natur ist, d. h. den Aufbau eines XML-Dokumentes betrifft, ist die hier verwendete Definition über den semantischen Inhalt und die Interpretierbarkeit der Daten bestimmt.(XML documents) are valid with regard to an XML schema ". While the definition of the W3C is of a purely syntactic nature, that is, the structure of an XML document, the definition used here is determined by the semantic content and the interpretability of the data.
Das obige schematische Beispiel sieht in XML- und XML-Schema- Syntax folgendermaßen aus:The above schematic example looks like this in XML and XML schema syntax:
XML-Instanzdokument zu Schema Version 1.0XML instance document for schema version 1.0
<?x l version="1. 0 " encoding="UTF-8 "?><? x l version = "1. 0" encoding = "UTF-8"?>
<Document x lns="Namespacel " xmlns :xsi="http: // . 3 . org/2001/XMLSchβma-instance " <Proj ect><Document x lns = "Namespace" xmlns: xsi = "http: //. 3rd org / 2001 / XMLSchβma-instance" <Proj ect>
<HW/> </Project> <Project><HW /></Project> <Project>
<HW/> </Project> </Docu eπt><HW /> </Project> </docu>
XML-Schema zu Version 1.0: Datei Dl.xsdXML schema for version 1.0: file Dl.xsd
<?xml version="1.0" encoding="UTF-8"?><? xml version = "1.0" encoding = "UTF-8"?>
<xs sschema targetNa espace="Namespacel" xmlns :nsl="Na espacel" xmlns :xs="http: //www. 3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualif ied" version="l .0"> <xs : annotation><xs sschema targetNa espace = "Namespacel" xmlns: nsl = "Na espacel" xmlns: xs = "http: // www. 3.org/2001/XMLSchema" elementFormDefault = "qualified" attributeFormDefault = "unqualif ied" version = " l .0 "> <xs: annotation>
<xs:documentation>This Schema is the first version of this Schema type</xs : documentation> <xs : appinf o><xs: documentation> This Schema is the first version of this Schema type </ xs: documentation> <xs: appinf o>
<prim:schemainfo versiondate="20011206" /> </xs : appinf o> </xs : annotation><prim: schemainfo versiondate = "20011206" /> </ xs: appinf o> </ xs: annotation>
<xs:element name="Document" type="nsl:DocumentT"><xs: element name = "Document" type = "nsl: DocumentT">
<xs : nnotation><xs: nnotation>
<xs:documentation>Comment describing your root element</xs:documentation> </xs : annotation> </xs:element> <xs : complexType name="DocumentT"><xs: documentation> Comment describing your root element </ xs: documentation> </ xs: annotation> </ xs: element> <xs: complexType name = "DocumentT">
<xs : sequence><xs: sequence>
<xs: element ref="nsl:Project" maxOccurs="unbounded"/> </xs : sequence> </xs : complexType> <xs:element name="Project" type="nsl:ProjectT"/><xs: element ref = "nsl: Project" maxOccurs = "unbounded" /> </ xs: sequence> </ xs: complexType> <xs: element name = "Project" type = "nsl: ProjectT" />
<xs: complexType name="ProjectT"> <xs : sequence><xs: complexType name = "ProjectT"> <xs: sequence>
<xs: element ref="nsl: HW"/> </xs : sequence> </xs:complexType><xs: element ref = "nsl: HW" /> </ xs: sequence> </ xs: complexType>
<xs: element na e="HW" type="nsl:HWT"/> <xs : complexType name="HWT"/> <xs : element name="Comm" type="nsl : CommT"/> <xs : complexType name="CommT"/> </xs : schema><xs: element na e = "HW" type = "nsl: HWT"/><xs: complexType name = "HWT"/> <xs: element name = "Comm" type = "nsl: CommT"/><xs: complexType name = "CommT"/></ xs: schema>
XML-Instanzdokument zu Schema Version 2.0XML instance document for schema version 2.0
<?xml version="1.0" encoding="UTF-8"?><? xml version = "1.0" encoding = "UTF-8"?>
<Document xmlns="Namespacel" xmlns :xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation="Namespacel D2.xsd"><Document xmlns = "Namespacel" xmlns: xsi = "http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = "Namespacel D2.xsd">
<Project> <! — Elementtype redefined in Schema version 2.0 —><Project> <! - Element type redefined in schema version 2.0 ->
<HW/> <! — Element already existing as subelement of Project in Schema version 1.0 —><HW /> <! - Element already existing as subelement of Project in schema version 1.0 ->
<Comm/> <! — Reuse of Element defined in Schema version 1.0 —> <Monitoring/> <! — Element newly defined in Schema version 2.0 —> </Project> <Project> <HW/> <Comm/> <Monitoring/> </Project> </Document><Comm /> <! - Reuse of Element defined in Schema version 1.0 -> <Monitoring /> <! - Element newly defined in schema version 2.0 -> </Project> <Project> <HW /> <Comm /> <Monitoring /> </Project> </Document>
JXML-Schema zu Version 2 . 0 : Datei D2 . xsdJXML schema for version 2. 0: File D2. xsd
<?xml version="1.0" encoding="UTF-8"?><? xml version = "1.0" encoding = "UTF-8"?>
<xs: sche a targetNamespace="Namespacel" xmlns="Namespacel" xmlns :xs="http://www. 3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0"> <xs:annotation><xs: sche a targetNamespace = "Namespacel" xmlns = "Namespacel" xmlns: xs = "http: // www. 3.org/2001/XMLSchema" elementFormDefault = "qualified" attributeFormDefault = "unqualified" version = "2.0"> <xs: annotation>
<xs:documentation>This Schema enhances the previous Schema version-/xs : documentation> <xs: appinfo><xs: documentation> This Schema enhances the previous Schema version- / xs: documentation> <xs: appinfo>
<prim:schemainfo versiondate="20011218" /> </xs : appinfo> </xs : annotation> <xs:redefine schemaLocation="Dl .xsd"> <xs: complexType name="ProjectT"> <xs : complexContent><prim: schemainfo versiondate = "20011218"/></ xs: appinfo></ xs: annotation> <xs: redefine schemaLocation = "Dl .xsd"><xs: complexType name = "ProjectT"><xs:complexContent>
<xs :extension base="ProjectT"> <xs :sequence><xs: extension base = "ProjectT"> <xs: sequence>
<xs:element ref="Comm"/> <xs:element ref="Monitoring"/> </xs : sequence> </xs : extension> </xs : complexContent><xs: element ref = "Comm" /> <xs: element ref = "Monitoring" /> </ xs: sequence> </ xs: extension> </ xs: complexContent>
</xs : complexType> </xs : redefine></ xs: complexType> </ xs: redefine>
<xs:element name="Monitoring" type="MonitoringT"/> <xs icomplexType name="MonitoringT"/> </xs:schema><xs: element name = "Monitoring" type = "MonitoringT" /> <xs icomplexType name = "MonitoringT" /> </ xs: schema>
Zusammenfassend betrifft die Erfindung somit ein Verfahren sowie ein System zur Definition von Strukturen von Objekt- und/oder Datenmodellen OM, mit mindestens einem Schema XSl, XS2 zur Beschreibung der Strukturen. Eine auf- und abwärtskompatible Schemaevolution wird dadurch erreicht, dass in einem ersten Attribut 10, 20 eines Schemas XSl, XS2 eine Kennzeichnung einer Version des jeweiligen Schemas XSl, XS2 erfolgt, wobei der im jeweiligen Schema XSl, XS2 verwendete Namensraum 1 und die im jeweiligen Schema XSl, XS2 verwendeten Typ- und Elementnamen 11a..14a, 21a..24a unabhängig von der Version beibehalten werden, wobei Typen und Elemente 11..14, 21..24 nur unter Beibehaltung des Typbzw. Elementnamens 11a..14a, 21a..24a erweitert werden und wobei in Schemata XS2 einer neueren Version nicht erweiterte Typen und Elemente 21..24 unverändert von den jeweiligen in Schemata XSl einer älteren Version verwendeten Typen bzw. Elementen 11..14 übernommen werden. In summary, the invention thus relates to a method and a system for defining structures of object and / or data models OM, with at least one schema XS1, XS2 for describing the structures. An upward and downward compatible schema evolution is achieved by identifying a version of the respective schema XSl, XS2 in a first attribute 10, 20 of a schema XSl, XS2, the namespace 1 used in the respective schema XSl, XS2 and that in the respective Scheme XSl, XS2 used type and element names 11a..14a, 21a..24a are retained regardless of the version, whereby types and elements 11..14, 21..24 only if the type or. Element names 11a..14a, 21a..24a are expanded and, in schemes XS2 of a newer version, non-expanded types and elements 21..24 are adopted unchanged from the respective types or elements 11..14 used in schemes XSl of an older version ,

Claims

Patentansprüche claims
1. Verfahren zur Definition von Strukturen von Objekt- und/oder Datenmodellen (OM) , bei welchem Schemata (XSl, XS2) die Strukturen beschreiben, wobei in einem ersten Attribut (10, 20) eines Schemas (XSl, XS2) eine Kennzeichnung einer Version des jeweiligen Schemas (XSl, XS2) erfolgt, wobei der im jeweiligen Schema (XSl, XS2) verwendete Namensraum (1) und die im jeweiligen Schema (XSl, XS2) verwendeten Typ- und Elementnamen (11a..14a, 21a..24a) unabhängig von der Version beibehalten werden, wobei Typen und Elemente (11..14, 21..24) nur unter Beibehaltung des Typ- bzw. Elementnamens (11a..14a, 21a..24a) erweitert werden und wobei in Schemata (XS2) einer neueren Version nicht erweiterte Typen und Elemente (21..24) unverändert von den jeweiligen in Schemata (XSl) einer älteren Version verwendeten Typen bzw. Elementen (11..14) übernommen werden.1. A method for defining structures of object and / or data models (OM), in which schemes (XSl, XS2) describe the structures, with a first attribute (10, 20) of a scheme (XSl, XS2) identifying a Version of the respective scheme (XSl, XS2) takes place, whereby the namespace (1) used in the respective scheme (XSl, XS2) and the type and element names (11a..14a, 21a ..) used in the respective scheme (XSl, XS2). 24a) are retained regardless of the version, whereby types and elements (11..14, 21..24) are only expanded while retaining the type or element name (11a..14a, 21a..24a) and in schemes (XS2) of a newer version, types and elements (21..24) that have not been expanded are adopted unchanged from the respective types or elements (11..14) used in schemes (XSl) of an older version.
2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass ein Kalenderdatum über ein zweites Attribut (Dl, D2) einer Version eines Schemas (XSl, XS2) zugeordnet werden kann.2. The method according to claim 1, so that a calendar date can be assigned to a version of a scheme (XSl, XS2) via a second attribute (Dl, D2).
3. Verfahren nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t , dass die Schemata (XSl, XS2) durch eine erweiterbare3. The method of claim 1 or 2, d a d u r c h g e k e n n z e i c h n e t that the schemes (XSl, XS2) by an expandable
AusZeichnungssprache beschrieben werden.Described from the drawing language.
4. System zur Definition von Strukturen von Objekt- und/oder Datenmodellen (OM) , mit mindestens einem Schema (XSl, XS2) zur Beschreibung der Strukturen, wobei ein erstes Attribut (10, 20) eines Schemas (XSl, XS2) zur Kennzeichnung einer Version des jeweiligen Schemas (XSl, XS2) vorgesehen ist, wobei der im jeweiligen Schema (XSl, XS2) verwendete Namensraum (1) und die im jeweiligen Schema (XSl, XS2) verwendeten Typ- und Elementnamen (11a..14a, 21a..24a) unabhängig von der Version beibehalten werden, wobei ein Mechanismus zur Erweiterung der Typen und Elemente (11..14, 21..24) unter Beibehaltung des Typ- bzw. Elementnamens (11a..14a, 21a..24a) und zur unveränderten Übernahme von in Schemata (XSl) einer älteren Version verwendeten, nicht erweiterten Typen bzw. Elementen (11..14, 21..24) in Schemata (XS2) einer neueren Version vorgesehen ist.4. System for defining structures of object and / or data models (OM), with at least one scheme (XSl, XS2) for describing the structures, with a first attribute (10, 20) of a scheme (XSl, XS2) for identification a version of the respective scheme (XSl, XS2) is provided, the namespace (1) used in the respective scheme (XSl, XS2) and the type and element names (11a..14a, 21a. used in the respective scheme (XSl, XS2) ..24a) regardless of the version, with a mechanism for expanding the types and elements (11..14, 21..24) while maintaining the type or element name (11a..14a, 21a..24a) and for unchanged adoption of non-extended types or elements (11..14, 21..24) used in schemas (XSl) of an older version is provided in schemas (XS2) of a newer version.
5. System nach Anspruch 4, d a d u r c h g e k e n n z e i c h n e t , dass ein Kalenderdatum über ein zweites Attribut (Dl, D2) einer Version eines Schemas (XSl, XS2) zugeordnet wird.5. System according to claim 4, so that a calendar date is assigned to a version of a scheme (XSl, XS2) via a second attribute (Dl, D2).
6. System nach Anspruch 4 oder 5, d a d u r c h g e k e n n z e i c h n e t , dass die Schemata (XSl, XS2) durch eine erweiterbare Auszeichnungssprache beschrieben sind. 6. System according to claim 4 or 5, d a d u r c h g e k e n n z e i c h n e t that the schemes (XSl, XS2) are described by an expandable markup language.
EP03773545A 2002-10-30 2003-10-17 Upward and downward compatible schema evolution Withdrawn EP1559031A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10250641A DE10250641A1 (en) 2002-10-30 2002-10-30 Upward and downward compatible schema evolution
DE10250641 2002-10-30
PCT/DE2003/003453 WO2004040441A2 (en) 2002-10-30 2003-10-17 Upward and downward compatible schema evolution

Publications (1)

Publication Number Publication Date
EP1559031A2 true EP1559031A2 (en) 2005-08-03

Family

ID=32103187

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03773545A Withdrawn EP1559031A2 (en) 2002-10-30 2003-10-17 Upward and downward compatible schema evolution

Country Status (4)

Country Link
US (1) US20060004781A1 (en)
EP (1) EP1559031A2 (en)
DE (1) DE10250641A1 (en)
WO (1) WO2004040441A2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844639B2 (en) * 2003-11-24 2010-11-30 Ebay Inc. Backward compatibility in database schemas
US7562357B2 (en) * 2004-03-08 2009-07-14 Microsoft Corporation Relational database schema version management
EP1686489A1 (en) * 2005-01-28 2006-08-02 Siemens Aktiengesellschaft Method and system for processing schema-describable documents
US7774300B2 (en) * 2005-12-09 2010-08-10 International Business Machines Corporation System and method for data model and content migration in content management applications
CN102143193B (en) * 2010-01-29 2014-01-22 国际商业机器公司 Data synchronization method and system
GB2481191A (en) 2010-02-25 2011-12-21 Sita Information Networking Computing Ireland Ltd Graphical development tool for software application development
US9324043B2 (en) 2010-12-21 2016-04-26 Sita N.V. Reservation system and method
JP2013003664A (en) * 2011-06-13 2013-01-07 Sony Corp Information processing apparatus and method
AU2011374196B2 (en) 2011-08-03 2014-08-28 Sita Information Networking Computing Usa, Inc Item handling and tracking system and method therefor
GB2499288A (en) 2012-02-09 2013-08-14 Sita Inf Networking Computing Usa Inc Path determination
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
US10320908B2 (en) 2013-03-25 2019-06-11 Sita Information Networking Computing Ireland Limited In-flight computing device for aircraft cabin crew
GB2515142B (en) 2013-06-14 2020-12-16 Sita Information Networking Computing Ireland Ltd Portable user control system and method therefor
GB2523441A (en) 2014-02-19 2015-08-26 Sita Information Networking Computing Ireland Ltd Reservation system and method therefor
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position
EP3336717A1 (en) 2016-12-14 2018-06-20 Huawei Technologies Co., Ltd. System, device and method for data update notification

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6083282A (en) * 1994-10-21 2000-07-04 Microsoft Corporation Cross-project namespace compiler and method
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US6714926B1 (en) * 1999-02-02 2004-03-30 Amazon.Com, Inc. Use of browser cookies to store structured data
US7409546B2 (en) * 1999-10-20 2008-08-05 Tivo Inc. Cryptographically signed filesystem
US8943527B2 (en) * 1999-03-30 2015-01-27 Tivo Inc. Audience measurement system
US20020118954A1 (en) * 2001-12-07 2002-08-29 Barton James M. Data storage management and scheduling system
US6941459B1 (en) * 1999-10-21 2005-09-06 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a key recovery agent
US7882520B2 (en) * 2000-12-20 2011-02-01 Tivo Inc. Broadcast program recording overrun and underrun scheduling system
US7716163B2 (en) * 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
CA2409920C (en) * 2000-06-22 2013-05-14 Microsoft Corporation Distributed computing services platform
US6795825B2 (en) * 2000-09-12 2004-09-21 Naphtali David Rishe Database querying system and method
US20020083438A1 (en) * 2000-10-26 2002-06-27 So Nicol Chung Pang System for securely delivering encrypted content on demand with access contrl
US7080397B2 (en) * 2000-10-26 2006-07-18 General Instrument Corporation Communication protocol for content on demand system with callback time
US7171475B2 (en) * 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US20060020602A9 (en) * 2000-12-07 2006-01-26 Oliver Morgan Maintaining interoperability of systems that use different metadata schemas
US20030193994A1 (en) * 2001-03-21 2003-10-16 Patrick Stickler Method of managing media components
US6904454B2 (en) * 2001-03-21 2005-06-07 Nokia Corporation Method and apparatus for content repository with versioning and data modeling
US6725231B2 (en) * 2001-03-27 2004-04-20 Koninklijke Philips Electronics N.V. DICOM XML DTD/schema generator
KR100595066B1 (en) * 2001-07-20 2006-06-30 엘지전자 주식회사 Digital item generating method
AU2002334721B2 (en) * 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US7337402B2 (en) * 2001-11-09 2008-02-26 Microsoft Corporation Tunable information presentation appliance using an extensible markup language
US20040064826A1 (en) * 2002-09-30 2004-04-01 Timothy Lim Method and system for object system interoperability

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004040441A2 *

Also Published As

Publication number Publication date
WO2004040441A2 (en) 2004-05-13
WO2004040441A3 (en) 2005-04-07
DE10250641A1 (en) 2004-05-13
US20060004781A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
DE69229453T2 (en) Method and arrangement for accessing a relational database without having to leave an object-oriented environment
EP1559031A2 (en) Upward and downward compatible schema evolution
DE3587501T2 (en) Device, method and structure for converting a document of one structure into a document of another structure.
EP1522028B9 (en) Method and devices for encoding/decoding structured documents, especially xml documents
DE69530595T2 (en) SYSTEM AND METHOD FOR THE X.500 DATABASE STANDARD
DE69724356T2 (en) Method and apparatus for displaying information related to each of several hyperlinks
DE10135445B4 (en) Integrated procedure for creating an updatable network query
DE3856404T2 (en) Data management system
EP2197213B1 (en) Method for improving the functionality of the binary representation of MPEG-7 and other XML-based content descriptions
DE19627472A1 (en) Database system
DE102005028675A1 (en) Update and transformation system for structured data
WO2006005646A1 (en) Method for encoding an xml document, decoding method, encoding and decoding method, coding device, and encoding and decoding device
EP0856176A1 (en) Database management system and data transmission process
DE102019209314A1 (en) Method and processor device for changing a data format of communication data of a device communication and motor vehicle
EP3411803B1 (en) Device and method for processing a binary-coded structure document
EP1030254A1 (en) Method and system to manage documents
DE4308291C2 (en) Method and device for process-related creation and processing of documents
EP1869548A2 (en) Synchronisation of data
DE10047338C2 (en) Method for data compression of structured documents and arrangement for carrying out the method
DE3588007T2 (en) MANAGEMENT SYSTEM FOR RELATIONAL DATABASE.
WO2004040469A1 (en) Management of data described with an extensible markup language
EP2149844B1 (en) Method and computer program for automatically entering data from a database system into a file structure
EP0519096A1 (en) Knowledge based diagnostic system with graphical knowledge-acquisition element
DE3319211A1 (en) ONLINE DOCUMENTATION PROCEDURE AND SETUP
DE10109876B4 (en) Method and device for data management

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050426

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170503