Die folgenden Ausarbeitungen wurden im Rahmen des Proseminars "Auszeichnungssprachen" erstellt.
Mit diesem Proseminar werden zwei Ziele verfolgt. Zum einen sollen Auszeichnungssprachen wie SGML und XML mit ihren Anwendungen für eLearning, Autorenumbegungen von im Internet publizierten Büchern und Wissenmanagment vermittelt werden. Zum anderen soll aber auch gezeigt werden, wie man sich in kurzer Zeit einen Überblick über ein neues Gebiet verschafft. Angesichts der Flut von Veröffentlichungen sehr unterschiedlicher Qualität fällt es oft sehr schwer, sich selbstständig in ein Thema einzuarbeiten. Es gibt daher Techniken, relevanten Zeitschriften und Konferenzen zu finden und die Struktur des Gebietes zu erfassen. Diese Techniken werden im Seminar eingeführt und geübt.
Ein Datawarehousesystem sammelt Daten aus verschiedenen heterogenen Datenbanken und vereint sie in einem integrierten Datenbankschema um homogene Abfragen über den gesamten Datenbestand zu ermöglichen. Diese sollen eine effiziente, zielgerichtete Analyse ermöglichen. Daraus folgen verschiedene Anforderungen [2]:
Die Struktur muß alle möglichen Analysemethoden effizient unterstützen
Die Daten müssen einen Zeitraumbezug aufweisen, da sie für effiziente Analysen bis zu zehn Jahre gespeichert werden müssen.
Struktur- und Formatvereinheitlichung um Konsistenz über langen Zeitraum zu sichern
Nicht-Voltialität, also nicht-Flüchtigkeit, der Daten um korrekte Analysen sicherzustellen. Eine Veränderung der Daten nach einer Übernahme sollte also unterbunden sein, ausser eventuellen Korrekturen bei der Übernahme.
Um eine Ahnung davon zu vermitteln, welche Bedeutung der Datenaustausch und die Integration für unser alltägliches Leben bereits gewonnen hat, greifen wir die Thematik aus [1] auf: Datawarehousing als Instrument für effiziente Werbung.
Kunden- und speziell Rabattkarten ermöglichen es den Firmen heute, die Einkäufe eines Kunden nachzuvollziehen und mit Personenbezug zu speichern. Spezielle Firmen sammeln diese personalisierten Daten von den teilnehmenden Geschäften, um sie diesen später wieder für Werbezwecke akkumuliert zur Verfügung zu stellen. Aus dieser Aufgabe des Datensammelns und -verarbeitens folgt die Definition von Datawarehousing:
Ein Datawarehousesystem sammelt Daten aus verschiedenen heterogenen Datenbanken und vereint sie in einem integrierten Datenbankschema um homogene Abfragen über den gesamten Datenbestand zu ermöglichen. Diese sollen eine effiziente, zielgerichtete Analyse ermöglichen. Daraus folgen verschiedene Anforderungen [2]:
Die Struktur muß alle möglichen Analysemethoden effizient unterstützen
Die Daten müssen einen Zeitraumbezug aufweisen, da sie für effiziente Analysen bis zu zehn Jahre gespeichert werden müssen.
Struktur- und Formatvereinheitlichung um Konsistenz über langen Zeitraum zu sichern
Nicht-Voltialität, also nicht-Flüchtigkeit, der Daten um korrekte Analysen sicherzustellen. Eine Veränderung der Daten nach einer Übernahme sollte also unterbunden sein, ausser eventuellen Korrekturen bei der Übernahme.
Das heißt auf unser konkretes Beispiel bezogen, daß Geschäft X andere Daten über seine Kunden erfasst als Geschäft Y, vielleicht nur die EAN Kennungen und Preis der erworbenen Güter, statt wie Geschäft Y noch weitere Attribute wie Marke und Produktname zu speichern. Zusätzlich können die verwendeten Datenmodelle unterschiedlich sein, zum Beispiel objektorientiert oder relational. Um nun das Ziel der effizienten Analyse von potentiellen Kunden zu erreichen, muß die Datensammelstelle zuerst eine globale Datenstruktur, ein globales Schema definieren in dem alle relevanten Daten gespeichert werden können. Danach kann der Import gestartet werden und so die heterogenen Daten in ein globales Schema integriert werden. Auf der so enstandenen homogenen Datenbank läßt sich nun leicht herausfinden, welchen Personen man am besten Werbung für ein Produkt X schickt, da sie bereits Produkt Y oder Z gekauft haben und viele Y- und Z-Käufer auch X gekauft haben.
Thema dieser Arbeit wird die Datenintegration, vor allem das Finden eines passenden globalen Schemas, sein. Die restlichen Anforderungen an ein Datawarehousing System würden sowohl den Rahmen sprengen, als auch abseits des Oberthemas XML liegen.
Ziel der Datenintegration ist es, die Daten verschiedener Systeme in eine homogene Struktur zu bringen und zu vereinigen.
Bei dem Prozess der Datenintegration wird häufig von der 5-Ebenen-Schema-Architektur Gebrauch gemacht um zwei Datenbanken in einem gemeinsamen Schema zu vereinigen [3]. Im Folgenden werden die einzelnen Schritte genauer erklärt:
Abbildung 1.1 Diagramm der 5-Ebenen Architektur |
Das lokale Schema beschreibt die konzeptionelle Datenstruktur der lokalen Datenbanken unabhängig von der internen Verwaltung der Datenbank.
Die Transformation zum Komponentenschema beseitigt die Heterogenität, indem die lokalen Schemata in ein vorher festgelegtes globales Datenmodell transformiert werden.
Das Exportschema filtert diejenigen Daten heraus, die der globalen Anwendung nicht zur Verfügung gestellt werden sollen.
Für das föderierte Schema wird das vorher durch Schemaintegration gewonnene globale Datenmodell genutzt. Hier werden alle Exportschemata vereinigt, was zu Konflikten führen kann.
Das externe Schema versorgt Anwendungen mit einer speziell angepaßt Datenstruktur, die vom föderierten Schema abgeleitet wird. So können Daten anders strukturiert oder auch schlicht weggelassen werden, falls sie bei einer Anwendung unwichtig sind.
Offensichtlich können dabei einzelne Schritte komplett wegfallen oder können in einem Schritt vereint werden. So läßt sich die Funktionalität des Exportschemas bereits im Komponentenschema integrieren oder das lokale Schema entspricht dem föderierten Schema, was das Komponenten- und Exportschema überflüssig machen würde.
Wie bereits erwähnt kann es bei der Intergration zu Konflikten kommen, man unterscheidet vier Arten von Konflikten [3]:
Extensionale Konflikte. Zu Extensionalen Konflikten kann es kommen, wenn zwei äquivalente Klassen von unterschiedlichen Datenbanken verschiedene Ausschnitte der Realität beschreiben. So kann es zum Beispiel vorkommen, daß sich alle Angaben auf dieselben Objekte beziehen, aber auch, daß sich die Menge der Objekte nur überlappt, die eine Datenbank nur eine Untermenge der Objekte der anderen Datenbank beschreibt, oder daß die Mengen der Objekte vollständig disjunkt sind.
Heterogenitätskonflikte. Die verschiedenen Datenbanken können mit unterschiedlichem Datenmodell arbeiten, zum Beispiel einem relationalen oder objektorientierten. Bei der Umwandlung dieser Modelle in das einheitliche föderierte Schema müssen semantische Verluste vermieden werden, eventuell muß auch eine semantische Anreicherung realisiert werden.
Beschreibungskonflikte. Wenn wir zwei äquivalente Objektklassen gefunden haben, können sie unterschiedlich beschrieben werden:
Die Objekte können mit unterschiedlichen Attributen versehen sein. Für die eine Anwendung mag es sinnvoll gewesen zu sein, sich die Größe zu merken, für die andere vielleicht das Alter.
Es können dieselben Angaben in unterschiedlichen Attributen gespeichert werden.
Es kann ebenso zu Wertebreichskonflikten kommen, wie zu Skalierungskonflikten.
Es können unterschiedliche Genauigkeiten verwendet werden.
Daten können ungenau sein, wodurch es zu Vagheitskonflikten kommen kann.
Strukturelle Konflikte. Innerhalb von Datenmodellen gibt es oft die Möglichkeit Sachverhalte verschieden zu Modellieren, die sich aber trotzdem semantisch äquivalent sind.
Datenkonflikte. Durch unterschiedliche Konventionen bei der Angabe von Daten, können sich semantisch äquivalente Ausdrücke unterscheiden. Darunter fallen zum Beispiel Namensangaben ("Michael Müller" <> "Müller, Michael"), aber auch einfache Tippfehler.
Betrachtet man das oben beschrieben allgemeine Model, so drängt sich schnell der Gedanke auf, daß XML das Mittel der Wahl ist, um die Daten über die verschiedenen Ebenen zu transportieren. Dabei müssen wir gewisse Anforderungen an Schemaintegration stellen[4]:
Einfache Skallierbarkeit und Erweiterbarkeit. Das hinzufügen von weiteren Quellen und die Veränderung des globalen Schemas sollte keine Probleme bereiten.
Vollständigkeit. In einem globalen Schema sollten alle Daten aus den einzelnen Quellen vorhanden sein.
Minimalität. In einem globalen Schema sollte für alle zueinander äquivalenten Element nur ein Element definiert sein.
Verständlichkeit. XML typisch ist hier die Anforderung, daß das entstehende globale Scheme für Menschen gut lesbar ist. Daraus folgt, daß die Definition des globalen Schemas in einer referenzierten Datei erfolgen sollte und nicht über inline Definitionen.
Eine Methode die diese Anforderungen erfüllt ist in [4] beschrieben. Sie setzt sich aus drei Schritten zusammen, dem Präintegrationsschritt, dem Vergleichsschritt und letzlich dem Vereinigungsschritt. Im Präintegrationsschritt werden aus den beteiligten Schemata die Element-, Attribut-, und Datentyp Definitionen ausgelesen, analysiert und in XSDM Notation konvertiert. Im Vergleichsschritt werden sowohl die Übereinstimmungen als auch Konflikte der Elemente gesucht und falls nötig beseitigt. Der Vereinigungsschritt führt letztlich zur Vereinigung der Schemata zu einem globalen Schema. Dieses noch in XSDM Notation gebildete Schema wird am Schluß in ein XML Schema umgewandelt.
Ordent man diese Funktionalität in die oben beschriebene 5-Ebene-Architektur ein, so stellt man fest, daß sich der schwierige Schritt vom lokalen Schema zum Komponentenschema damit bewerkstelligen läßt, da sowohl das nötige globale Schema generiert wird, als auch die Daten dorthinein überführt werden. Es erscheint hierbei sinnvoll, die Reihenfolge der einzelnen Schritte umzusortieren und so das Exportschema vor dem Komponentenschema zu bilden. Wir haben also eine konkrete Implementierung für unser allgemeines Modell gefunden.
Um die späteren Operationen auf der Datenstruktur zu ermöglichen, verwandeln wir die flachen XML Schemata in ein objektorientiertes Model, das sich später wieder in eine XML Schema Datei zurücktransformieren läßt[4]. Dazu dienen uns fünf verschiedene Klassen von Objekten: Node, Child, Datatype und Attribute Objekte. Alle diese Klassen haben Unterstrukturen, die die Objekte weiter beschreiben. So besitzt zum Beispiel das Node Objekt eine Liste über alle Child Objekte. Generell werden so alle möglichen Eingenschaften aus dem Schema in diese Objektstruktur gebracht. Diese Objektstruktur läßt sich als gerichteter Graph darstellen. Dafür wird in [4] folgende Notation vorgeschlagen:
Jedes Objekt wird mit einem Rechteck dargestellt, in dem zwei Linien oben und unten zwei kleinere Rechtecke abtrennen. Der Name eines Node bzw. Child Objektes, entsprechen den Elementnamen im XML Schema, wird in dem obersten Rechteck eingeschlossen. Drumherum angeordnet, in den Ecken des Rechtecks, werden links oben beginnend, im Uhrzeigersinn vorangehend folgende Angaben notiert: Der Namespace des Elementes, die maximale Kardinalität, die minimale Kardinalität und eine eindeutige Nummer. Kardinalitäten sind dabei natürlich nur bei Child Objekten möglich, eine unbegrenzte Häufigkeit wird durch das Unendlichkeitssymbol dargestellt.
Im mittleren Viereck werden die Attribute des Elements mit ihren Datentypen notiert.
Im unteren Viereck wird die Struktur angegeben:
Symbol |
Bedeutung |
T |
Es handelt sich um ein Terminal Objekt mit Daten |
E |
Es handelt sich um ein leeres Terminal Objekt |
S |
Das Objekt ist vom Typ Sequence |
C |
Das Objekt ist vom Typ Choice |
A |
Das Objekt ist vom Typ All |
N |
Das Objekt ist vom Typ Any |
ein angehängtes -m |
Das Element kann mit mixed Content gefüllt werden |
Dabei werden den Datentypen entsprechend die eindeutigen Nummern der assoziierten Objekte in Klammern hinter dem Datentyp notiert. So stellt sich ein Element vom XML Datentyp Choice zum Beispiel so dar: C { 3, 7} mit 3 und 7 als IDs der referenzierten Elemente. In der graphischen Darstellung werden Kindobjekte mit Linien an ihre Eltern gebunden. Hierzu ein Beispiel aus [4]:
Abbildung 1.2 |
Nachdem im Präintegrationsschritt das XSDM gebildet wurde, werden im zweiten Schritt die Elemente auf Übereinstimmungen und Konflikte untersucht. Dabei können sechs Typen von semantischen Verhältnissen gefunden werden:
Bezeichnung |
Verhältnis |
identical |
Elemente mit gleichem Namespace und gleichem Namen |
equal |
Elemente mit gleichen Namen aber unterschiedlichen Namespaces |
equivalent |
Elemente mit unterschiedlichem Namen aber gleicher Definition |
subset |
Elemente mit gleichem Namen aber unterschiedlichen Namespaces und die Kinder des einen Elements müssen in einer Child Group des anderen Elementes stehen, daß vom Typ All oder Choice ist |
unique |
Elemente die eindeutige Namen haben und deren Definition zu keiner anderen äquivalent ist |
incompatible |
Elemente mit gleichem Namen aber unterschiedlichen Namespaces und einer Definition, die verhindert, daß sie unter subset fallen. |
Aus dieser Klassifikation der Elemente kann nun auf paarweise Konflikte geschlossen werden. Diese können je nach Typ des Elements und je nach semantischem Verhältnis unterteilt werden:
Bezeichnung |
Beschreibung |
Namenskonflikte - synonyme Namen |
Diese Art von Konflikt kann bei Elementen auftreten, die semantisch äquivalent sind, also unterschiedliche Namen bei gleichen Definitionen haben. Bei Nicht-Terminalen Elementen kann der Konflikt durch eine Substituion Group gelöst werden. Bei Terminalen Elementen ist menschliches Eingreife nötig um den Konflikt zu lösen, da in diesem Fall die semantischen Informationen für eine Automatisierung nicht ausreicht. |
Namenskonflikte - homonyme Namen |
Diese Art von Konflikten tritt bei Nicht-Terminalen Elementen auf, die der subset oder incompatible Beziehung gerecht werden. Sie können durch die Benutzung der Choice und All Eigenschaften im globalen Schema gelöst werden. Bei Terminalen Elementen unterscheiden sich die Definitionen der Datentypen und der Konflikt wir so zu einem Datenproblem. |
Datenkonflikte |
Bei Terminalen Elementen, dessen Namen übereinstimmen, deren Datentypen sich aber unterscheiden, muss eine Umwandlung der Datentypen durchgeführt werden. Auch kann es zu Skalenunterschieden kommen, die ausgeglichen werden müssen. |
Strukturkonflikte |
Sind zwei gleiche Elemente einmal als Terminal und einmal als Nicht-Terminal definiert, so wird das resultierende Element im globalen Schema als Nicht-Terminal mit mixed contend mit dem Datentyp des ursprünglichen Terminalelements und optional mit den Kindern des ursprünglichen Nicht-Terminal. |
Nun beginnt der Integrationsschritt, in dem die beiden in XSDM Notation als Bäume dargestellten Schemata vereinigt werden. Werden Elemente zu einem verschmolzen, werden alle Attribute aller dieser Elemente übernommen, als Datentyp wird das niedrigste gemeinsame Niveau gewählt. Hierbei kann es zu Datenkonflikten, vor allem Skalenkonflikten führen, die manuell gelöst werden müssen. Im einfachsten Fall der Intergration von nur zwei Terminalen Elementen müssen neben der Integration der Attribute noch folgenden Regeln beachtet werden:
1) Zwei namensgleiche Elemente X und Y aus verschiedenen Schemen sollen vereinigt werden, wobei X als Empty definiert und Y ein terminales Element ist. Als Datentyp des resultierenden Elementes wird der von Y übernommen. Die Attribute beider Elemente werden als optional übernommen um auch nach den alten Schemata valide Dokumente zu erzeugen.
2) Zwei namensgleiche Terminale X und Y aus verschiedenen Schemen sollen vereinigt werden, wobei X als Any definiert ist. Das entstehende Terminal wird dann als Any definiert.
3) Werden zwei Terminale vereinigt, von denen keines Empty oder Any ist, kann es zu Datenkonflikten kommen, die durch Skalenanpassung oder Datentypumwandlung gelöst werden müssen.
Bei der Vereinigung von zwei nichtterminalen Objekten A und B müssen wir die Datentypen korrekt kombinieren, damit das entstehende globale Schema für die lokalen Schemata valide bleibt.
Typ von Element A |
Typ von Element B |
Typ im globalen Schema |
sequence1 |
sequence2 |
choice(sequence1, sequence2) |
sequence1 |
choice2 |
choice(sequence1, choice2) |
sequence1 |
all2 |
choice(sequence1, all2) |
choice1 |
choice2 |
choice(choice1 u choice2) |
choice1 |
all2 |
choice(choice1, all2) |
all1 |
all2 |
all (all1 u all2) |
sequence1 |
choice2(...,sequence1,...) |
choice2(...,sequence1,...) |
all1 |
choice2(...,all1,...) |
choice2(...,all1,...) |
sequence*1 |
all2 |
all(all2 u sequence*1) |
nicht Any, nicht Empty |
Empty |
Definition von A eingekapsel in placeholder childgroup => entweder leer oder die Eigenschaften von A |
nicht Empty |
Any |
Any |
Any |
Empty |
Any |
Um diese Integration zu verdeutlichen, werden wir sie an einer kleinen Datenstruktur durchführen. Seien A und B zwei Elternelemente, die zueinander in der incompatible Beziehung stehen. A und B sollen gemäß der incompatible Beziehung miteinander zu C verschmolzen werden. Zu beachten sind dabei die Datentypen der Elternelemente, da aus ihnen der Datentyp von C bestimmt wird. Seien hier A und B vom Typ Sequence, dann wird C vom Typ Choice über die Sequences von A und B. Element A habe nun n Kinder, Element B m. Davon sind jeweils einige unique, weshalb sie im integrierten Schema als Kinder auftauchen müssen. Sie bleiben also in den Sequences erhalten. Finden sich jedoch Elemente, die miteinander verschmolzen werden können, wird in beiden Sequencen auf das verschmolzene Element verwiesen. Diese Prozedur wird über die Kinder weitergeführt, bis ein minimales globales Schema berechnet wurde.
Wir haben gesehen, daß die XML Schema Integration ein wirkungsvolles Werkzeug ist, um bekannte Schemata effizient zu verschmelzen. Probleme kann es noch immer geben, wenn die Semantik der einzelnen Elemente unklar ist, dann ist menschliches Eingreifen unumgänglich. Kommen aber die Daten wie in unserem anfangs angeführten Beispiel aus einem bestimmten, relativ engen Bereich, so sind semantische Überschneidungen zumindest unwahrscheinlich, so daß diese Methode ihr Ziel erfüllt.
Im Abschnitt über die Definitionen von XML Schemen dienen dieser Ausarbeitung als Grundlage. Ohne das Schemamodell wäre die hier benutzte semantische Unterscheidung über Datentypen nicht möglich, da in DTDs die Definition von Datentypen noch unmöglich war. Diese Anreicherung der Elemente in ihrer Semantik macht sich die XML Schema Integration zu Nutze um in verschiedenen Schemen bedeutungsäquivalente Elemente zu finden und zu vereinigen. Der Vereinigungsschritt wäre ohne die restriktiven Datentypen der XML Schemen und ohne die Substitution Group ebenfalls nicht möglich.
In diesem Abschnitt wurde die XML Adressierungssprache X-Path besprochen. Diese spielte bei der Implementierung einer jeden mit XML arbeitenden Methode eine wichtige Rolle um Informationen aus der XML Datei zu extrahieren. So sicherlich auch in der konkreten Implementierung der XML Schema Integration. Da in dieser Ausarbeitung auf die Implementation aber nicht weiter eingegangen werden soll, gibt es hier keine größeren Überschneidungen.
Hier wurden verschiedene Werkzeuge zur Definition von Schemen, Eingabe und Verarbeitung von Daten im XML Format vorgestellt. Diese stellen die Grundlage der Arbeit mit XML dar und es wäre denkbar, daß hochentwickelte Editoren eine Option zur Schema Integration mehrere Schemen besitzen, die sich hinterher bearbeiten ließen.
Hier wurden einige untereinander inkompatibele XML Formate für Multimedia Dateien vorgestellt. Da auf absehbarer Zeit diese verschiedenen Formate nebeneinander existieren, wäre es eventuell ein gangbarer Weg, mittels der Schema Integration ein globales Schema aller zweckähnlichen Formate zu generieren und Programme zu schreiben, die über dieses globale Schema auf die Daten der verschiedenen Formate zugreifen können. Da das globale Schema mit Dateien aller Formate valide wäre, könnte die Software mit allen Formaten umgehen.
In diesem Abschnitt wurden verschiedene XML Dialekte vorgestellt, die speziell auf die Darstellung von Daten auf ressourcenknappen Endgeräten abzielten. Hier gibt es einige grundsätzliche Unterschiede in der Technik, so daß sich hier ein Einsatz von Schema Integration zur Verschmelzung der unterschiedlichen Standards verbietet. Desweiteren sind die Dialekte nicht umsonst auf die Ressourcenknappheit von Handys getrimmt und dieser Vorteil ginge mit einer Software, die über ein globales Schema zugreift, verloren.
Dublin-Core ist ein Versuch, sich auf ein bestimmtes XML Format zur Beschreibung von Objekten zu verständigen. Setzte sich ein solches einheitliches Format auf breiter Front durch, machte es die Schema Integration in dem von ihm abgedeckten Bereich überflüssig. Sobald jeder das gleiche Schema verwendet, sind der Austauschbarkeit schließlich keine Grenzen mehr gesetzt.
In diesem Vortrag haben wir gelernt, daß Onotologien Daten mit zusätzlicher Semantik bereichern können. Diese Bereicherung könnte man nun heranziehen um die Schemaintegration weiter zu automatisieren, da der Inhalt von Tags auf ihre Bedeutung schließen lassen. Und so zumindest sinnvolle Vorschläge unterbreitet werden können, was diese Tags bedeuten können. Benutzt man Ontologien als Tagnamen selber, gibt es über die Semantik der Tags keine Frage mehr und die Integration könnte weitgehend selbstständig ablaufen ohne semantische Unklarheiten.
Es wurde hier erläutert, daß Suchmaschinen entwickelt werden, die nur spezielle Wissensbereiche abdecken, diese aber dafür zuverlässiger durchsuchen. So sollen sie XML Dokumente durchsuchen und ihre Struktur interpretieren um den Text mit Semantik zu versehen. So ließen sich abseits von einfacher Stringsuche effiziente Suchen realisieren. Schema Integration wird in diesem Zusammenhang aber nicht zum Einsatz kommen, da die Daten nicht zusammengeführt, sondern nur indiziert und für die Suche aufbereitet werden. Schlussendlich macht es auch wenig sinn, alle XML Formate zusammenzuführen...
Hier wurden XML 'Standards' für die verschiedensten Geschäftsabwicklungen vorgestellt. Diese Standards unterscheiden sich allerdings, was ihre Nützlichkeit als Standard einschränkt. Eventuell können einzelne Unternehmen, die Aufträge in einem bestimmten Format bekommen, aber ihre eigene Datenbank in einem anderen Format betreiben, das Probblem über Schemaintegration lösen, in den meisten Fällen wird aber ein einfaches Feld zu Feld mapping ausreichen, da sich die Kataloge und Bestellformate in ihren Grundlagen nicht sonderlich unterscheiden.eee
Hier wurden die Möglichkeiten zur Beschreibung von Unterrichtsinhalten vorgestellt, um sie zu strukturieren und den Zusammenhang zwischen den Lehrinhalten herzustellen. Hier haben sich scheinbar bereits feste Standards etabliert, sodaß Schema Integration keine Relevanz für dieses Thema hat.
In diesem Beitrag wurde uns der Weg einer Meldung vom Journalisten bis zur abgedruckten Version anhand der dafür zuständigen XML Formate veranschaulicht. Hier exisiteren mehrere Formate, die von konkurrierenden Nachrichtenagenturen verwendet werden. Eine Zeitung, die nun von beiden Agenturen Nachrichten kauft, ist wiederum auf eine Datenintegration von beiden Formaten in ihre eigene Datenbank angewiesen. Hier bietet sich wiederum die Schema Integration als Lösungsansatz an.