DE10054280A1 - Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten - Google Patents

Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten

Info

Publication number
DE10054280A1
DE10054280A1 DE10054280A DE10054280A DE10054280A1 DE 10054280 A1 DE10054280 A1 DE 10054280A1 DE 10054280 A DE10054280 A DE 10054280A DE 10054280 A DE10054280 A DE 10054280A DE 10054280 A1 DE10054280 A1 DE 10054280A1
Authority
DE
Germany
Prior art keywords
data
elements
entered
pointer
cell
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
DE10054280A
Other languages
English (en)
Inventor
Hans Weber
Nicola Leonetti
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.)
GSDC GLOBAL SOLUTIONS FOR DOCU
Original Assignee
GSDC GLOBAL SOLUTIONS FOR DOCU
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 GSDC GLOBAL SOLUTIONS FOR DOCU filed Critical GSDC GLOBAL SOLUTIONS FOR DOCU
Priority to DE10054280A priority Critical patent/DE10054280A1/de
Publication of DE10054280A1 publication Critical patent/DE10054280A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Abstract

Die Erfindung betrifft ein Verfahren, ein Computersystem, ein Computerprogrammprodukt und einen Internetserver zum Verarbeiten von Daten, die mehrere systematisch angeordnete Datenelemente umfassen, zur Umwandlung in Daten, die in einem vollstrukturierten Datenformat vorliegen. Hierbei wird eine dem vollstrukturierten Datenformat entsprechende Datenstrukturierungsschablone erstellt, welche Strukturbeschreibungselemente umfaßt, die an die Datenstruktur der systematisch angeordneten Datenelemente der zu verarbeitenden Daten angepaßt werden. Anschließend wird diese Datenstrukturierungsschablone an den zu verarbeitenden Daten angewandt, indem mittels der Strukturbeschreibungselemente die erforderliche Datenstruktur des vollstrukturierten Datenformats erzeugt wird, und die Datenelemente der zu verarbeitenden Daten in der erzeugten Datenstruktur als vollstrukturierte Daten ausgegeben werden.

Description

Die Erfindung betrifft im allgemeinen das Gebiet der Da­ tenverarbeitung, und insbesondere die Umwandlung von Da­ ten, die systematisch angeordnete Datenelemente umfassen, in Daten, die in einem voll strukturierten Datenformat vorliegen.
Es werden heutzutage eine Vielzahl unterschiedlichster Anwendungsprogramme benutzt, mit denen Daten erzeugt wer­ den. Häufig besteht der Wunsch, die von einem bestimmten Anwendungsprogramm erzeugten Daten in ein anderes Anwen­ dungsprogramm exportieren zu können, wobei keine Informa­ tion über die Struktur der Daten verlorengehen sollte. So besteht im Zuge der rasant steigenden Nutzung des Inter­ nets als das von der Allgemeinheit am meisten genutzte Computer-Netzwerk der Bedarf, Daten, die beispielsweise firmenintern von einem bestimmten Anwendungsprogramm er­ stellt worden sind, ohne großen Aufwand in das Internet stellen zu können.
Das Internet ist kein einzelnes Netzwerk, sondern umfaßt eine weltweite und laufend wachsende Ansammlung von Com­ putern und Computernetzwerken, die über standardisierte Arbeitsweisen und Protokolle miteinander kommunizieren können. Ein Standardisierungsmittel, das einen speziellen Standard für den Austausch von Daten beispielsweise über das Internet festlegt, ist die international standardisierte XML (Extended Markup Language). Die XML beschreibt eine Klasse von Datenobjekten, die XML-Dokumente genannt werden, und beschreibt weiterhin teilweise das Verhalten von Computer-Programmen, die solche Dokumente verarbei­ ten. Die von XML gebildeten Dokumente sind aus Speiche­ rungseinheiten aufgebaut, auch Entities genannt, die u. a. analysierte (parsed) Daten enthalten. Analysierte Daten bestehen aus Datenelementen, welche einerseits die den eigentlichen Dateninhalt betreffende Datenelemente und andererseits Strukturelemente (Markup) umfassen. Die Strukturelemente stellen zusammen eine Beschreibung der Aufteilung auf die Speicherungseinheiten und der logi­ schen Struktur des Dokumentes. XML bietet dabei einen Me­ chanismus an, um Beschränkungen der Aufteilung und logi­ schen Struktur zu formulieren.
Allgemein, liefert ein vollstrukturiertes Datenformat In­ formation über die logische Struktur einer Datenansamm­ lung sowie die darin eingebetteten eigentlichen Datenin­ halte. Somit sind vollstrukturierte Daten also Daten, bei denen Inhaltsdaten und deren Strukturierung mit Hilfe von Strukturelementen angegeben wird. Solche Daten werden üb­ licherweise in zwei Schritten angelegt, indem zuerst die Datenstruktur beispielsweise in Form einer Baumstruktur erstellt wird und anschließend die Daten in die bestehen­ de Datenstruktur eingegeben werden, beispielsweise an den Knotenpunkten der Baumstruktur. Es gibt eine Vielzahl un­ terschiedlichster vollstrukturierter Datenformate, zu de­ nen beispielsweise auch relationale Datenbanken mit dem Datenbankschema als Datenstruktur und den eigentlichen Daten gezählt werden. Ferner stellen auch bestimmte hoch­ entwickelte Programmiersprachen, wie Pascal, Fortran, etc. ein solches vollstrukturiertes Datenformat bereit, indem nämlich durch die darin aufgeführten Routinen bzw. Module und Untermodule hochsystematische Baumstrukturen erstellt werden.
Auf der anderen Seite werden Daten häufig von bestimmten Anwendungsprogrammen, wie zum Beispiel Tabellenkalkulati­ onsprogrammen (Excel, etc.), in Tabellen systematisch an­ geordnet. Die spezielle systematische Anordnung bestimmt jedoch der Benutzer selbst, indem er seine Daten ganz in­ dividuell nach seiner Vorstellung in einer leeren Tabelle ordnet. Diese Strukturierung der Daten ist somit subjek­ tiv und für ein weiteres Anwendungsprogramm nicht weiter verarbeitbar festgelegt. Als Beispiel sei eine mit einem Tabellenkalkulationsprogramm erstellte Tabelle angeführt, die zwei Spalten und mehrere Zeilen pro Spalte aufweist. In der ersten Spalte sind beispielsweise lauter Pro­ duktnamen und in der zweiten Spalte, in den zugehörigen Zeilen, der entsprechende Produktpreis angeordnet. Die Tabelle enthält jedoch keine Strukturelemente, welche an­ zeigen, daß die erste Spalte einen Produktnamen kenn­ zeichnet und daß die zweite Spalte den zu jedem Pro­ duktnamen zugehörigen Produktpreis angibt.
Häufig werden solche Anwendungsprogramme dazu verwendet, firmenintern beispielsweise Datenblätter mit den ver­ schiedenen angebotenen Produkten und dem zugehörigen Pro­ duktpreis zu erstellen. Sollen diese Datenblätter an­ schließend als Katalog ins Internet gestellt werden, so tritt folgendes Problem auf: die von dem Benutzer den Da­ tenblättern aufgeprägte Struktur, die in keinen Struktu­ relementen oder ähnlichem Niederschlag findet, da die Da­ ten der Datenblätter lediglich in dem sozusagen unstruk­ turierten Datenformat vorliegen, muß in entsprechende vollstrukturierte Daten, wie das XML-Format, übertragen werden. Dies wird heutzutage mühsam von Hand erledigt, indem die Datenelemente der individuell angelegten Tabel­ len in eine entsprechende Struktur des vollstrukturierten Datenformats kopiert werden.
Der Erfindung liegt nunmehr die Aufgabe zugrunde, die Um­ wandlung von zu verarbeitenden Daten zu vereinfachen, die mehrere systematisch angeordnete Datenelemente umfassen, in Daten, die in einem vollstrukturierten Datenformat vorliegen.
Die Erfindung löst diese Aufgabe jeweils mit den Gegen­ ständen der Ansprüche 1, 33, 34 und 35. Bevorzugte Aus­ führungsformen der Erfindung sind in den Unteransprüchen beschrieben.
Danach ist ein Verfahren zum Verarbeiten von Daten ge­ schaffen, die mehrere systematisch angeordnete Datenele­ mente umfassen, zur Umwandlung in Daten, die in einem vollstrukturierten Datenformat vorliegen, bei welchem ei­ ne dem vollstrukturierten Datenformat entsprechende Da­ tenstrukturierungsschablone erstellt wird, welche Struk­ turbeschreibungselemente umfaßt, die an die Datenstruktur der systematisch angeordneten Datenelemente der zu verar­ beitenden Daten angepaßt werden, diese Datenstrukturie­ rungsschablone an den zu verarbeitenden Daten angewandt wird, indem mittels der Strukturbeschreibungselemente die erforderliche Datenstruktur des vollstrukturierten Daten­ formats erzeugt wird, und die Datenelemente der zu verar­ beitenden Daten in die erzeugte Datenstruktur als voll­ strukturierte Daten ausgegeben werden. Der Vorteil des erfindungsgemäßen Verfahrens liegt darin, daß solche Da­ tenstrukturierungsschablonen beispielsweise für eine be­ stimmte Dokumentdarstellung (z. B. eine Web-Seite im In­ ternet) lediglich einmal beispielsweise für eine bestimm­ te in einer speziellen Tabellenform vorliegenden Ansamm­ lung zu verarbeitender Daten erstellt werden muß, und an­ schließend die Datenstrukturierungsschablone für unter­ schiedliche Daten, die jedoch in einer ähnlichen Tabel­ lenform angeordnet sind, automatisch immer wieder ange­ wandt werden kann. Die Strukturbeschreibungselemente stellen dabei ein äußerst flexibles Werkzeug dar, mit dem verschiedenste Datenansammlungen, die zwar die gleiche inhärente Struktur aufweisen, jedoch dabei vom äußeren Erscheinungsbild völlig unterschiedlich systematisch an­ geordnet sind, mit einer einzigen Datenstrukturierungsschablone in ein strukturiertes Datenformat umgewandelt werden können. Vorteilhaft können dann die in dem voll­ strukturierten Datenformat vorliegenden Daten einfach in andere Datenformate umgewandelt werden, da es bereits viele Anwendungsprogramme gibt, welche in einem voll­ strukturierten Datenformat vorliegende Daten in ihr eige­ nes Datenformat umwandeln können. Bislang war lediglich die erstere Umwandlungsrichtung nur mit zeitaufwendigen, vollständig manuellen Umwandlungsprozeduren möglich. Die Erfindung schafft somit letztendlich ein leistungsfähiges Tool, Daten in verschiedensten Datenformaten über die Schnittstelle in Form eines vollstrukturierten Datenfor­ mats ineinander umzuwandeln.
Unter systematisch angeordneten Daten wird auch verstan­ den, daß die Daten in einer Datenansammlung beliebiger Form vorliegen, wobei bevorzugt ein System (Struktur) in der Anordnung der Datenelemente der Datenansammlung er­ kennbar ist. Im Extremfall kann die Datenansammlung auch überhaupt keine Struktur erkennen lassen. Vielmehr wird diesen Daten dann eine Struktur beispielsweise mittels einer vorgegebenen Struktur-Vorlage aufgeprägt (siehe un­ ten).
Bevorzugt sind die Datenelemente der zu verarbeitenden Daten in adressierbaren Datenzellen angeordnet, die be­ sonders bevorzugt tabellarisch angeordnet sind. Dies stellt jedoch lediglich eine spezielle Ausgangslage von systematisch angeordneten Daten dar, die sich jedoch be­ sonders für die Erstellung der Datenstrukturierungsscha­ blone bzw. der darin enthaltenen Strukturbeschreibungse­ lemente eignet.
Bevorzugt umfassen die Strukturbeschreibungselemente Zei­ gerelemente, die
  • - veranlassen, daß jeweils auf eine bestimmte Daten­ zelle gezeigt wird,
  • - bei denen die Adresse der aufgezeichneten Datenfälle direkt eingebbar ist,
  • - bei denen jeweils ein bestimmter Inhalt eingebbar ist, und die veranlassen, daß jeweils auch die Adresse einer Datenzelle mit diesem Inhalt gezeigt wird,
  • - bei denen für die einzelnen Adressen-Koordinaten, insbesondere die Spaltenadresse und die Reihenadres­ se, unterschiedliche Inhalte eingebbar sind,
  • - bei denen zusätzlich zum Inhalt noch ein Tabellenbe­ reich eingebbar ist, und die veranlassen, daß inner­ halb des Tabellenbereichs nach Datenzellen mit dem eingegebenen Inhalt gesucht wird,
  • - bei denen die Adresse der aufzuzeigenden Datenzellen bzw. der Tabellenbereich als absolute Adresse ein­ gebbar ist,
  • - bei denen die Adresse der aufzuzeigenden Datenzellen bzw. der Tabellenbereich relativ zu anderen Zeigere­ lementen eingebbar ist, und/oder
  • - bei denen zusätzlich ein Offset-Wert eingebbar ist, und die veranlassen, daß auch Datenquellen unter Be­ rücksichtigung des Offset-Wertes gezeigt wird.
Diese Zeigerelemente stellen ein besonders leicht intui­ tiv handzuhabendes Markierungsmittel dar, mit dem ein Be­ nutzer beispielsweise bestimmte Zellen in der Tabelle un­ abhängig von dem konkreten Aufbau der Tabelle markieren kann. Befindet sich beispielsweise in den verschiedenen Tabellen eines Tabellenkalkulationsprogramms immer eine Spalte mit Produktnamen, die immer mit einem bestimmten Produktnamen beginnt, die absolute Adressierung der Spal­ te in der Tabelle jedoch variiert, so kann der Benutzer einfach über ein solches Zeigerelement, welches nach dem Inhalt einer Zelle mit dem speziellen Produktnamen sucht, diese Spalte für alle Tabellen markieren. Ist dann bei­ spielsweise weiterhin bekannt, daß im Abstand von drei Spalten zu der Produktnamenspalte in allen Tabellen eine Produktpreisspalte angeordnet ist, so kann mit Hilfe eines Zeigerelementes, bei denen die Adresse der aufzuzei­ genden Datenzelle relativ zu dem auf die Produktnamen­ spalte zeigenden Zeigerelement eingebbar ist, für alle Tabellen diese Produktpreisspalte markiert werden. Insge­ samt steht mit der oben aufgezählten, jedoch nicht ab­ schließenden Auswahl an Zeigerelementen ein sehr mächti­ ges Werkzeug bereit, bestimmte Abschnitte von in Tabel­ lenform angeordneten Daten flexibel markieren zu können.
Bevorzugt umfassen die Strukturbeschreibungselemente wei­ terhin Schleifenbildungselemente,
  • - die veranlassen, daß iterativ Datenelemente der zu verabeitenden Daten von einer eingebbaren Startda­ tenzelle bis zu einer eingebbaren Enddatenzelle adressiert werden,
  • - bei denen die Start- und/oder Enddatenzellen als Zeigerelementen und/oder weitere Schleifenbildungse­ lementen eingebbar sind,
  • - die veranlassen, daß Datenelemente spaltenweise, reihenweise oder tabellenweise adressiert werden, und/oder
  • - bei denen wenigstens ein Offset-Wert eingebbar ist, und die veranlassen, daß iterativ Datenelemente von einer eingebbaren Startdatenzelle bis zu einer ein­ gebbaren Enddatenzelle unter Berücksichtigung des wenigstens einen Offset-Werts adressiert werden.
Mit diesen Schleifenbildungselementen kann nun äußerst flexibel auf eine genau festgelegte Abfolge von Datenzel­ len zugegriffen werden. In dem oben erwähnten Beispiel können mit einem Schleifenbildungselement, das veranlaßt, daß Datenelemente spaltenweise adressiert werden, und dessen Startdatenzelle mittels eines Zeigerelementes ein­ gebbar ist, das auf den ersten Produktnamen in der Pro­ duktnamen-Spalte zeigt, und dessen Enddatenzelle mittels eines Zeigerelementes eingebbar ist, das auf eine leere Zelle zeigt, sowie eines Offset-Wertes von einer Zelle zurück in der Spalte, die gesamte Spalte mit den Pro­ duktnamen adressiert werden.
Bevorzugt umfassen die Strukturbeschreibungselemente wei­ terhin Bedingungselemente, bei denen eine beliebige Be­ dingung eingebbar ist, und die veranlassen, daß ein logi­ scher Wert ausgegeben wird, dessen Wert davon abhängt, ob die Bedingung erfüllt ist oder nicht. Solche Bedingungen können beispielsweise ein Attribut (Datentyp, etc.) der Datenzelle sein. Besonders bevorzugt ist bei den Bedin­ gungselementen zusätzlich ein Tabellenbereich entweder direkt oder über Zeiger- und Schleifenbildungselemente eingebbar. Diese Bedingungselemente veranlassen dann, daß der eingegebene Tabellenbereich auf die eingegebene Be­ dingung hin untersucht wird.
Besonders bevorzugt ist für die Zeiger-, Schleifenbil­ dungs- und/oder Bedingungselementen jeweils ein Name ein­ gebbar, mit dem auf das jeweilige Zeiger-, Schleifenbil­ dungs- und/oder Bedingungselement zugegriffen werden kann. Somit lassen sich beispielsweise mehrere verschie­ dene Spalten in einer Tabelle, in der immer die Pro­ duktnamen aufgelistet sind, mit mehreren Schleifenbil­ dungselementen adressieren, indem diese nacheinander von entsprechenden Strukturbeschreibungselementen über ihren individuellen Namen aufgerufen werden.
Bevorzugt umfassen die Strukturbeschreibungselemente Schleifenbildungselemente, denen eine Bedingung und/oder der Name eines Bedingungselement eingebbar ist, und die veranlassen, daß iterativ lediglich die Datenzellen adressiert werden, welche die entsprechende Bedingung er­ füllen. Somit lassen sich auch komplexe Iterationen durchführen, da über die Bedingungselemente beliebige Funktionen eingeführt werden können.
Bevorzugt umfassen die Strukturbeschreibungselemente er­ ste Anweisungselemente, denen ein bestimmter Inhalt ein­ gebbar ist, und die veranlassen, daß ein Strukturelement mit dem eingegebenen Inhalt des vollstrukturierten Daten­ formats erzeugt wird. Diese Strukturbeschreibungselemente dienen also der Erzeugung der erforderlichen Datenstruk­ tur des vollstrukturierten Datenformats.
Bevorzugt umfassen die Strukturbeschreibungselemente fer­ ner zweite Anweisungselemente, denen ein bestimmter In­ halt eingebbar ist, und die veranlassen, daß bestimmte Datenelemente der zu verarbeitenden Daten in die Struktur des vollstrukturierten Datenformats eingebettet werden. Diese Strukturbeschreibungselemente dienen also der Aus­ gabe der Datenelemente in die Datenstruktur als voll­ strukturierte Daten.
Bevorzugt umfassen die Strukturbeschreibungselemente da­ bei erste und/oder zweite Anweisungselemente,
  • - bei denen der Inhalt mittels eines Zeigerelementes eingebbar ist,
  • - bei denen der Inhalt mittels Zeigerelementen eingge­ bar ist, wobei für jede Adressen-Koordinate, insbe­ sondere für die Spalten- und Reihenadresse, ein un­ terschiedliches Zeigerelement eingebbar ist, und/oder
  • - bei denen der Inhalt mittels eines Zeigerelementes und zusätzlich eines Offset-Wertes eingebbar ist.
Diese Strukturbeschreibungselemente stellen einfache Mit­ tel zur Erzeugung der Datenstruktur des vollstrukturier­ ten Datenformats dar.
Bevorzugt wird die Abfolge erster und zweiter Anweisung­ selemente und Schleifenbildungselemente in der Daten­ strukturierungsschablone anhand der Struktur des zu er­ zeugenden vollstrukturierten Datenformats eingegeben. Da­ bei wird ganz besonders bevorzugt die Abfolge automatisch aus einer als document type definition (DTD) vorliegenden Struktur des vollstrukturierten Datenformats erstellt.
Bevorzugt werden die Zeiger- und/oder Bedienungsanweisun­ gen manuell eingegeben. Ganz besonders bevorzugt werden dabei in einem ersten Schritt die Zeiger- und/oder Bedin­ gungsanweisungen und in einem zweiten Schritt die ersten und zweiten Anweisungselemente und Schleifenbildungsele­ mente eingegeben.
Die Zeigerelemente können alternativ auch bevorzugt auto­ matisch, insbesondere anhand statistischer Auswertungen einer Vielzahl zu verarbeitender Daten erstellt werden.
Die Daten in dem vollstrukturierten Datenformat können nun einerseits bevorzugt unmittelbar mit der Eingabe neu­ er Datenelemente der zu verarbeitenden Daten erzeugt wer­ den, oder aber erst nach Eingabe aller Datenelemente der zu verarbeitenden Daten.
Ganz besonders bevorzugt werden die Strukturbeschreibung­ selemente der Datenstrukturierungsschablone in Ausfüh­ rungsbefehle umgewandelt, welche von einer die Datenele­ mente der zu verarbeitenden Daten systematisch anordnen­ den Datenanordnungssprache verstanden wird. So können die Struktubeschreibungselemente beispielsweise in Macro- Befehlen der jeweiligen Datenanordnungssprache implemen­ tiert sein.
Zu den auf ein Computerprogramm-Produkt gerichteten Pa­ tentanspruch sei zusätzlich erwähnt, daß unter dem Be­ griff "Computerprogramm-Produkt" ein Computerprogramm oder ein Computerprogramm-Modul zu verstehen ist, welches durch Speicherung (zum Beispiel auf einem magnetischen Speichermedium oder in einem flüchtigen oder nicht­ flüchtigen Halbleiterspeicher eines Computers) oder durch Signale, die über ein Netzwerk, insbesondere das Inter­ net, versendet werden, verkörpert ist. Dabei braucht das Computerprogramm nicht in einer unmittelbar ausführbaren Form vorliegen, vielmehr kann es auch in einer für die Installation auf einem Benutzerhost oder einem Internetserver vorbereiteten Form vorliegen, wobei es selbstver­ ständlich gepackt, verschlüsselt, für eine etwaige Ver­ sendung über ein Netz in Pakete zerteilt und mit übertra­ gungsbezogenen Headern versehen sein kann, etc.
Die Erfindung sowie weitere Vorteile und Merkmale der Er­ findung werden nunmehr anhand bevorzugter Ausführungsbei­ spiele der Erfindung in bezug auf die beigefügte Zeich­ nung näher erläutert. In der Zeichnung zeigen:
Fig. 1 an einem speziellen Beispiel zu verarbei­ tende Daten, deren Datenelemente systema­ tisch in einer Tabellenform mit zwei Ta­ bellenseiten angeordnet sind;
Fig. 2 an dem speziellen Beispiel die den Daten der Fig. 1 implizit innewohnende Struktur anhand einer Baumstruktur;
Fig. 3 an dem speziellen Beispiel eine auf die Daten der Fig. 1 zugeschnittene Daten­ strukturierungsschablone mit den einzelnen Strukturbeschreibungselementen;
Fig. 4 an dem speziellen Beispiel die Daten der Fig. 1, nachdem sie in ein vollstruktu­ riertes Datenformat umgewandelt worden sind.
Nachfolgend wird in groben Zügen der Aufbau eines Compu­ tersystems beschrieben, daß für den Ablauf des Verfahrens herangezogen werden kann. In der Regel umfaßt ein solches Computersystem einen Computer mit einem Monitor, einer Eingabetastatur und einer Computermaus. Anstelle des Mo­ nitors können beliebige andere Anzeigemittel, wie bei­ spielsweise ein Projektor, verwendet werden. Anstelle der Computermaus können ebenfalls beliebige andere Cursorpo­ sitionierungsmittel, wie beispielsweise ein Track-Ball, ein Touch-Pad, ein Mouse-Stick, eine Touch-Screen oder Pfeiltasten einer Computertastatur verwendet werden.
Der Computer weist einen ersten Datenspeicher in Form ei­ nes Plattenspeichers auf, wie etwa einer Festplatte, CD oder Diskette, und einen zweiten Datenspeicher in Form eines Haupt- und/oder Arbeitsspeichers. Zwischen den Platten- und dem Arbeitsspeicher werden Daten übertragen. Die Übertragung erfolgt beispielsweise über übliche Schnittstellen und Bussysteme. Die Be- und/oder Verarbei­ tung von Daten erfolgt über eine CPU (Central Processing Unit).
Auf dem Plattenspeicher werden Daten gespeichert, auf die der Computer über entsprechende Kontrollmittel zugreifen kann. Der Computer kann weiterhin eine Netzwerkkarte um­ fassen, mit der er beispielsweise mit einem zweiten Com­ puter verbunden sein kann. Ferner kann der Computer ein sogenanntes Modem umfassen, mit dem er über das Telefon­ netz und seinem entsprechenden Provider mit dem Internet verbunden werden kann. Der Computer kann auch Teil einer direkten PC-Verbindung, weiterer Computer eines Computer- Clusters oder Server eines Netzwerks sein. Für die Über­ tragung zwischen den einzelnen Computern wird ein übli­ ches Protokoll angewandt, beispielsweise ein Basisproto­ koll für eine einfache physikalische Netzwerkverbindung, wie Ethernet oder Tokenring oder ein Internetprotokoll, wie ein TCP/IP (Transmission Control Protocol/Internet Protocol).
Vorab wird allgemein angemerkt, daß unter einer Tabelle in der Regel eine zweidimensionale Matrix von Zellen ver­ standen wird, wobei jede Dimension durch eine fortlaufen­ de Adresse gekennzeichnet ist. Für den Fall mehrerer Ta­ bellenseiten kann eine weitere Dimension hinzugekommen. Unter einer Zell-Adresse oder einer Zelle einer Tabelle wird ein Koordinatenpaar (X, Y) verstanden, mit dem die bestimmte Zelle in der Tabelle adressiert wird. Unter dem Zellinhalt wird der entsprechende Matrixeintrag verstan­ den, der durch eine Zell-Adresse gekennzeichnet ist. Mit einer Zeile sind alle die Zellen gemeint, deren Y- Koordinaten den gleichen Wert haben, während mit einer Spalte alle die Zellen gemeint sind, deren X-Koordinaten den gleichen Wert haben. Schließlich bezeichnet ein Zell­ bereich noch einen rechteckigen Tabellenausschnitt, der durch die zwei Adressen der oberen linken Ecke und der unteren rechten Ecke beschrieben ist.
Weiterhin sei an dieser Stelle bemerkt, daß das nachfol­ gende spezielle Datenbeispiel selbstverständlich nicht als einschränkend für die Erfindung zu verstehen ist. Die Beschreibung der Erfindung anhand eines speziellen Daten­ beispiels und nicht anhand einer abstrakteren Darstellung wurde lediglich zwecks leichterem Verständnis der Erfin­ dung gewählt.
Fig. 1 zeigt an einem speziellen Beispiel zu verarbei­ tende Daten, die in einer Tabellenform mit zwei Tabellen­ seiten angeordnet sind. Beispielsweise können solche Ta­ bellen besonders einfach mit einem Tabellenkalkulations­ programm, wie Excel, erstellt werden. Die in Fig. 1 ge­ zeigte Tabelle umfaßt nunmehr zwei Tabellenseiten, die mit Tabellenseite 1 und Tabellenseite 2 bezeichnet sind. Jede Tabellenseite enthält im wesentlichen einen ähnli­ chen Tabellenaufbau, wie aus der ersten Tabellenzeile je­ der Tabellenseite ersichtlich wird. So weist jede Tabel­ lenseite fünf Spalten auf, wobei diese Spalten mit den Überschriften "Hersteller", "Produkte", "Produktinforma­ tion", "Niederlassung" und "N-Ort" überschrieben sind. Unter der Überschrift "Hersteller" befindet sich in jeder Tabellenseite lediglich ein spezieller Hersteller als Da­ teninhalt, für die Tabellenseite 1 der Hersteller "Porsche" und für die Tabellenseite 2 der Hersteller "Mercedes". Es sei bemerkt, daß es sich bei den angegebe­ nen Dateninhalten der Tabellen sowie bei weiteren in der Beschreibung und der Zeichnung verwendeten Namen (Excel, usw.) um markenrechtlich geschützte Bezeichnungen handeln kann. Unter der Überschrift "Produkte" befindet sich in jeder Tabellenseite eine zweireihige Spalte. Für die Tabellenseite 1 sind die Produktbezeichnungen "911" und "928" in dieser Spalte enthalten, während für die Tabel­ lenseite 2 die Produktbezeichnungen "S-Klasse" und "M- Klasse" enthalten sind. Die Spalte mit der Überschrift "Produkte" wird jeweils mit einer Zelle beendet, welche den Eintrag "Endprodukte" enthält.
Die Spalte mit der Überschrift "Produktinformation" ent­ hält ebenfalls eine zweireihige Spalte. Der Eintrag "Schnelles Auto" in der oberen Zelle dieser Spalte der Tabellenseite 1 bezieht dabei auf den Eintrag "911" in der Spalte mit der Überschrift "Produkte", während der Eintrag "Langsameres Auto" in der unteren Zelle dieser Spalte der Tabellenseite 1 sich auf den Eintrag "928" der Spalte "Produkte" bezieht.
Ferner umfaßt jede Tabellenseite noch eine Spalte mit der Überschrift "Niederlassungen", bei der in der dazugehöri­ gen Spalte jeder Tabellenseite unterschiedlich viele Ein­ träge aufgelistet sind, beispielsweise die Einträge "Porsche-Zentrum", "Porsche-Zentrum", "Willbert" und "Reiger" für die Tabellenseite 1 und die Einträge "Mercedes-Hannes" und "Mercedes-Zentrum" für die Tabel­ lenseite 2. Diese Spalte ist ferner mit einer Zelle abge­ schlossen, welche den Eintrag "Endniederlassungen" ent­ hält.
Schließlich ist unter der Überschrift "N-Ort" in jeder Tabellenseite noch eine Spalte angeordnet, welche die gleiche Reihenzahl wie die zugehörige Spalte mit der Überschrift "Niederlassung" der jeweiligen Tabellenseite enthält. In den Zellen dieser Spalte sind die einzelnen Niederlassungsorte "Nürnberg", "München", "Hamburg" und "Köln" für die vier Niederlassungen des Porsche-Produktes (Tabellenseite 1) und die Niederlassungsorte "Nürnberg" und "München" für die zwei Niederlassungen des Mercedes- Produktes (Tabellenseite 2) enthalten.
Die oben mit Worten beschriebene Struktur der in der Ta­ belle der Fig. 1 enthaltenen Daten ist in Fig. 2 sche­ matisch dargestellt. Wie bereits erwähnt ist diese Struk­ tur bei den in der Tabelle angeordneten Datenelemente nicht in Strukturelementen ausgedrückt, sondern läßt sich nur über eine syntaktische Analyse der Anordnung der Da­ tenelemente in der Tabelle und ihrer jeweiligen Bedeutung ableiten. Selbstverständlich läßt sich mit den gleichen Daten aus der Tabelle der Fig. 1 auch eine ganz andere Struktur erzeugen. Häufig liegt jedoch der Fall vor, daß eine Struktur fest vorgegeben ist (beispielsweise als DTD-Vorlage, siehe unten), und die Daten nur noch in die­ se Struktur eingebettet werden müssen.
In der Fig. 2 sind die verschiedenen Baumhierarchien in absteigendes Folge mit "INLEVEL1" bis "INLEVEL4" bezeich­ net, wobei jeder Hierarchiestufe ein Name "LEVELNAME" zu­ geordnet wird. Der leichteren Lesbarkeit sind in der Fig. 2 noch neben jeden "LEVELNAME" die für das spezielle Beispiel der Fig. 1 sich ergebenden Namen aufgelistet, ebenso wie die speziellen Dateninhalte neben "INHALT".
Die als auf eine bestimmte Weise systematisch angeordne­ ten Datenelemente der Fig. 1 sollen nunmehr entsprechend dem erfindungsgemäßen Verfahren in Daten in einem voll­ strukturierten Datenformat umgewandelt werden. Hierzu wird eine Datenstrukturierungsschablone erstellt, wie sie für die zu verarbeitenden Daten der Fig. 1 in der Fig. 3 dargestellt sind. Die Datenstrukturierungsschablone ist aus einzelnen Strukturbeschreibungselementen aufgebaut, die in der Fig. 3 zeilenweise hintereinander geschrieben sind. Diese zeilenweise Auflistung dient lediglich dem einfacheren Verständnis der Erfindung, ist jedoch nicht einschränkend zu verstehen, da die einzelnen Strukturbe­ schreibungselemente auch über entsprechende Menus einer graphischen Benutzeroberfläche oder ähnlichem eingegeben und dargestellt werden können.
In den Zeilen 1 bis 7 sind sieben verschiedene Zeigerele­ mente als Strukturbeschreibungselemente aufgeführt, in der Zeile 9 ein Bedingungselement als Strukturbeschrei­ bungselement und in den Zeilen 11 bis 54 sind 44 ver­ schiedene Anweisungselemente als Strukturbeschreibungse­ lemente aufgelistet.
Die Zeigerelemente stellen Markierungen für ausgezeichne­ te Zellen einer Tabelle dar, die für die Strukturbe­ schreibung verwendet werden. Solche Zeigerelemente beste­ hen aus einem Namen, unter dem auf das entsprechende Zei­ gerelement zugegriffen werden kann, und einer Adresse, die auf zwei unterschiedliche Weise eingegeben werden kann: Einerseits kann nach einem bestimmten Zellinhalt gesucht werden, zum Beispiel dem Zellinhalt "Hersteller", wobei ferner noch ein Zellbereich eingegeben werden kann, innerhalb dem dieser Zellinhalt gesucht werden soll. An­ dererseits kann eine Zelladresse direkt adressiert wer­ den, indem das entsprechende Koordinatenpaar eingebbar ist. Beide Eingabearten können dabei absolut oder relativ zu anderen Zeigerelementen eingegeben werden. Als relati­ ve Eingabe sei das Beispiel genannt, bei dem der zu durchsuchende Zellbereich über zwei Zelladressen defi­ niert wird, die wiederum als Zeigerelemente eingegeben werden.
Grundsätzlich besteht eine im nicht vollstrukturierten Datenformat vorliegende Tabelle aus Zellen, die per se erst einmal nur Inhaltsdaten tragen, und die im vorlie­ genden Kontext als Datenzellen bezeichnet werden. Dabei kann der Inhalt auch ein Nullinhalt sein. Dabei gilt es nunmehr solche Datenzellen aus der Tabelle herauszugrei­ fen, die stellvertretend für eine Struktur in den zu ver­ arbeitenden Daten stehen. So sind im Beispiel der Fig. 1 alle Zellen der ersten Reihe sogenannte "versteckte" Strukturzellen, welche auf die Struktur in der Tabelle verweisen und diesen die Bezeichnungen "Hersteller", "Produkte", "Produktinformation", "Niederlassung" und "N- Ort" geben. Gleiches gilt auch für die beiden Zellen "Endprodukte" und "Endniederlassung" in jeder Tabellen­ seite. Diese Datenzellen sind in der Fig. 1 grau hinter­ legt. Die übrigen Zellen stellen alle Datenzellen dar.
Nachfolgend wird auf die einzelnen Zeigerelemente der in der Fig. 3 gezeigten Datenstrukturierungsschablone näher eingegangen. Dem in der Zeile 1 aufgeführten Zeigerele­ ment, wobei anstatt des Begriffs "Zeigerelements" in der Fig. 3 der Begriff "Anker" verwendet wird (siehe Spalte A), wird ein bestimmter Name zugeordnet, der in der Spal­ te B aufgeführt ist. So hat das Zeigerelement der Zeile 1 den Namen "hersteller". In der Spalte C ist der zu su­ chende Inhalt der Zelle angegeben. Für das Zeigerelement der Zeile 1 lautet der zu suchende Inhalt "Hersteller". Die nächsten beiden Spalten D, E dienen der Eingabe einer absoluten bzw. relativen Spaltenadresse der oberen, lin­ ken Zelle eines zu durchsuchenden Zellbereichs. Die Spal­ ten F, G stellen die absolute bzw. relative Reihenadresse der oberen, linken Zelle des zu durchsuchenden Zellbe­ reichs, die Spalten H, I die relative bzw. absolute Zei­ lenadresse der unteren, rechten Zelle des zu durchsuchen­ den Zellbereichs und die Spalten J, K die absolute bzw. relative Reihenadresse der unteren, rechten Zelle des zu durchsuchenden Zellbereichs dar. Für das Zeigerelement der Reihe 1 beginnt der zu durchsuchende Tabellenbereich also mit einer oberen, linken Zelle, welche die Koordina­ ten (1, 1) aufweist (im Falle eines leeren Feldes in den Spalten D und F für die Spaltenadresse bzw. in den Spal­ ten H und J für die Reihenadresse des jeweiligen Zeigere­ lementes handelt es sich um eine absolute Adressierung, im anderen Fall um eine relative Adressierung), und endet mit einer unteren, rechten Zelle, welche die Koordinaten (99.999,4) aufweist.
Für das Zeigerelement der Spalte 2, mit dem Namen "product" und dem zu suchenden Inhalt "Produkte" ist eine relative Adressierung des zu durchsuchenden Zellbereichs eingegeben. So wird die obere, linke Zelle des Zellbe­ reichs relativ zu den Koordinaten des Zeigerelementes "hersteller", d. h. dem Zeigerelement der Zeile 1, einge­ geben, wobei ferner ein Offset-Wert für die Spaltenkoor­ dinate der oberen, linken Zelle von -99.999, ein Offset- Wert für die Reihenkoordinate der oberen, linken Zelle von 0, ein Offset-Wert der Spaltenkoordinate der unteren, rechten Zelle von 99.999 und ein Offset-Wert der Reihen­ koordinate der unteren, rechten Zelle von 0 eingegeben wird. Entsprechendes gilt für die Zeigerelemente mit den Namen "endproduct", "productinfo", "dependance", "end­ dependance" und "dplace", die in den Zeilen 3 bis 7 dar­ gestellt sind, und die nach den folgenden Inhalten su­ chen: "Endprodukte", "Produktinformation", "Niederlassun­ gen", "Endniederlassungen", "N-Ort". Zusammenfassend kön­ nen mit diesen Zeigerelementen alle "versteckten" Struk­ turzellen der in der Fig. 1 gezeigten Tabelle adressiert werden. Da diese Zeigerelemente nach Inhalten für die Adressierung suchen, ist es unerheblich, an welcher abso­ luten Adresse sich die einzelnen "versteckten" Struktur­ zellen befinden, oder ob eine der Tabellenseite mehr Zei­ len als die anderen enthält. Ändert sich beispielsweise von einer zu verarbeitenden Gesamttabelle zur nächsten lediglich der Inhalt einer "versteckten" Strukturzelle, indem beispielsweise anstelle von "Produktinformation" nur "Information" in dieser "versteckten" Strukturzelle steht, so muß lediglich das Zeigerelement in der Zeile 4 in dessen Spalte C entsprechend geändert werden. Im übri­ gen bliebe die gesamte Datenstrukturierungsschablone un­ verändert auf alle Tabellen anwendbar, in der statt "Produktinformation" nur "Information" steht, die anson­ sten aber gleich strukturiert sind.
Auf das in der Zeile 9 aufgeführte Bedingungselement wird an dieser Stelle nicht näher eingegangen. Es sei jedoch erwähnt, daß hier beliebige (auch sehr komplexe) Funktio­ nen eingegeben werden können, die auf die einzelnen Zel­ len einer Tabellenkalkulation einwirken können und als Ergebnis die Werte "WAHR" oder "FALSCH" liefern. Diese Funktionen können beispielsweise in der Sprache des Ta­ bellenkalkulationsprogramms implementiert sein (z. B. als Makro-Befehle, etc.). So kann beispielsweise eine Bedin­ gung sein, daß der Zelleninhalt ein String sein muß. Eine andere Bedingung kann sein, daß der Zelleninhalt eine Web-Adresse sein muß, usw. Die Bedingungselemente können wiederum Zeigerelemente als Eingaben umfassen, mit denen beispielsweise ein bestimmter Tabellenbereich festgelegt, innerhalb dem jede Datenzelle der Bedingung genügen muß. So kann beispielsweise eine Bedingung lauten, daß inner­ halb des angegebenen Tabellenbereichs wenigstens eine Da­ tenzelle ausgefüllt sein muß. Die Bedingungselemente wer­ den nunmehr entweder interaktiv abgearbeitet werden, d. h. mit jeder Eingabe eines neuen Datenelements in die Tabel­ le der Fig. 1 wird geprüft, ob noch allen über die Be­ dingungselemente angegebenen Bedingungen genügt wird. Al­ ternativ können die Bedingungselemente auch erst nach Fertigstellung der Tabelle und vor Erzeugung der Daten in dem vollstrukturierten Datenformat abgearbeitet werden. Den Bedingungselementen kann ferner jeweils noch ein spe­ zieller Name zugeordnet werden, in dem dargestellten Bei­ spiel ist dies der Namen "x", unter dem die Bedingung an­ schließend von den einzelnen Anweisungselementen aufgeru­ fen werden kann.
Nachfolgend wird auf die in den Zeilen 11 bis 54 aufge­ führten Anweisungselemente, die in der Spalte A der Fig. 3 auch als "Mapping" bezeichnet werden, näher eingegan­ gen. Ein Anweisungselement in der Zeile 11, dessen Inhalt als "XML-start" in Spalte B aufgeführt ist, veranlaßt die Erzeugung einer XML-Datei mit den entsprechenden Headern.
Ein Anweisungselement in der Reihe 12 erzeugt einen für das XML-Format üblichen tag (siehe Spalte B) mit dem fe­ sten Inhalt "INLEVEL1", wie er in Spalte C angegeben ist. Dies gilt entsprechend für das Anweisungselement der Rei­ he 13, das ein Tag mit dem Inhalt "LEVELNAME" erzeugt.
Das Anweisungselement in Zeile 14 übergibt in reiner Da­ tenform den Inhalt "Hersteller", während das Anweisungse­ lement der Zeile 15 ein tag-end mit dem Inhalt "LEVELNAME" erzeugt. Die von diesen vier Anweisungsele­ menten erzeugten Daten in dem vollstrukturiertem Daten­ format sind in Fig. 4 in der ersten Zeile des Dokumentes dargestellt. Mit anderen Worten umfaßt die Datenstruktu­ rierungsschablone Anweisungselemente, mit der reine Strukturdaten zur Bezeichnung beispielsweise einer Hier­ archieebene erzeugt werden, "tag" und "tag-end" (diese Anweisungselemente werden in den Ansprüchen auch als er­ ste Anweisungselemente bezeichnet), sowie Anweisungsele­ mente, mit denen Datenelemente als spezielle Bezeichnung einer Hierarchieebene erzeugt werden, "Hersteller", oder mit denen die Datenelemente der zu verarbeitenden Daten als Inhalte in die Datenstruktur des vollstrukturierten Datenformats übergeben und dort eingebettet werden (siehe unten). Diese Anweisungselemente werden in den Ansprüchen auch als zweite Anweisungselemente bezeichnet.
Die in dem speziellen Datenbeispiel verwendeten Bezeich­ nungen einer Hierarchieebene können den "versteckten" Strukturzellen" der lediglich systematisch angeordneten Daten entnommen werden und mit den geeigneten Anweisung­ selementen in die Struktur des vollstrukturierten Daten­ formats eingebettet werden. Solche zusätzlichen Bezeich­ nungen für die einzelnen Hierarchieebenen sind jedoch nicht zwingend erforderlich.
Das Anweisungselement "raw" in der Zeile 14 kann entweder einen festen String enthalten, der so wie er in der Spal­ te C eingegeben ist als Datenelement der Struktur des vollstrukturierten Datenformats übergeben wird. Dieses Anweisungselement kann in den Spalten E und G auch den Namen zweier Zeigerelemente (für Spalten- und Reihena­ dressierung getrennt), beispielsweise "hersteller" ent­ halten, mit dem dasjenige Datenelement der zu verarbei­ tenden Daten als Inhalt übergeben werden kann, das mit dem Zeigerelement, ggf. unter Berücksichtigung eines Offset-Wertes (siehe unten), adressiert wird. So würde in dem speziellen Beispiel das Zeigerelement mit dem Namen "hersteller" auf die Datenzelle mit dem zu suchenden In­ halt "Hersteller" verweisen, so daß das Ergebnis dieses Operanden gerade der Inhalt dieser markierten Zelle, näm­ lich "Hersteller" ist.
In der Zeile 16 ist ein Schleifenbildungselement "sheet- loop" als Anweisungselement eingegeben, das veranlaßt, daß Datenelemente tabellenweise adressiert werden. In dem dargestellten Fall werden, da in den Spalten E bis H kei­ ne weiteren Einträge sind, alle vorhandenen Tabellensei­ ten von Tabellenseite 0 bis Tabellenseite 1 durchlaufen. In der Spalte D kann jeweils noch der Name eines beliebi­ gen Bedingungselements oder direkt eine Bedingung einge­ geben werden, die bei der Schleifenbildung berücksichtigt sein muß. Nur wenn diese Bedingung den Wert "WAHR" lie­ fert, wird das entsprechende Datenelement von dem Schlei­ fenbildungselement adressiert. Beispielsweise können Be­ dingungen so konstruiert werden, daß Schleifen nur in 5er-Schritten, etc. durchlaufen werden oder daß andere Schleifenbildungselemente bestimmte Datenzellen adressie­ ren usw. Hierbei sind keine Grenzen gesetzt, so daß im Prinzip noch so komplizierte Anordnungsmuster von Daten über die doch recht einfach aufgebauten Schleifenbildung­ selemente durchlaufen werden können. In den Spalten E bis H werden prinzipiell jeweils noch die Startdatenzelle über ein Zeigerelement ggf. mit einem Offset-Wert oder eine absolute Adressierung und entsprechend die Enddaten­ zelle eingegeben. Diese sind bei dem Schleifenbildungse­ lement der Zeile 16 jedoch nicht explizit eingegeben. Diese Adressierung wird weiter unten mit Bezug auf das Schleifenbildungselement der Zeile 25 näher erläutert. Wenn keine explizite Eingabe in diesen Spalten vorliegt, wie bei dem Schleifenbildungselement der Zeile 16, findet ein Durchlauf über alle vorhandenen Tabellenseiten statt.
Das Ende des Schleifenbildungselements über die Tabellen­ seiten ist in der Zeile 52 angegeben. Wird die Daten­ strukturierungsschablone beispielsweise interaktiv und über eine graphische Benutzeroberfläche dialog-geführt eingegeben, so werden die Endpositionen der Schleifenbil­ dungselemente automatisch von der den Dialog führenden Eingabesteuerung erstellt. Selbstverständlich kann die gesamte Datenstrukturierungsschablone auch automatisch aus einer DTD-Vorlage erstellt werden (document type de­ finition). Häufig ist der Ausgangspunkt für die Umwand­ lung von systematisch angeordneten Daten in Daten in ei­ nem vollstrukturierten Datenformant, daß von einer Nor­ mierungsgesellschaft (DIN-Norm-Gesellschaft, Datennormie­ rungsgesellschaft, etc.) oder einem Internet-Provider oder Handelspartner eine bestimmte Struktur für die Prä­ sentation von Daten vorgegeben wird. Diese Strukturvorga­ be wird in der Regel mit Hilfe der sogenannten DTD- Vorlagen weitergeleitet. Es ist nunmehr möglich, aus der DTD-Vorlage automatisch die Datenstrukturierungsschablone mit den entsprechenden Strukturbeschreibungselementen zu erstellen, so daß lediglich noch die einzelnen Zeigerele­ mente sowie ggf. der spezielle Typ der Schleifenbildungs­ elemente (ob spalten-, reihen oder tabellenadressierend) an die zu verarbeitenden Daten angepaßt werden müssen. Liegt eine solche DTD-Vorlage nicht vor, so werden zweck­ mäßig in einem ersten Schritt die Zeigerelemente für die zu verarbeitenden Daten erstellt und dann in einem zwei­ ten Schritt die Datenstrukturierungsschablone aufge­ stellt. Liegen beispielsweise die zu verarbeitenden Daten in vielen sehr ähnlichen Tabellen o. ä. vor, so können die Zeigerelemente auch automatisch mittels statistischer Auswertungen dieser Tabellen oder Verfahren der künstli­ chen Intelligenz erstellt werden.
In den Zeilen 17 und 18 übergibt jeweils ein Anweisungse­ lement "tag" die Strukturelemente mit den Bezeichnungen "INLEVEL2" und "LEVELNAME". Das Anweisungselement "raw" der Zeile 19 übergibt nunmehr den Inhalt der Datenzellen, die mittels des Zeigerelementes "hersteller" (Spalte E) und des zugehörigen Offset-Wertes 0 (Spalte F) für die Spaltenadresse und mittels des Zeigerelementes "hersteller" (Spalte G) und des zugehörigen Offset-Wertes 1 (Spalte H) für die Reihenadresse adressiert wird. Somit wird an dieser Stelle je nach Iterationsschritt des Schleifenbildungselementes "sheet-loop" der Zeile 16 der Inhalt "Porsche" oder "Mercedes" in die Struktur des vollstrukturierten Datenformats eingebettet, da das An­ weisungselement der Zeile 19 über das Zeigerelement "hersteller" und die Reihen-Offset-Wert von 1 auf die Da­ tenzelle unterhalb der "Überschrift"-Datenzelle "Herstel­ ler" zeigt. Selbstverständlich können bei diesen Anwei­ sungselementen die Reihen- und Spaltenadresse mittels un­ terschiedlicher Zeigerelemente adressiert werden.
Als letztes Beispiel für ein spezielles Strukturbeschrei­ bungselement wird auf das Schleifenbildungselement "row- loop" der Zeile 25 näher eingegangen, daß iterativ auf­ einanderfolgende Reihen einer bestimmten Spalte adres­ siert. Hierzu kann wiederum der Name eines Bedingungsele­ mentes oder direkt eine Bedingung in die Spalte D einge­ geben, die bei jedem Iterationsschritt erfüllt sein muß (siehe oben). Die Spalte, in der über einzelne Reihen iteriert werden soll, wird in der Spalte E mittels des Zeigerelementes "product" adressiert, wobei mit dem glei­ chen Zeigerelement und dem entsprechenden Offset-Wert in der Spalte F die entsprechende Reihe adressiert wird, mit der die Iteration beginnen soll. In dem speziellen Bei­ spiel werden hiermit abhängig von Tabellenseite die Da­ tenzellen "911" oder "S-Klasse" direkt unter der "Überschrift"-Datenzelle der zu verarbeitenden Daten (wegen des Offset-Wertes 1 in der Spalte F) als Startda­ tenzelle der Iteration adressiert. Entsprechendes gilt auch für die Enddatenzelle, die über das Zeigerelement "endproduct" in Spalte G und den Offset-Wert -1 in Spalte H adressiert wird, und damit die Datenzellen mit den In­ halten "928" und "M-Klasse" adressiert. In der Spalte I ist noch der Name für das Schleifenbildungselement der Zeile 25 eingegeben, mit dem dieses Strukturbeschreibung­ selement von anderen Strukturbeschreibungselementen, wie ersten und zweiten Anweisungselementen und weiteren Schleifenbildungselementen für die Adressierung, usw. aufgerufen werden kann.
Die Fig. 4 zeigt das Ergebnis der Umwandlung der Daten in den beiden Tabellenseiten der Fig. 1 mit Hilfe des in Fig. 3 gezeigten Datenstrukturierungsschablone in voll­ strukturierte Daten. Wie aus der Fig. 4 ersichtlich wird sind die mittels der ersten Anweisungselemente übergebe­ nen Bezeichnungen der einzelnen Strukturelemente in spit­ zen Klammern geschrieben, z. B. "<INLEVEL1<" bzw. "</INLEVEL<", während die mittels der zweiten Anweisung­ selemente übergebenen Dateninhalte der Datenelemente der zu verarbeitenden Daten immer zwischen zwei Strukturele­ menten aufgeführt sind, z. B. "<LEVELNAME<Hersteller- </LEVELNAME<" oder "<INHALT<Schnelles Auto</INHALT<".
Es sei nochmals erwähnt, daß das oben aufgeführte Bei­ spiel lediglich eine von vielen Möglichkeiten widerspie­ gelt, in denen die zu verarbeitenden Daten vorliegen, in dem geschilderten Beispiel nämlich in Tabellen von einem Tabellenkalkulationsprogramm geordnet. Die Erfindung ist selbstverständlich auf alle anderen Fälle von systema­ tisch angeordneten Daten anwendbar, beispielsweise Daten­ benbanken, die von beliebigen Datenbanksystemen erstellt wurden, etc. Mit der von der Erfindung geschaffenen Da­ tenstrukturierungsschablone, die aus den einzelnen oben aufgeführten Strukturbeschreibungselementen zusammenge­ stellt wird, können all diese systematisch angeordneten Daten - unabhängig von dem zugrundeliegenden Datenord­ nunsprogramm (Tabellenkalkulationsprogramm, Datenbanksy­ stem, Programmiersprachen-Editor, etc.) in vollstruktu­ rierte Daten umgewandelt werden. Es ist lediglich erfor­ derlich, die Strukturbeschreibungselemente zur Ausfüh­ rungs auf dem jeweiligen Datenordnungsprogramm ausführbar zu kompilieren. Dabei können selbstverständlich auch wei­ tere Strukturbeschreibungselemente mit anderen Funktionen erstellt werden, die in der obigen Beschreibung noch nicht erwähnt sind. Es hat sich jedoch gezeigt, daß die oben aufgeführten Strukturbeschreibungselemente eine aus­ reichende und - insbesondere intuitiv leicht erfaßbare Handhabungsmöglichkeit bieten.
Zudem diente die Darstellung der einzelnen Strukturbe­ schreibungselemente in einer Tabelle, bei der in einzel­ nen Zellen der Tabelle die für die entsprechenden Struk­ turbeschreibungselemente erforderlichen Eingaben aufge­ führt sind, auch nur einem leichteren Verständnis der Er­ findung. Selbstverständlich sind der Darstellung der Strukturbeschreibungselementen keine Grenzen gesetzt, wo­ bei zur Zeit eine (nicht dargestellte) dialog-geführte Eingabe über eine graphische Benutzeroberfläche bevorzugt wird.

Claims (35)

1. Verfahren zum Verarbeiten von Daten, die mehrere sy­ stematisch angeordnete Datenelemente umfassen, zur Umwandlung in Daten, die in einem vollstrukturierten Datenformat vorliegen, bei welchem:
  • a) eine dem vollstrukturierten Datenformat entspre­ chende Datenstrukturierungsschablone erstellt wird, welche Strukturbeschreibungselemente um­ faßt, die an die Datenstruktur der systematisch angeordneten Datenelemente der zu verarbeitenden Daten angepaßt werden,
  • b) diese Datenstrukturierungsschablone an den zu verarbeitenden Daten angewandt wird, indem mit­ tels der Strukturbeschreibungselemente
    • 1. die erforderliche Datenstruktur des voll­ strukturierten Datenformats erzeugt wird, und
    • 2. die Datenelemente der zu verarbeitenden Da­ ten in die erzeugte Datenstruktur als voll­ strukturierte Daten ausgegeben werden.
2. Verfahren nach Anspruch 1, bei welchem die Datenele­ mente der zu verarbeitenden Daten in adressierbaren Datenzellen angeordnet sind.
3. Verfahren nach Anspruch 2, bei welchem die Datenzel­ len tabellarisch angeordnet sind.
4. Verfahren nach Anspruch 2 oder 3, bei welchem die Strukturbeschreibungselemente Zeigerelemente umfas­ sen, die veranlassen, daß jeweils auf eine bestimmte Datenzelle gezeigt wird.
5. Verfahren nach Anspruch 4, bei welchem die Struktur­ beschreibungselemente Zeigerelemente umfassen, bei denen die Adresse der aufzuzeigenden Datenzelle di­ rekt eingebbar ist.
6. Verfahren nach Anspruch 4 oder 5, bei welchem die Strukturbeschreibungselemente Zeigerelemente umfas­ sen, bei denen jeweils ein bestimmter Inhalt einge­ gebbar ist, und die veranlassen, daß jeweils auf die Adresse einer Datenzelle mit diesem Inhalt gezeigt wird.
7. Verfahren nach Anspruch 6, bei welchem die Struktur­ beschreibungselemente Zeigerelemente umfassen, bei denen für die einzelnen Adressen-Koordinaten, insbe­ sondere die Spaltenadresse und die Reihenadresse, unterschiedliche Inhalte eingebbar sind.
8. Verfahren nach Anspruch 6 oder 7, bei welchem die Strukturbeschreibungselemente Zeigerelemente umfas­ sen, bei denen zusätzlich zum Inhalt noch ein Tabel­ lenbereich eingebbar ist, und die veranlassen, daß innerhalb des eingegebenen Tabellenbereichs nach Da­ tenzellen mit dem eingegebenen Inhalt gesucht wird.
9. Verfahren nach Anspruch 5 oder 8, bei welchem die Strukturbeschreibungselemente Zeigerelemente umfas­ sen, bei denen die Adresse der aufzuzeigenden Daten­ zelle bzw. der Tabellenbereich als absolute Adresse eingebbar ist.
10. Verfahren nach Anspruch 5 oder 8, bei welchem die Strukturbeschreibungselemente Zeigerelemente umfas­ sen, bei denen die Adresse der aufzuzeigenden Daten­ zelle bzw. der Tabellenbereich relativ zu anderen Zeigerelementen eingebbar ist.
11. Verfahren nach einem der Ansprüche 4 bis 10, bei welchem die Strukturbeschreibungselemente Zeigerele­ mente umfassen, bei denen zusätzlich ein Offset-Wert eingebbar ist, und die veranlassen, daß auf Daten­ zellen unter Berücksichtigung des Offset-Werts ge­ zeigt wird.
12. Verfahren nach einem der Ansprüche 4 bis 11, bei welchem die Strukturbeschreibungselemente Schleifen­ bildungselemente umfassen, die veranlassen, daß ite­ rativ Datenelemente der zu verarbeitenden Daten von einer eingebbaren Startdatenzelle bis zu einer ein­ gebbaren Enddatenzelle adressiert werden.
13. Verfahren nach Anspruch 12, bei welchem die Struk­ turbeschreibungselemente Schleifenbildungselemente umfassen, bei denen die Start- und/oder Enddatenzel­ len als Zeigerelemente und/oder weitere Schleifen­ bildungselemente eingebbar sind.
14. Verfahren nach Anspruch 12 oder 13, bei welchem die Strukturbeschreibungselemente Schleifenbildungsele­ mente umfassen, die veranlassen, daß Datenelemente spaltenweise, reihenweise oder tabellenweise adres­ siert werden.
15. Verfahren nach einem der Ansprüche 12 bis 14, bei welchem die Strukturbeschreibungselemente Schleifen­ bildungselemente umfassen, bei denen wenigstens ein Offset-Wert eingebbar ist, und die veranlassen, daß iterativ Datenelemente von einer eingebbaren Start­ datenzelle bis zu einer eingebbaren Enddatenzelle unter Berücksichtigung des wenigstens einen Offset- Werts adressiert werden.
16. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Strukturbeschreibungselemente Bedin­ gungselemente umfassen, bei denen eine beliebige Be­ dingung eingebbar ist, und die veranlassen, daß ein logischer Wert ausgegeben wird, dessen Wert davon abhängt, ob die Bedingung erfüllt ist oder nicht.
17. Verfahren nach Anspruch 16, bei welchem die Struk­ turbeschreibungselemente Bedingungselemente umfas­ sen, bei denen zusätzlich ein Tabellenbereich entwe­ der direkt oder über Zeiger- und Schleifenbildungse­ lemente eingebbar ist, und die veranlassen, daß der Tabellenbereich auf die eingegebene Bedingung hin untersucht wird.
18. Verfahren nach einem der Ansprüche 4 bis 17, bei welchem den Zeiger-, Schleifenbildungs- und/oder Be­ dingungselementen jeweils ein Name eingebbar ist, mit dem auf das jeweilige Zeiger-, Schleifenbil­ dungs- und/oder Bedingungselement zugegriffen werden kann.
19. Verfahren nach einem der Ansprüche 12 bis 18, bei welchem die Strukturbeschreibungselemente Schleifen­ bildungselemente umfassen, denen eine Bedingung und/oder der Name eines Bedingungselement eingebbar ist, und die veranlassen, daß iterativ lediglich die Datenzellen adressiert werden, welche die entspre­ chende Bedingung erfüllen.
20. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Strukturbeschreibungselemente erste Anweisungselemente umfassen, denen ein bestimmter Inhalt eingebbar ist, und die veranlassen, daß ein Strukturelement mit dem eingegebenen Inhalt des vollstrukturierten Datenformats erzeugt wird.
21. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Strukturbeschreibungselemente zweite Anweisungselemente umfassen, denen ein bestimmter Inhalt eingebbar ist, und die veranlassen, daß be­ stimmte Datenelemente der zu verarbeitenden Daten in die Struktur des vollstrukturierten Datenformats eingebettet werden.
22. Verfahren nach Anspruch 20 oder 21, bei welchem die Strukturbeschreibungselemente erste und/oder zweite Anweisungselemente umfassen, bei denen der Inhalt mittels eines Zeigerelementes eingebbar ist.
23. Verfahren nach Anspruch 22, bei welchem die Struk­ turbeschreibungselemente erste und/oder zweite An­ weisungselemente umfassen, bei denen der Inhalt mit­ tels Zeigerelementen eingebbar ist, wobei für jede Adressen-Koordinate, insbesondere für die Spalten- und Reihenadresse, ein unterschiedliches Zeigerele­ ment eingebbar ist.
24. Verfahren nach Anspruch 22 oder 23, bei welchem die Strukturbeschreibungselemente erste und/oder zweite Anweisungselemente umfassen, bei denen der Inhalt mittels eines Zeigerelementes und zusätzlich eines Offset-Wertes eingebbar ist.
25. Verfahren nach einem der Ansprüche 20 bis 24, bei welchem die Abfolge erster und zweiter Anweisungse­ lemente und Schleifenbildungselemente in der Daten­ strukturierungsschablone anhand der Struktur des zu erzeugenden vollstrukturierten Datenformats eingege­ ben wird.
26. Verfahren nach Anspruch 25, bei welchem die Abfolge automatisch aus einer als document type definition vorliegenden Struktur des vollstrukturierten Daten­ formats erstellt wird.
27. Verfahren nach Anspruch 25 oder 26, bei welchem die Zeiger- und/oder Bedingungsanweisungen manuell ein­ gegeben werden.
28. Verfahren nach einem der Ansprüche 25 bis 27, bei welchem in einem ersten Schritt die Zeiger- und/oder Bedingungsanweisungen und in einem zweiten Schritt die ersten und zweiten Anweisungselemente und Schleifenbildungselemente eingegeben werden.
29. Verfahren nach einem der Ansprüche 4 bis 28, bei welchem die Zeigerelemente automatisch anhand stati­ stischer Auswertungen einer Vielzahl der zu verar­ beitenden Daten erstellt werden.
30. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Daten in dem vollstrukturierten Da­ tenformat unmittelbar mit der Eingabe neuer Da­ tenelemente der zu verarbeitenden Daten erzeugt wer­ den.
31. Verfahren nach einem der Ansprüche 1 bis 29, bei welchem die Daten in dem vollstrukturierten Daten­ format erst nach Eingabe aller Datenelemente der zu verarbeitenden Daten erzeugt werden.
32. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Strukturbeschreibungselemente der Strukturschablone in Ausführungsbefehle umgewandelt werden, welche von einer die Datenelemente der zu verarbeitenden Daten systematisch anordnenden Daten­ anordnungssprache verstanden wird.
33. Computersystem zum Verarbeiten von Daten, die mehre­ re systematisch angeordnete Datenelemente umfassen, zur Umwandlung in Daten, die in einem vollstruktu­ rierten Datenformat vorliegen, wobei das Computersy­ stem wenigstens einen Datenspeicher, einen Anschluß für einen Bildschirm und einen Anschluß für ein Ein­ gabemittel zum manuellen Eingeben von Daten in den Datenspeicher umfaßt, zum Betreiben eines Verfahrens nach einem der vorhergehenden Ansprüche.
34. Computerprogrammprodukt, welches in einem Speicher­ medium speicherbar ist und welches Softwarecodeab­ schnitte umfaßt, mit denen Schritte nach einem der vorhergehenden Verfahrensansprüche ausgeführt wer­ den, wenn das Computerprogrammprodukt auf einem Com­ putersystem ausgeführt wird.
35. Internetserver mit einem Speichermedium, auf welchem ein Computerprogrammprodukt nach Anspruch 34 gespei­ chert ist.
DE10054280A 2000-11-02 2000-11-02 Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten Withdrawn DE10054280A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10054280A DE10054280A1 (de) 2000-11-02 2000-11-02 Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10054280A DE10054280A1 (de) 2000-11-02 2000-11-02 Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten

Publications (1)

Publication Number Publication Date
DE10054280A1 true DE10054280A1 (de) 2002-05-29

Family

ID=7661880

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10054280A Withdrawn DE10054280A1 (de) 2000-11-02 2000-11-02 Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten

Country Status (1)

Country Link
DE (1) DE10054280A1 (de)

Similar Documents

Publication Publication Date Title
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
EP1088280B1 (de) Verfahren und system zur schnellen speicherresidenten verarbeitung von transaktionsdaten
DE60112188T2 (de) Methode und system zur erzeugung strukturierter dokumente für verschiedene darstellungsweisen
DE60133343T2 (de) Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion
DE60213409T2 (de) Erstellung von strukturierten daten aus unformatiertem text
DE19627472A1 (de) Datenbanksystem
DE10308725A1 (de) System und Verfahren zum Verwalten und zum Austausch von Daten eines technischen Projektes, einer technischen Anlage sowie einzelner Anlagenkomponenten
DE10135444A1 (de) Verfahren für die Neuausrichtung der Quelle eines in einem HTML-Dokument dargestellten Datenobjekts
WO2010124853A2 (de) Verfahren zur erzeugung mindestens einer anwendungsbeschreibung
DE10149693A1 (de) Objekte in einem Computersystem
DE102010042288A1 (de) Vorrichtung und Verfahren zum maschinellen Erstellen eines Prozessdiagramms
DE19947892C2 (de) Verfahren zur Umsetzung von Schnittstellendefinitionen und Zwischenformattabelle dafür
DE60224271T2 (de) Datenverarbeitungsverfahren, datenverarbeitungsprogramm und datenverarbeitungsvorrichtung
DE69907714T2 (de) Komponentbasiertes quellcodegeneratorverfahren
WO2000054167A2 (de) Such- und navigationseinrichtung für hypertext-dokumente
DE102016218656A1 (de) Verfahren zur Generierung eines User-Interfaces in Form einer Mindmap
DE10054001A1 (de) Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen
EP1030254B1 (de) Verfahren und System zum Verwalten von Dokumenten
DE10063514A1 (de) Verwendung einer gespeicherten Prozedur zum Zugriff auf Indexkonfigurationsdaten in einem fernen Datenbankverwaltungssystem
DE202016008044U1 (de) Automatische Importe und Abhängigkeiten in gross angelegten Quellcode-Repositorien
EP2601594A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
DE2249852A1 (de) Computersystem
DE10054280A1 (de) Verfahren, Computersystem, Computerprogrammprodukt und Internetserver zum Verarbeiten von Daten
DE19729911A1 (de) System zur Verbesserung der Organisation von Daten einer Dokumentation
DE102016005519A1 (de) Verfahren zur Erstellung eines Metadaten-Datenmodells für eine BI-Infrastruktur

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee