DE60111376T2 - System und verfahren zur dokumentverarbeitung - Google Patents

System und verfahren zur dokumentverarbeitung Download PDF

Info

Publication number
DE60111376T2
DE60111376T2 DE60111376T DE60111376T DE60111376T2 DE 60111376 T2 DE60111376 T2 DE 60111376T2 DE 60111376 T DE60111376 T DE 60111376T DE 60111376 T DE60111376 T DE 60111376T DE 60111376 T2 DE60111376 T2 DE 60111376T2
Authority
DE
Germany
Prior art keywords
source
tree
node
document
nodes
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.)
Expired - Fee Related
Application number
DE60111376T
Other languages
English (en)
Other versions
DE60111376D1 (de
Inventor
Garrett Dundrum O'Carroll
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of DE60111376D1 publication Critical patent/DE60111376D1/de
Application granted granted Critical
Publication of DE60111376T2 publication Critical patent/DE60111376T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Description

  • Die Erfindung bezieht sich auf das Verarbeiten elektronischer Dokumente, insbesondere auf die Erzeugung eines Zieldokuments von einem Quellendokument. In dieser Beschreibung und in der Dokument-Handhabungs-Terminologie allgemein bedeutet der Ausdruck "Element" einen Knoten oder einen Baum von Knoten innerhalb eines Dokuments oder das volle Dokument.
  • Die gemeinsamste Form elektronischer Dokumentverarbeitung ist der Betrieb eines Web-Servers, um HTML-Dokumente Browsern über http bereitzustellen. Jedoch werden verschiedene Mark-up-Sprachen ebenfalls zur Veröffentlichung von Dokumenten verwendet, und zwar über das Internet oder sonst wie. Sie haben allgemein eine hierarchische Elementen-Struktur. Die Struktur ist allgemein durch Fahnen (Zeichensequenzen im Dokument) definiert.
  • In den vergangenen Jahren wurden elektronische Dokumente weiter entwickelt. Beispielsweise enthalten Java-Server-Seiten (JSP) sowohl HTML-Mark-up-Inhalt als auch einen Java-Programmcode. Die Verarbeitung eines derartigen Dokuments erfordert üblicherweise das Ausführen des Java-Codes, häufig, um Text zu erzeugen. Der Java-Code wird durch den Text, den er erzeugt, ersetzt, und die resultierende HTML-Seite wird zum Browser gesendet. Bei einem anderen Beispiel ist das Quellendokument eine Wortverarbeitungsschablone, die Felder aufweist, um Daten einzugeben. Die Felder sind in einer festen Struktur, und die Daten können lediglich an den festen Feldstellen eingegeben werden.
  • Bis heutezutage ist die Verarbeitung von Quellendokumenten durch die festen Stellen zum Ändern/zum Hinzufügen von Inhalt beschränkt. Eine andere Beschränkung ist die, dass die Verarbeitung durch die Bedeutung der Information im Quellendokument regiert wird. So wird beispielsweise bei JSPs die Verarbeitung durch den Java-Code regiert, und in der Wortverarbeitungsschablone können lediglich Daten in die Datenfelder eingefügt werden. Die US 5 890 171 und die US 6 016 494 beschreiben Verfahren zum Verschmelzen von Dokumenten durch Einfügen eines Dokuments in ein anderes. In der US 6 016 494 wird eine Gruppe von Dokumenten oder Web-Seiten durch Hypertext-Verknüpfungen, die in den Dateien eingebettet sind, mit einander in Beziehung gebracht. Eine Seite hat eine Verknüpfung zur anderen Seite, und, wenn ein Benutzer eine Verknüpfung auswählt, wird die verknüpfte Seite in die Seite eingefügt, welche die Verknüpfung hat, um eine erweiterte Seite zu bilden. Eine verknüpfte Seite kann dem Ende einer Ursprungsseite bevorzugter als einer eingebetteten Seite hinzugefügt werden. Damit erfordert das Verschmelzen von Dokumenten Benutzerauswahl einer Verknüpfung und Direkteinfügung des verknüpften Dokuments in das Ursprungsdokument.
  • Die WO 97/34 240 beschreibt einen Server, bei dem ein SGML-Dokument in einen Syntaxbaum analysiert (geparst) wird, der die Dokumentenstrukturhierarchie zeigt, und eine Inhaltsliste, welche die Daten, welche im Dokument enthalten sind, zeigt. Diese werden verwendet, das Dokument in komprimierter Form zu speichern und das Dokument zu einem Kunden zu übertragen. Der Kunde kann den Baum wiedergeben, um das Dokument wiederum zu erzeugen.
  • Es ist eine Aufgabe der Erfindung, größere Vielfalt bereitzustellen, mit der Dokumente verarbeitet werden. Eine weitere Aufgabe besteht darin, dass die Verarbeitung keine Kenntnis der Bedeutung oder der Struktur der Information im Quellendokument erfordert.
  • Gemäß der Erfindung wird ein Dokumentverarbeitungssystem nach Anspruch 1 bereitgestellt.
  • Bei einer Ausführungsform umfasst die Verschmelzungseinrichtung eine Einrichtung, um Wurzelquellenknoten immer als Übereinstimmungsknoten zu behandeln.
  • Bei einer weiteren Ausführungsform umfasst die Verschmelzungseinrichtung eine Einrichtung zum Behandeln eines Quellenbaum als einen mit einer festen Rolle und des anderen Quellenbaums als einen mit einer bewegbaren Rolle, bei der die Struktur des Quellenbaums, welcher die feste Rolle hat, bewahrt wird, und die Struktur des Quellenbaums, der die bewegbare Rolle hat, geändert werden kann.
  • Bei einer Ausführungsform weist die Verschmelzungseinrichtung eine Einrichtung auf, um (a) nur einen aus einem Paar übereinstimmender Knoten in den Zielbaum zu setzen, oder um (b) die übereinstimmenden Knoten zum Erzeugen eines zusammengesetzten Knotens zu kombinieren, und die Wahl von (a) oder (b) nach einer Richtlinie erfolgt.
  • Bei einer weiteren Ausführungsform ist (b) eine Vorgaberichtlinie.
  • Bei einer Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Hinzufügen eines nicht-übereinstimmenden Knotens eines Baums mit beweglicher Rolle zu dem Zielbaum als Ableitungsknoten von dem Knoten, der seinen Stammknoten von dem Baum mit beweglicher Rolle zeigt.
  • Bei einer Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung, um den genannten nicht-übereinstimmenden Knoten hinter abgeleiteten Knoten ei nes übereinstimmenden Knotens im festen Baum zu setzen, wenn der Stammknoten des genannten nicht-übereinstimmenden Knotens ein übereinstimmender Knoten ist.
  • Bei einer weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Handhaben eines Knotens mit mehr als einem übereinstimmenden Vorfahrknoten, indem er relativ zu dem nächsten übereinstimmenden Vorfahrknoten gesetzt wird.
  • Bei einer weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Konservieren der Reihenfolge von nicht-übereinstimmenden Knoten des Quellenbaums, es sei denn, dass sie durch die Anwesenheit eines übereinstimmenden Knotens modifiziert wird.
  • Bei einer Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Arbeiten gemäß einer Lookup-Richtlinie, in der der Quellenbaum mit beweglicher Rolle als eine Resource behandelt wird, von der Knoten selektiv zum Zusammenführen ausgewählt werden.
  • Bei einer weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Erkennen eines Platzhalterknotens in dem Baum mit fester Rolle und zum Setzen eines Satzes von Knoten des Quellenbaums mit beweglicher Rolle in dem Zielbaum anstatt des Platzhalterknotens.
  • Bei einer Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Aktivieren der Zusammenführung als Reaktion auf ein vererbendes Quellendokument, welches zeigt, dass der Inhalt von einem vererbten Quellendokument vererbt werden sollte.
  • Bei einer weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Ermitteln, ob das vererbende Quellendokument eine Vererbung anfordert, indem es einen dies anzeigendes Flag liest.
  • Bei einer weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Lesen des genannten Flags aus dem vererbenden Dokument.
  • Bei einer noch weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Erkennen eines Flags, welches die benötigte Vererbung von einer Vielzahl von vererbten Dokumenten zeigt, und zum Zusammenführen der vererbenden und der mehreren vererbten Dokumente.
  • Bei einer Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum aufeinanderfolgenden Zusammenführen von Paaren von Dokumenten auf eine verschachtelte Weise, bis alle Quellendokumente zusammengeführt sind.
  • Bei einer weiteren Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Zusammenführen von Teildokumenten.
  • Bei einer Ausführungsform umfasst die Zusammenführungseinrichtung eine Einrichtung zum Arbeiten gemäß Zusammenführungsanweisungen, welche dynamisch von einer Regel unter Verwendung von aktuellen Parameterwerten erzeugt werden.
  • Bei einem anderen Merkmal stellt die Erfindung ein Verfahren zum Verarbeiten eines Quellendokuments bereit, um ein Zieldokument bereitzustellen, wobei das Verfahren durch ein Datenverarbeitungssystem ausgeführt wird und die Dokumente in elektronischer Form sind, dadurch gekennzeichnet, dass
    das Verfahren die Quellendokumente zusammenführt, durch:
    Parsen der Quellendokumente, um Quellenbäume zu erzeugen, die hierarchische Knotenstrukturen haben;
    Zusammenführen der Quellenbäume, um einen Zielbaum zu erzeugen; und
    Rendern des Zielbaums, um das Zieldokument bereitzustellen; und wobei der Zusammenführungsschritt aufweist:
    Identifizieren von Übereinstimmungscodes (X, Y, Z) in zumindest zwei Quellenbäumen;
    Einführen eines Einzelknotens entsprechend den Übereinstimmungsknoten im Zielbaum;
    Setzen anderer Knoten im Zielbaum in Bezug auf den Einzelknoten.
  • Bei einer Ausführungsform ist der Einzelknoten entweder (a) einer der Überstimmungsknoten oder (b) ein zusammengesetzter Knoten der Übereinstimmungsknoten, und eine Wahl von (a) oder (b) wird gemäß einer konfigurierbaren Richtlinie getroffen.
  • Bei einer anderen Ausführungsform wird das Zusammenführen durch ein Flag initialisiert, welches in einem Quellendokument eingebettet ist, welches zeigt, dass dies Inhalt von zumindest einem anderen Quellendokument vererben sollte.
  • Bei einer Ausführungsform wird ein Quellendokument so behandelt, als ob es eine feste Rolle hat, und ein anderes Quellendokument behandelt wird, als ob es eine bewegbare Rolle hat, in welcher die Struktur des festen Rollenquellenbaums bewahrt ist und die Struktur des bewegbaren Rollenquellenbaums geändert werden kann.
  • Bei einer anderen Ausführungsform erweist jedes der genannten Quellendokumente einen separaten Strang von assoziierten Inhalt auf, und das Verfahren zum Kombinieren der genannten Stränge von Inhalt zu einem einzelnen Zieldokument wird durchgeführt.
  • Bei einer Ausführungsform ist ein Quellendokument die Ausgabe einer Datenbankabfrage, und das Verfahren führt das genannte Ergebnis mit dem anderen Quellendokument zusammen.
  • Bei einer weiteren Ausführungsform wird ein Knoten des anderen Quellendokuments mit mehreren Knoten des Ergebnisquellendokuments zusammengeführt.
  • Kurzbeschreibung der Zeichnungen
  • Die Erfindung wird besser aus der folgenden Beschreibung einiger Ausführungsformen verstanden, die lediglich beispielhaft angegeben werden, in Bezug auf die beiliegenden Zeichnungen, in denen:
  • 1 ein Flussdiagramm ist, welches ein Dokumentverarbeitungsverfahren nach der Erfindung zeigt;
  • 2(a), 3(a) und 4(a) Quellendokumente und 2(b), 3(b) und 4(b) Bäume sind, die jeweils diese Dokumente zeigen;
  • 5 ein Bildschirm eines Zwischenzieldokuments ist, welches durch einen Browser angezeigt wird;
  • 6(a) ein weiteres Quellendokument ist, 6(b) ein Baum ist, der das Quellendokument zeigt, und 6(c) ein Bildschirm dieses Quellendokuments ist, wie dies durch einen Browser angezeigt wird;
  • 7(a) ein Baum eines Zieldokuments ist, 7(b) das Zieldokument HTML ist, und 7(c) das Zieldokument ist, wie dies durch einen Browser angezeigt wird;
  • 8 ein Diagramm ist, welches zeigt, wie die Quellenbäume von 2 bis 6 verschmolzen werden, um den Zieldokumentenbaum bereitzustellen; und
  • 9 bis 11 Diagramme von Bäumen sind, welche Verschmelzungsoperationen zeigen.
  • Beschreibung der Ausführungsformen
  • Gemäß 1 wird ein Dokumentverarbeitungsverfahren 1 mit vier Quellendokumenten wie folgt durchgeführt:
    HTML-Dokument 1, genannt "child.html"
    HTML-Dokument 3, genannt "buttons.html"
    HTML-Dokument 4, genannt "skins.html" und
    HTML-Dokument 5, genannt "parent.html".
  • Das child.html-Dokument 2 wird allgemein als "inheriting" (erbendes)-Dokument bezeichnet, da dies Flags hat, die darin eingebettet sind, die zeigen, dass dies Inhalt von zumindest einem anderen Quellendokument erben sollte. Aus Klarheitsgründen wird letzteres allgemein als geerbtes "Quellendokument" bezeichnet. Die Marken bei dieser Ausführungsform sind die Folgen "extends=", denen Namen/Bezeichnungen der relevanten geerbten Dokumente folgen. Gemäß 2(a) hat das Dokument Flags, um Inhalt von allen anderen Quellendokumenten 3, 4 und 5 zu erben.
  • Das Verfahren 1 umfasst einen Analyseschritt 6, bei dem der Aufbau (Syntax) des Quellendokuments 2 analysiert wird, um einen hierarchischen Strukturbaum 7 von Knoten zu erzeugen, wie in 2(b) gezeigt ist. Wie aus diesem Diagramm deutlich wird, ist der Datenkopf <html> ein Wurzelknoten, und abhängige Knoten sind <head> und <body>. Knoten, die diesen untergeordnet sind, umfassen <title>, <div> mainInsert und <div> skinSelect.
  • In gleicher Weise wird das Quellendokument 3, welches in 3(a) gezeigt ist, im Schritt 8 analysiert, um einen Baum 9 bereitzustellen, der in 3(b) gezeigt ist. Die Bäume 7 und 9 werden in einem Schritt 10 verschmolzen, um einen ersten Zwischenzielbaurn, der nicht gezeigt ist, bereitzustellen. Diese Bäume werden lediglich intern verarbeitet.
  • Das Quellendokument 4 (gezeigt in 4(a)) wird dann im Schritt 11 analysiert, um einen Baum 12 zu erzeugen, der in 4(b) gezeigt ist. Dieser wird im Schritt 13 mit dem ersten Zwischenbaum verschmolzen, um einen zweiten Zwischenbaum 14 bereitzustellen. Wenn der letztere durch einen Browser erbracht und angezeigt werden würde, würde er erscheinen, wie in 5 gezeigt ist. Diese weist einen Kopftastenbalken auf, der mit dem Inhalt des buttons.html-Quellendokuments 3 versehen ist, einen Hauptkörper, der mit dem Inhalt des child.html-Quellendokuments 2 versehen ist, und skins (HTML links), die durch den Inhalt des Quellendokuments 4 bereitgestellt werden.
  • Das Quellendokument 5 ist in 6(a) gezeigt. Dieses wird im Schritt 20 analysiert, um einen Baum 21 zu erzeugen, der in 6(b) gezeigt ist. Der Inhalt des Quellendokuments 5 ist in 6(c) gezeigt. Im Schritt 22 wird der Baum 21 mit dem Zwischenbaum 14 verschmolzen, um einen endgültigen Zielbaum 23 zu bilden, der in 7(a) gezeigt ist. Dies wird im Schritt 24 erbracht, um ein endgültiges Zieldokument 25 bereitzustellen, welches in 7(b) und 7(c) gezeigt ist.
  • Wie in 8 gezeigt ist, ist das endgültige Zieldokument 25 das Ergebnis des Quellendokuments 2, welches von den anderen drei Quellendokumenten 3, 4 und 5 geerbt wird. In diesem Dokument werden die Tastenbalken der Dokumente 2 und 5 zu einer einzigen Reihe 25.3 kombiniert und unter das Hauptbild 25.1 verschoben. Die Hypertext-Verknüpfun gen 25.2 und 25.4 verbleiben jedoch am Boden der Anzeige. Man wird es somit als vorteilhaft sehen, dass einiges des Inhalts umgeordnet und einiges nicht umgeordnet wird.
  • Wiederum bezugnehmend auf 7(a) haben die Verschmelzungsschritte die meisten Knoten der Quellendokumente 2, 3, 4 und 5 zur Folge, welche im Zieldokument 25 vorhanden sind. Jeder Verschmelzungsschritt jedoch identifiziert einige Knoten der beiden Quellenbäume, die als Übereinstimmungsknoten verschmolzen wurden und kombiniert diese, um einen zusammengesetzten Knoten im Zielbaum bereitzustellen. Zusammengesetzte Knoten sind durch dicke Außenlinien in 7(a) angedeutet. Diese sind die Knoten, die als <html>, <head>, <style>, <body>, <td id = "mainInsert"> und <td id = "buttonBar"> bezeichnet sind. Die übereinstimmenden Knoten der Quellenbäume sind derart identifiziert, da sie den gleichen Namen haben. Der Name des Knotens wird durch das id-Attribut angegeben. Dem zusammengesetzten Knoten wird dieser (gemeinsame) Name und die angehäuften Attribute der beiden übereinstimmenden Knoten gegeben.
  • In jedem Verschmelzungsschritt wird einem der Quellendokumente eine "feste Rolle" und dem anderen eine "bewegbaren Rolle" zugeordnet. Die Baumstruktur des festen Rollenbaums ändert sich nicht. Die Struktur des bewegbaren Rollenbaums kann jedoch innerhalb des Rahmenwerks des festen Rollenbaums geändert werden. Durch Vorgabe hat der geerbte Baum die feste Rolle und der erbende Baum hat die bewegbare Rolle.
  • Das Verfahren 1 wird durch einen Server durchgeführt, beispielsweise durch einen Java Servlet. Das Zieldokument 25 wird über den Server zum Kunden übertragen. Dies ist besonders nützlich, da dieser komplette Dokumente unmittelbar zum Kunden liefert. Das Verfahren 1 kann jedoch durch ein Kundensystem oder durch ein Editierwerkzeug durchgeführt werden, welches am Servereingang angeordnet ist. Das Editierwerkzeug verarbeitet Seiten in Ausführungszeit und zeigt das Zieldokument zur Billigung durch den Entwerfer an.
  • Folgendes ist eine Beschreibung einer Durchführung dieser Erfindung als eine Erweiterung eines Web-Servers, der HTML-Dokumente zu Standard-Web-Kunden liefert. Diese Durchführung nimmt die Form eines Java Servlet an, der über einen Web-Server läuft.
  • Die Quellendokumente sind unter Verwendung der XML-Syntax definiert und sind somit einfach zu analysieren. Ein Dokument besteht aus Elementen, entweder im Verbund oder einfach. Ein einfaches Element nimmt die Form an von <tag attribute-list/> oder einer Textfolge.
  • Ein Verbundelement wird geschrieben als:
    <tag attribute-list> (opening tag)
    andere Elemente (Ableitungen)
    </tag> (closing tag)
  • Eine Fahne (tag) ist ein einzelnes Wort, beispielsweise "html", "table" oder "a". Eine Attributliste von benamten Werten, getrennt durch Abstände. Beispielsweise id = "myTable" inheritTag= "no".
  • Die XML-Vokabularunterstützung ist sehr ähnlich xHTML, fügt jedoch folgendes hinzu:
    • • Ein Element <extend/>, welches einen Platzhalter zeigt, der unten beschrieben wird
    • • Ein Attribut "id" wird für alle Marken unterstützt. Dies liefert einen Namen für den Knoten.
    • • Ein Attribut "extends" wird für alle Marken unterstützt. Dieses Attribut zeigt die Dokumente, von denen dieses Element zu erben ist.
    • • Ein Attribut "nestable" wird für alle Marken unterstürzt. Dieser Wert ja/nein zeigt, ob das Element zu verschachteln ist.
    • • Überschreiben_Attribut (overwrite_attribute) = Ja/Nein. Dieses Attribut wird für alle Marken unterstützt, und zeigt, ob die geerbten Attribute die geerbten Attribute überschreiben.
    • • Ein Attribut "inherit_tag" wird für alle Marken unterstützt. Dieser Wert Ja/Nein zeigt, ob der zusammengesetzte Knoten zu konstruieren ist, um den Knoten vom Vererbungsbaum (falsch) oder vom vererbten Baum (wahr) zu begünstigen ist. Die Vorgabe ist "wahr".
    • • Relativreferenzen in html-Marken, beispielsweise href-Attribute in <a>-Marken werden in Absolutreferenzen übertragen. Dies bedeutet, dass, wenn eine Relativverknüpfung in ihrer ursprünglichen Datei korrekt ist, diese in jedem Dokument, welches sie erbt, korrekt sein wird.
    • • Die Syntax, Relativreferenzen zu absoluten Referenzen aufzulösen, besteht darin, der Referenz mit "./" vorherzugehen (ein Punkt und ein Schrägstrich). Diese Syntax ist allgemein für Web-Browser transparent (d.h., unsichtbar), jedoch für die Verschmelzungssoftware signifikant.
    • • Vererbungsrichtlinie zeigt die geeignete Vererbungsrichtlinie.
  • Jeder Knoten eines Baums enthält folgendes:
    • • Fahne (tag) – eine Folge
    • • Id – speichert die Id des Knotens
    • • Ableitung – eine Listung von Knoten
    • • Stamm – eine Verknüpfung zu dem Knoten des Stamms
    • • Text – ein Feld, welches verwendet wird, Textinhalt eines Elements zu speichern, beispielsweise einen Kommentar oder ein Teststück von der html-Datei.
  • Das Zieldokument kann anderen Übersetzungen unterworfen werden, bevor es zum Browser geliefert wird, beispielsweise XSLT-Übersetzungen oder einem Verschmelzen von Daten von Datenbanken. Das Ziel wird in HTML umgesetzt, durch Durchlaufen des Baums und Erzeugen geeigneter HTML für jeden Knoten. Das Durchlaufen ist rekursiv. Die Öffnungsfahne wird für jedes Element erzeugt, danach werden die Zweige des Baums, die bei jeder Ableitung empfohlen werden, durchquert, und dann wird die Schließfahne erzeugt.
  • Der Verschmelzungsbetrieb wird nun ausführlicher mit Hilfe von 9, 10 und 11 beschrieben. 9 zeigt einen Quellenbaum, der aus Knoten besteht, die den Namen F1 bis F23 haben. Die Knoten F9, F13 und F16 werden auch als Buchstaben "Z", "X" bzw. "Y" bezeichnet. 10 zeigt einen Quellenbaum, der aus Knoten M1 bis M24 besteht. Die Knoten M2, M4 und M18 sind ebenfalls durch die Buchstaben "Y", "Z" bzw. "X" identifiziert. 11 zeigt einen Zielbaum, der aus dem Verschmelzen des Baums von 9 in einer festen Rolle mit dem Baum von 10 in einer bewegbaren Rolle resultiert.
  • Anschließend erfolgt eine Erläuterung, wie die Lage jedes bewegbaren Knotens M0 bis M24 für den Zielbaum bestimmt wird.
    M0 M0 geht M4 vorher. M4 ist ein Abkömmling von F2, so dass M2 F2 vorhergehen muss
    M4 stimmt mit F09 überein
    M5 ist Abkömmling von M4
    M6–M8 sind Abkömmlinge von M5
    M11, M12, M13
    M14–M17 geht M18 vorher, und M18 ist ein Abkömmling von F16, so dass M11–17 F16 vorhergehen müssen
    M2 stimmt mit F16 überein
    M3 Abkömmling von M2
    M9 Abkömmling von M2
    M10 Abkömmling von M9
    M19 M19 ist ein Abkömmling von M18, M18 stimmt mit F13 überein, so ist M19 ein Abkömmling von M18/F13-Zusammensetzungsknoten und nachdem Abkömmling angeordnet ist, der von F13 geerbt wurde.
    M20 Abkömmling von M 19
    M21–23 Abkömmling von M20
    M24 Abkömmling von M18
  • Das Dokumentverschmelzungsverfahren 1 erlaubt, dass Quellendokumente, welche separate Stranginhalte enthalten, kombiniert werden können, um ein Zieldokument zu erzeugen. Das Wort "Strang" bedeutet Inhalt, der beispielsweise in Verbindung mit einem Bild und einem damit verknüpften Textparagraphen in Verbindung steht. Die Quellendokumente und das Zieldokument können jeweils unterschiedliche Syntax-Regeln beachten. Beispielsweise kann das vererbende Quellendokument xHTML enthalten, das vererbte Quellendokument XML und das Zieldokument könnte HTML sein. Der Prozess kann auf Dateien irgendeiner block-strukturierten Sprache angewandt werden und die resultierende Datei kann in irgendeiner anderen Sprache übersetzt werden. Es gibt somit eine ausgezeichnete Vielseitigkeit zum Kombinieren von Inhalt.
  • Das Verfahren ist nicht symmetrisch, d.h., ein Dokument A, welches mit einem Dokument B verschmolzen wird, erzeugt ein anderes Ergebnis gegenüber einem Dokument B, welches mit dem Dokument A verschmolzen ist. Der Verschmelzungsschritt wird durch logisches Addieren von Knoten der Dokumente in der bewegbaren Rolle zur Struktur des Dokuments in der festen Rolle erreicht, bei geeigneter Lage. Dieser Prozess bewahrt die Reihenfolge von Elementen des Dokuments in der festen Rolle, jedoch bewahrt dieser nicht die Reihenfolge von Elementen vom Dokument in der bewegbaren Rolle.
  • Ein Dokument, welches in der festen Rolle geerbt wird, wird seine Gesamtstruktur bewahren. Das Vererben in der festen Rolle würde beispielsweise in dem Fall einer HTML-Seite nützlich sein, die Mehrfachsprachen unterstützt. Eine solche Seite könnte von einem anderen Stamm in Abhängigkeit von der angeforderten Sprache erben. Jede Sprache, die unterstützt wird, kann in einem separaten vererbten Dokument definiert werden und zu einer bewegbaren Rolle verschmolzen werden, um ein endgültiges Dokument in der Wahlsprache des Benutzers erzeugen.
  • Betrachtet man das Kombinieren von übereinstimmenden Knoten, so werden die Quellenbaum-Wurzelknoten immer als Übereinstimmungsknoten angesehen. Andere Übereinstimmungsknoten können durch eine Anzahl von Einrichtungen identifiziert werden. Bei dieser Ausführungsform zeigen Element-Identifizierer (Namen) Knoten, die verschmolzen werden. Übereinstimmende Knoten können alternativ beispielsweise durch Bezugnahme auf die Grammatik oder Strukturregeln identifiziert werden, die extern zum Dokument gespeichert sind, oder Syntax der innerhalb der Dokumente. Ein weiteres Verfahren zum Identifizieren von Übereinstimmungsknoten besteht darin, bekannte Elemente in der Struktur eines Dokuments in Übereinstimmung zu bringen. Beispielsweise wird ein HTML-Dokument immer ein html-Element haben und üblicherweise ein Kopf- und ein Körperelement haben. Es ist vorher bekannt, dass beide Dokumente, die verschmolzen werden, html-Dokumente sind, dann das System diese Knoten als Übereinstimmungsknoten behandeln kann. Ein weiteres Verfahren basiert auf Pfaden in Bezug auf die Knoten, wobei möglicherweise ein Werkzeug auf der Basis des XPATH W3C Standards verwendet wird. Diese können auch Mehrfach-Übereinstimmung sein, bei dem ein fester Baumknoten mit mehrfachen bewegbaren Baumknoten übereinstimmt. Dies kann durch wilde Kartenzeichen angedeutet sein ("Muster"). Eine Anwendung dieses Mechanismus behandelt das Ergebnis einer Datenbankanfrage als bewegbarer Rollenbaum.
  • Der zusammengesetzte Knoten wird von einem Mechanismus gebildet, der für die Knoten, die gerade verarbeitet werden, geeignet ist. Beispielsweise umfasst bei HTML und XML ein Knoten eine Fahne und eine Liste von benamten Attributen oder eine Textinhaltsfolge.
  • Beispielsweise:
    <table id="myTable" border="2">
    das Wort "table2 ist eine Fahne und die Attribute sind "id" mit einem Wert von "myTable" und "border" mit einem Wert von "2".
  • Der Prozess zum Bilden eines zusammengesetzten Knotens kann entweder den Knoten vom vererbenden Baum oder den Knoten vom vererbten Baum begünstigen. Ein Mechanismus zum Verschmelzen von HTML/XML-Fahnen ist der, dass der zusammengesetzte Knoten die Fahne von dem Knotenpunkt der vererbten Baums nimmt und die Attributliste zusammenfügt. Wenn der Knoten des vererbten Baums und der Knoten des vererbenden Baums die gleichen Attribute haben, wird der Wert des Attributs vom vererbten Baumknoten verwendet. Von diesem Mechanismus sagt man, dass er den vererbten Baum begünstigt. Ein alternativer Mechanismus begünstigt den vererbenden Baum, d.h., er verwendet den Attributwert vom vererbenden Baum und wo beide das gleiche Attribut haben. Ein weiterer Mechanismus besteht darin, ein Attribut in einem oder dem anderen Knoten zu verwenden, um zu zeigen, welcher Knoten zu begünstigen ist. Beispielsweise zeigt ein Attribut inherit_tag="yes", dass der zusammengesetzte Knoten aufzubauen ist, indem der vererbte Dokumentknoten begünstigt wird. Eine Verfeinerung dieses Mechanismus erlaubt es dem System, die Fahne des vererbten Knotens und die Attribute des vererbenden Knotens und umgekehrt begünstigen. Dies kann unter Verwendung eines zweiten Attributs erreicht werden, beispielsweise "overwrite_attributs"="yes" oder "no". Dieser Attributwert kann zeigen, ob Fahnen-Attribute mit Werten von dem vererbten Element zu überschreiben sind. Alternativ können Attributwerte miteinander verkettet sein. Das Vorgabe-Verhalten ist dies, dass ein zusammengesetztes Element die Fahne des vererbten Knotens erbt, jedoch nicht die Attribute des vererbenden Knotens überschreibt, d.h., inherit_tag="yes", overwrite_attributes="no".
  • In der folgenden Beschreibung bezieht sich der Ausdruck "fixed node" auf einen Knoten von dem Baum, der in der festen Rolle ist, für den Verschmelzungsbetrieb. Der Ausdruck "movable node" bezieht sich den Knoten von dem Baum, der in der bewegbaren Rolle ist. Der Ausdruck "fixed children" bedeutet Ableitungsknoten des "festen Knotens". Der Ausdruck "movable children" bedeutet Ableitungsknoten des "bewegbaren Knotens". Folgendes sind die Regeln für die Verschmelzungsschritte.
    • • Bäume werden durch Identifizieren der übereinstimmenden Knoten verschmolzen.
    • • Wurzelknoten der beiden Bäume werden immer als übereinstimmende Knoten behandelt.
    • • Der Wurzelknoten des Zielbaums ist eine Zusammensetzung der Wurzelknoten der beiden Quellenbäume.
    • • Die Beziehung der Reihenfolge aller Knoten des festen Baums wird bewahrt.
    • • Ein Paar von übereinstimmenden Knoten verursacht einen einzelnen zusammengesetzten Noten, der dem Zielbaum in einer Lage des übereinstimmenden Knotens vom festen Baum hinzuzufügen ist.
    • • Der zusammengesetzte Knoten kann aus Information im bewegbaren Knoten, dem festen Knoten oder beiden aufgebaut sein.
    • • Ein übereinstimmender Knoten (und der Hilfsbaum, von dem er die Wurzel ist) vom bewegbaren Baum wird in die Stelle seines übereinstimmenden Knotens vom festen Baum verschmolzen.
    • • Wenn der feste Baum einen Platzhalterknoten enthält, werden die bewegbaren Ableitungen dieses Knotens in die Position des Platzhalters versetzt. Ein Platzhalterknoten wird anschließend beschrieben.
    • • Ein nicht-überstimmender Knoten vom bewegbaren Baum wird dem Zielbaum als eine Ableitung des Knotens zugefügt, der seinen Stamm vom bewegbaren Baum zeigt. Wenn es eine Ableitung des Wurzelknotens gibt, wird diese Ableitung der Wurzel im Zielbaum gesetzt. Wenn dessen Stamm ein Übereinstimmungsknoten ist, wird dieser nach den Ableitungsknoten vom übereinstimmenden Knoten des festen Baums gesetzt, wenn diese Ordnung nicht durch einen Platzhalterknoten oder einen anderen Übereinstimmungsknoten modifiziert wird.
    • • Wenn ein Knoten mehr als einen Vorfahr hat, d.h., einen Übereinstimmungsknoten, wird der relativ zum nächsten übereinstimmende Vorfahr im Zielbaum gesetzt.
    • • Die Reihenfolge von Nicht-Übereinstimmungsknoten vom bewegbaren Baum wird beibehalten, wenn diese nicht durch das Vorhandensein eines Übereinstimmungsknotens oder eines Platzhalters modifiziert wird.
  • Wenn es keine Übereinstimmungsknoten oder Platzhalter gibt, welche die Reihenfolge von Ableitungen beeinträchtigen, wird normalerweise die Liste von Ableitungen eines zusammengesetzten Knotens die Liste von Ableitungen vom festen Knoten sein und die Liste von Ableitungen vom bewegbaren Knoten verkettet sein, so dass die festen Ableitungen den bewegbaren Ableitungen vorhergehen.
  • Ein "Platzhalter"-Knoten im festen Baum ist ein Dummy-Konten, der zeigt, dass die Knoten, die diesem vorhergehen, den Knoten vom bewegbaren Baum in der resultierenden Liste vorherzugehen sind, während die Knoten, die darauf folgen, den Knoten vom bewegbaren Baum folgen müssen. Effektiv ersetzen die Ableitungen des bewegbaren Knotens den Platzhalterknoten. Wenn ein Platzhalterknoten einen Namen hat, der mit einem von dessen Vorfahrknoten übereinstimmt (d.h., einem der Knoten über diesen in der Baumstruktur), zeigt dies dann, dass der Platzhalterknoten durch die Ableitungsknoten der benamten Vorfahr-Übereinstimmungsknoten des bewegbaren Baums zu ersetzen ist. Wenn der Platzhalter keinen Namen hat, kann das Vorgabe-Verhalten definiert werden. Ein Beispiel eines möglichen Vorgabe-Verhaltens besteht darin, dieses zu behandeln, als ob dieses den Namen seines unmittelbaren Stamms hat. Bei der bevorzugten XML-Ausführungsform dieser Erfindung ist das Platzhalterelement das "<extend/>"-Element.
  • Ein Platzhalterknoten kann zeigen, welches bewegbare Rollendokument sich darauf bezieht. Dies kann mittels einer zusätzlichen Steuereinstellung für den Knoten erreicht werden. Dies kann ein Attribut der XML-Fahne sein, beispielsweise: <extend src = "parent list">. Das Vorgabeverhalten bei Nichtvorhandensein dieses Attributs würde sein, dass sich der Platzhalter auf alle Dokumente bezieht, welche in der bewegbaren Rolle vererbt werden.
  • Bei einigen Anwendungen kann es geeigneter sein, dass Elemente lediglich vererbt werden, wo diese nicht im vererbenden Dokument existieren, oder dass übereinstimmende Elemente vollständig durch das Element vom vererbten Dokument bevorzugt als verschmolzen ersetzt werden.
  • Diese alternativen Arten zum Durchführen von Vererbung werden als "Vererbungs-Richtlinien" bezeichnet. Acht Vererbungs-Richtlinien sind definiert: prefer_inherited; prefer_inheriting; merge; merge_only; lookup_policy; prefer_fixed; prefer_movable; und ignore. Das Wort "Prefer" zeigt, dass, wenn einem Übereinstimmungsknoten begegnet wird, eine Kopie des Knotens (und des Hilfsbaums) lediglich vom bevorzugten Baum dem Zielbaum hinzugefügt wird. "Merge" zeigt, dass die Knoten und die Hilfsbäume wie oben beschrieben verschmolzen werden sollen. Die Richtlinie "merge_only" zeigt, dass ein Knoten vererbt wird und lediglich vermischt wird, wenn er sowohl in dem vererbten als auch dem zu vererbenden Dokumenten auftritt. In der lookup_policy wird der bewegbare Rollenbaum wie eine Quelle behandelt, von welcher der feste Rollenbaum übereinstimmende Knoten aufsammelt und diese und deren Abkömmlinge zu seiner Struktur verschmilzt. Elemente, die nicht-übereinstimmen, werden nicht verschmolzen.
  • Hilfe für unterschiedliche Verschmelzungs-Richtlinien ist wichtig, da unterschiedliche Arten von Inhalt unterschiedliche Handhabung erfordern können. Beispielsweise sollte ein ausführbarer Script-Inhalt nicht verschmolzen werden, während ein anderer HTML-Layout-Inhalt verschmolzen werden kann.
  • Das System trifft keine Annahmen über den Inhalt der Dokumente, die verschmolzen werden. Beispielsweise erzeugt die Datei "buttons.html", die in 3(a) gezeigt ist, einen einzelnen Baum (3(b)). Dies ist für die Zwecke dieser Erfindung akzeptabel. Der Inhalt buttons.html ist jedoch keine gültige HTML-Datei, da diese kein oberstes html-Element enthält. Wenn der Syntax der Sprache eines Dokuments nicht speziell ein einzelnes oberstes Element für ein Dokument angibt, kann diese Erfindung doch noch angewandt werden, wenn ein Kopf-Pegel-Element im Analyseschritt synthesiert wird.
  • Wie in 1 gezeigt ist, kann ein Dokument aus einer Liste von Dokumenten erben, welche als ihre "inherit list" bezeichnet wird. Vererbung geschieht in der folgenden Reihenfolge:
    • • Rekursives Durchführen von Vererbung in Bezug auf jeden Abkömmling des aktuellen Knotens als separater Baum.
    • • Wenn der laufende Knoten von anderen Dokumenten erbt, wiederum vererben von jedem Dokument in der Vererbungsliste. Dies wird durch Bilden eines zusammengesetz ten Knotens vom aktuellen Knoten erreicht und vom Wurzelknoten des Dokuments, von dem geerbt wird. Der zusammengesetzte Knoten wird zur Wurzel des Zielbaums. Der Hilfsbaum, der am aktuellen Knoten beginnt, und der Baum, der durch das Dokument gezeigt wird, von dem geerbt wird, werden dann unter Verwendung der angezeigten Richtlinie oder der Vorgabevererbungs-Richtlinie verschmolzen, um den Zielbaum zu bilden. Der Zielbaum wird dann als Dokument verwendet, der vom nächsten vererbten Dokument in der Liste erbt.
  • Da jeder Abkömmlingsknoten wie ein separater Baum verarbeitet wird, beeinträchtigt dessen Vererbung nicht seine Geschwister oder andere Knoten im Baum. Dies ist ein rekursiver Betrieb, der das Enddokument in einer Ordnung vom Boden nach oben bildet.
  • Ein Dokument kann eine Anzahl separater Bäume (Elemente) aufweisen. Dies kann angewandt werden, wenn ein Baum als Hauptbaum in einem Dokument identifiziert werden kann. Die anderen Bäume (d.h., diejenigen, die nicht der Hauptbaum sind) können als Bäume zum unmittelbaren oder nicht-unmittelbaren Vererben durch Elemente innerhalb des Hauptbaums dienen. Diese Anordnung erlaubt, dass ein einzelnes Dokument wieder verwendbare Elemente innerhalb von diesem enthalten kann.
  • Der Verschmelzungsprozess kann unter Verwendung von Parametern verbessert werden. Beispielsweise können Attribute des vererbenden Knoten als Parameter zum Vererben dienen. Unter Verwendung von parametrisierter Vererbung kann jede Vererbungsinstanz eines Dokuments ein anderes Zieldokument ergeben. Dies ist ein besonders wichtiges Merkmal, wenn dieses mit einer Script-Ausübungsmaschine kombiniert wird.
  • In einigen Fällen kann es geeigneter sein, Verbundelemente bevorzugt gegenüber diesen zu verschmelzen zu verschachteln. Als Beispiel sollten Rahmensatz-Elemente bei HTML unterhalb verschachtelt werden, bevorzugt als zu dem vererbenden Element zu verschmolzen zu werden. Das Element verschachteln kann durch einen geeigneten Syntax in der block-strukturierten Sprache hervorgerufen werden. Bei HTML oder XML könnte dies durch das "verschachtelbare" Attribut geschehen, welches der offnen Fahne eines Elements hinzugefügt wird. Beispielsweise:
    <frameset id="dxe_html_frameset" nestable="yes">
  • Diese Einstellungen können extern zum Dokument definiert sein.
  • Wenn ein Element anzeigt, dass dies von einer Liste anderer Elemente erbt, wird das Element mit im ersten Element verschmolzen. Der resultierende Baum wird dann mit dem zweiten aufgelisteten Element verschmolzen usw., bis die Liste der Elemente erschöpft ist. Eine weitere Ausführungsform der Erfindung könnte eine andere Sequenz verwenden, um "multiple inheritance" durchzuführen. Jedes vererbte Dokument wird bei einem separaten Verschmelzungsbetrieb vererbt.
  • Der Vererbungsbetrieb wird durch Information gesteuert, welche in vererbten oder zu vererbenden Dokumenten oder sonst wo gespeichert ist. Diese Steuerinformation wird als "inheritance attributes" für ein Element bezeichnet. Die Vererbungsattribute werden in den Dokumenten gespeichert, wo die Sprache dies unterstützt. Wenn die Sprache nicht diese Erfordernisse unterstützen kann, ist es möglich, die notwendige Information in separaten Steuerdokumenten, Dateien einer Datenbank zu speichern, oder einige statistische Regeln zu verwenden, um den Vererbungsprozess einzeln anzugeben und zu steuern.
  • Die Vererbungsliste kann durch ein Attribut gegenüber der sich öffnenden Fahne eines Elements beispielsweise so angezeigt werden:
    <table extends= "comminTable.html">
  • Der Wert des Attributs kann wie oben beschrieben statisch sein, oder kann unter Verwendung einer geeigneten Syntax eine Formel, Gleichung oder Script sein. Beispielsweise könnte die folgende Syntax zeigen, dass der Attributwert als Script zu behandeln ist:
    <table extends=" {isNetscape0?'netscapeTable.html':'explorerTable.html'}">
  • Der obige Script ist als Beispiel lediglich als eine Script-Sprachen-Festlegung angegeben. Es ist beabsichtigt, dass dieser zu interpretieren ist, als "if the browser is NetscapeTM then inherit from the file netscapeTable.html otherwise inherit from the file explorerTable.html".
  • Mehrfachdateien, welche als "Vererbungsdatei" für das Element zu spezifizieren sind. Beispielsweise eine durch Komma getrennte Liste:
    <table extends="commonTable.html,mainTable.html">
  • Der Syntax erlaubt es außerdem einem Dokument anzugeben, ob Vererbung in der festen Rolle oder in der bewegbaren Rolle durchzuführen ist. Dies kann beispielsweise unter Verwendung eines anderen Attributs erreicht werden, um Vererbung in jeder Rolle anzuzeigen: beispielsweise zeigt "extends" Attribut Vererbung in der bewegbaren Rolle, während "use"-Attribut Vererbung in der festen Rolle zeigt. Alternativ kann es einen Syntax geben, welche die Rolle zeigt, in welcher Vererbung durchzuführen ist. Beispielsweise könnte das Umschließen eines Dokumentnamens zeigen, dass das Dokument in der bewegbaren Rolle bei der Vererbung ist.
  • Es kann einen Mechanismus für ein Dokument geben, um zu zeigen, welche Rolle in jeder Vererbung zu erfüllen ist. Beispielsweise kann ein html-Dokument, welches verwendet, die native Sprache einer Seite zu definieren, am nützlichsten sein, wenn diese in der be wegbaren Rolle geerbt wird. Dies kann mittels eines inherit_role="moveable"-Attributs in der sich öffnenden Fahne des html-Elements angezeigt werden (das äußerste Element in einem html-Dokument). Alternativ kann ein Element innerhalb des Kopfelements des html-Dokuments die gleiche Tatsache zeigen. Der Versuch, eine derartige Datei in der festen Rolle zu vererben, bewirkt eine Warnung.
  • Die vererbte Datei kann durch einen relativen oder absoluten Dateinamen identifi ziert werden, oder mittels einer anderen Namungs-Konvention, beispielsweise Internet-URLs. Die Dokumente, welche in der Vererbungsliste angezeigt werden, können auf dem gleichen Computer oder auf einem anderen Computer gespeichert sein, oder sie können von einer anderen Einrichtungsart wiedergewonnen oder geliefert werden, beispielsweise über HTTP.
  • Ein alternatives Verfahren, um die vererbten Dokumente eines Dokuments anzuzeigen, besteht darin, eine Verknüpfungs-Fahne zu verwenden: beispielsweise
    <link href="parent url" type="text/html"/>
  • Die vererbte Datei muss nicht notwendigerweise ein komplettes Dokument sein. Da die Vererbung in Bezug auf Element-Element-Basis arbeitet, ist es möglich, von einem individuellen Dokument in einem Dokument bevorzugt zu einem vollständigen Dokument zu erben. Dies kann dadurch eine geeignete Syntax in der Vererbungsliste spezifiziert sein. Im Fall von einem URL existiert schon eine geeignete Syntax – der Anker in einer URL folgt dem Dateipfad und wird von diesem durch das Quersummenzeichen "#" getrennt. Dieses wird dazu verwendet, den Namen eines Elements in einem Dokument anzugeben. Beispielsweise:
    <table extends="commonTable.html#ctable">
  • Es ist beabsichtigt, dass diese Funktionalität erweitert werden kann, um Kopie von Elementen zuzulassen, um Verschmelzung von Tabularinformation, beispielsweise der Ergebnisse von Datenbankanfragen zu liefern. Es ist außerdem beabsichtigt, einen Musterübereinstimmungsmechanismus zu verwenden, da der Anker eines vererbten Dokuments zusätzliche Funktionalität in diesem Zusammenhang bereitstellen wird. Die allgemeine bekannte Xpath-Sprache ist ein geeigneter Mechanismus hier, da diese bestimmt ist, Elemente im XML-Dokument zu beschreiben. Außerdem kann die Vererbung unter Verwendung von Mustern (Wildkarten-Zeichen) in einem Knotenidentifizierer erweitert werden.
  • Wie bei jedem URL kann sich ein Dokument auf sich selbst beziehen, indem es lediglich einen Anker enthält, beispielsweise "#MYTABELE".
  • Das folgende ist ein Beispiel, wo die Information, die Vererbung steuert (die Vererbungsattribute), in separaten Elementen gespeichert ist.
    <table>
    <nodeName>myTable</nodeName>
    <extends>commonTable.html</extends>
    <extends>mainTable.html</extends>
    <inheritance_policy>merge</inheritance_policy>
    </table>
  • Alternativ kann die gleiche Information als Attribute ausgedrückt werden:
    <table id = "mytable" extends = "commonTable.html, mainTable.html" merge_policy = "merge">
  • Die Vererbungsattribute, die verwendet werden, sind in der Tabelle 1 unten gezeigt. Jedes dieser Attribute kann für jedes Element definiert werden:
  • Tabelle 1
    Figure 00180001
  • Wo Seiten als Antwort auf Anfragen erzeugt werden, beispielsweise in einem http-Server für das World Wide Web, kann Information, welche in der Anfrage geliefert wird, verwendet werden, um die Vererbungsliste zu erzeugen. Dies kann durch Bereitstellen im Text der Anfrage der Namen der vererbten Seiten erreicht werden. Alternativ könnte ein Teil der Anfrage durch ein Script oder einen anderen programmierten Agenten verwendet werden, um die geeignete Liste unter Bezugnahme auf andere Information zu bestimmen, die von dieser von einer externen Quelle verfügbar ist, beispielsweise einer Konfigurationsdatei, einer Datenbank oder einem Sitzungsobjekt, d.h., einem Objekt, welches Information über den Benutzer und dessen Aktivität enthält.
  • Wo ein Dokument eine bekannte Struktur hat, kann dann ein bestimmtes Vorgabeverhalten in den Verschmelzungsprozess eingebaut werden. Beispielsweise haben HTML-Dateien eine Struktur, die aus einem html-Element bestehen, welches ein Kopfelement und ein Bodenelement enthält. Eine mögliche Kurzregel würde sein, anzunehmen, dass die Kopfelemente Übereinstimmungsknoten sind und dass die Körperelemente Übereinstimmungsknoten sind, wenn html-Dokumente verschmolzen werden. Dies würde die Notwendigkeit nach dem html-Autor beseitigen, um Übereinstimmungs-id-Werte in jedem der Elemente zu platzieren.
  • Der Vererbungsbetrieb, der in 2(a) bis 7(c) gezeigt ist, nutzt einige zusätzliche Übereinstimmungsinformation, welche im Text der Dokumente nicht expliziert ist. Diese Information basiert auf der Tatsache, dass html-Dokumente einer bekannten Struktur folgen, die so ist, dass das oberste Element ein html-Element ist, und ein html-Element einen Kopf und ein Bodenelement enthält. Wegen dieser Kenntnis behandelt die Verschmelzungsprozedur den html, den Kopf und die Körperelemente der Ableitungs- und Stammdokumente wie Übereinstimmungsknoten. Wenn diese Kenntnis nicht verfügbar war, um die Prozedur zu verschmelzen, könnte das gleiche Ergebnis dadurch erreicht werden, indem "id"-Attribute, die übereinstimmen, in jeder Fahne eingestellt werden, beispielsweise:
    <html id = dxe_html>
    <head id = dxe_html_head>
    <body id = dxe_html_body>
  • Wie oben beschrieben wird die vollständige hierarchische Struktur eines Dokuments zu einem Baum zergliedert. Bei einer alternativen Anwendung wird lediglich ein Bereich des Dokuments analysiert und die unteren Pegel der Hierarchie werden ignoriert. Wenn man wiederum ein HTML-Dokument als Beispiel verwendet, könnte das System ein html-Dokument auf eine Maximalanzahl von drei Pegeln zergliedern (analysieren), d.h., auf den Pegel von individuellen Fahnen innerhalb des Kopfes des Bodenelements, wobei jedes Element bei diesem Pegel wie ein Blatt der Baumstruktur behandelt wird.
  • Stränge (verknüpfter Inhalt), welche in separaten Dokumenten definiert sind, können Verknüpfungen zu anderer Information enthalten. Diese Verknüpfungen können entweder absolute oder relative Verknüpfungen sein. Relative Verknüpfungen verwenden als Startpunkt die Lage der Verknüpfung. Wenn die relative Verknüpfung auf eine andere Stelle kopiert wird, was beispielsweise vorkommt, wenn Vererbung stattfindet, wird die relative Verknüpfung ungültig werden. Daher stellt die Erfindung das Abbilden von relativen Verknüpfungen zu absoluten Verknüpfungen bereit, bevor diese zu einem neuen Dokument vererbt werden. Ein Mechanismus, diese Abbildung zu unterbinden, ist ebenfalls vorgesehen. Das Umsetzen einer Verknüpfung von einer relativen Verknüpfung in eine absolute Verknüpfung ist einfacher Betrieb. Wenn beispielsweise eine Datei an einer Stelle www.docland.com/index.html mit dem Wert "products.html" gespeichert ist. Dies hat die absolute url zur Folge:
    www.docland.com/products.html.
  • Man hat sich vorgestellt, dass die vorliegende Erfindung zusätzliche Funktionalität aufweisen kann. Man sich vorgestellt, dass beispielsweise Inhalt, beispielsweise JavaScript-Elemente vorverarbeitet werden könnten, um Fehler zu lokalisieren und Funktion sicherzustellen und variable Namen nicht zusammenprallen, und allgemein, um verlässlichere Unterstützung für die erweiterte Funktionalität durchzuführen, die durch diese Erfindung bereitgestellt wird. Dies würde die Entwicklungszeit für Web-sites weiter reduzieren.
  • Man hat sich vorgestellt, dass unter Verwendung der vorliegenden Erfindung Software-Verlässlichkeit verbessert wird, da die Funktionalität jedes Strangs unmittelbar geprüft werden kann. Inhaltsstränge können bei vielen Dokumenten wieder verwendet werden. Außerdem kann ein Strang, der einmal ausgeführt wurde, wieder hergenommen werden, um die Leistung oder Funktionalität zu verbessern. Fehler, welche von Abhängigkeiten zwischen verschiedenen Teilen eines Dokuments auftreten, können minimiert werden, da diese untereinander abhängigen Elemente zusammenverpackt und zusammenvererbt werden können.
  • Man wird es schätzen, dass, wo die Erfindung in einem Browser (kundenseitige Durchführung) durchgeführt wird, diese wesentlich die Kommunikationsbandbreite reduzieren kann, die erforderlich ist, Seiten vom Server zum Kunden zu übertragen. Dieser Vorteil entsteht aus der Tatsache, dass vererbte Dokumente vom Server zum Kunden einmal übertragen werden können und auf der Maschine des Kunden gespeichert werden können. Der Kunde kann diese gespeicherte Kopie für jede nachfolgende Vererbungsseite wieder verwenden. Dieser Vorteil wird besonders nützlich für Einrichtungen sein, welche durch Schmalbandbreitenkanäle, beispielsweise mobile drahtlose Einrichtungen verbunden sind.
  • Ein Hauptvorteil ist der, dass die Erfindung einen Weg bereitstellt, bei dem deutlich separate Informationsstränge von unterschiedlichen Quellendokumenten kombiniert werden, die wieder verwendet werden können, um ein Zieldokument zu bilden, um somit ein System auf "Komponenten"-Basis zum Erzeugen von Dokumenten zu unterstützen.
  • Die vorliegende Erfindung ist nicht auf HTML beschränkt, sondern kann auf einem weiten Bereich von Sprachen auf Blockstruktur angewandt werden, beispielsweise: WML, XML, XH#TML, DHTML oder weitere SGML-Ableitungen. Die vorliegende Erfindung kann auch bei anderen block-strukturierten Sprachen, beispielsweise Benutzerschnittstellen-Resource-Dateien angewandt werden, auf Programmiersprachen Pascal und C, und auch auf Sprachen, die verwendet werden, 2- oder 3-dimensionale Layouts und Strukturen oder integrierten Schaltungen zu definieren. Die Erfindung wendet sich außerdem auf Spra chen und Datenstrukturen, die verwendet werden, Wissenschafts-, Ingenieur- oder Geschäftsinformation; Spiele, Kryptographie und andere Bereiche von Informationstechnologie zu speichern. Die vorliegende Erfindung sieht außerdem eine Weise vor, Dokumente und Sammlungen von Dokumenten durch Beseitigung von Kopierinhalt zu komprimieren.
  • Es ist weiter vorteilhaft, dass, wenn block-strukturierte Sprache bei der Darstellung der Erfindung in diesen Dateien erläutert wurde, diese die gesamte elektronische Information umfasst.
  • Es ist außerdem vorteilhaft, dass die Erfindung bei Dokumenten angewandt werden kann, ohne aktuell einen vollständigen Baum für beide Dokumente zu bilden. Eine alternative Ausführungsform dieser Erfindung kann auf den gleichen Verschmelzungsprozess angewandt werden, ohne eine vollständige hierarchische Darstellung der Dokumente zu bilden.
  • Es soll weiter als vorteilhaft anerkannt werden, dass die Darstellung der hierarchischen Datenstruktur für ein Dokument in einer Vielzahl von Arten gespeichert werden kann, beispielsweise in einem Computerspeicher mit wahlfreiem Zugriff, in bezogenen, Objektorientierten oder hierarchischen Datenbank-Verwaltungssystemen oder in Plattendateien.
  • Die Erfindung ist nicht auf die Ausführungsformen, die beschrieben wurden, beschränkt, sondern kann bezüglich Konstruktion und Detail variiert werden.

Claims (26)

  1. Dokumentverarbeitungssystem, umfassend Mittel zum Zusammenführen von elektronischen Quelldokumenten (25) zum Erzeugen eines elektronischen Zieldokuments (25), wobei das Zusammenführungsmittel wie folgt arbeitet: (a) Parsen (6, 8, 11, 20) der Quelldokumente (2, 3, 4, 5) gemäß Blockstrukturen der Quelldokumente zum Erzeugen eines Quellbaums (7, 9, 12, 21) für jedes Quelldokument, wobei jeder Quellbaum Knoten (F1 bis F21, M0 bis M23) hat, die Blöcke der Struktur ihres entsprechenden Quelldokuments repräsentieren; (b) Zusammenführen der in Schritt (a) erzeugten Quellbäume zum Erzeugen eines Zielbaums (23), in dem: übereinstimmende Knoten (F9, M4)) in wenigstens zwei Quellbäumen (F1 bis F21, M0 bis M23) identifiziert werden; ein einzelner Knoten (F9 + M4, Z), der den übereinstimmenden Knoten entspricht, in den Zielbaum eingeführt wird, und weitere Quellbaumknoten (M5 bis M8) in den Zielbaum mit Bezug auf den einzelnen Knoten gesetzt werden; und (c) Rendern des Zielbaums (23) durch Erzeugen von Dokumentinhalt für jeden Knoten des Zielbaums zum Herstellen des Zieldokuments (25).
  2. System nach Anspruch 1, bei dem das Zusammenführungsmittel Mittel umfasst, um Wurzelquellknoten immer als übereinstimmende Knoten zu behandeln.
  3. System nach einem der vorherigen Ansprüche, wobei das Zusammenführungsmittel Mittel zum Behandeln eines Quellbaums als einen mit einer festen Rolle und des anderen Quellbaums als einen mit einer beweglichen Rolle umfasst, wobei die Struktur des Quellbaums mit der festen Rolle erhalten bleibt und die Struktur des Quellbaums mit der beweglichen Rolle geändert werden kann.
  4. System nach Anspruch 3, wobei das Zusammenführungsmittel Mittel umfasst, um (a) nur einen aus einem Paar übereinstimmender Knoten in den Zielbaum zu setzen, oder um (b) die übereinstimmenden Knoten zum Erzeugen eines zusammengesetzten Knotens zu kombinieren, und die Wahl von (a) oder (b) nach einer Richtlinie erfolgt.
  5. System nach Anspruch 4, wobei (b) eine Vorgaberichtlinie ist.
  6. System nach einem der Ansprüche 3 bis 5, wobei das Zusammenführungsmitel Mittel zum Hinzufügen eines nicht übereinstimmenden Knotens eines Baums mit beweglicher Rolle zu dem Zielbaum als Ableitungsknoten von dem Knoten umfasst, der seinen Stammknoten von dem Baum mit beweglicher Rolle repräsentiert.
  7. System nach Anspruch 6, wobei das Zusammenführungsmittel Mittel umfasst, um den genannten nicht übereinstimmenden Knoten hinter abgeleiteten Knoten eines übereinstimmenden Knotens in dem festen Baum zu setzen, wenn der Stammknoten des genannten nicht übereinstimmenden Knotens ein übereinstimmender Knoten ist.
  8. System nach einem der Ansprüche 3 bis 7, wobei das Zusammenführungsmittel Mittel zum Handhaben eines Knotens mit mehr als einem übereinstimmenden Vorfahrknoten umfasst, indem er relativ zu dem nächsten übereinstimmenden Vorfahrknoten gesetzt wird.
  9. System nach einem der Ansprüche 3 bis 8, wobei das Zusammenführungsmittel Mittel zum Konservieren der Reihenfolge von nicht übereinstimmenden Knoten des Quellbaums mit beweglicher Rolle umfasst, es sei denn, dass sie durch die Anwesenheit eines übereinstimmenden Knotens modifiziert wird.
  10. System nach einem der Ansprüche 3 bis 9, wobei das Zusammenführungsmittel Mittel zum Arbeiten gemäß einer Lookup-Richtlinie umfasst, in der der Quellbaum mit beweglicher Rolle als eine Ressource behandelt wird, von der Knoten selektiv zum Zusammenführen ausgewählt werden.
  11. System nach einem der Ansprüche 3 bis 10, wobei das Zusammenführungsmittel Mittel zum Erkennen eines Platzhalterknotens in dem Baum mit fester Rolle und zum Setzen eines Satzes von Knoten des Quellbaums mit beweglicher Rolle in den Zielbaum anstatt des Platzhalterknotens umfasst.
  12. System nach einem der vorherigen Ansprüche, wobei das Zusammenführungsmittel Mittel zum Aktivieren des Zusammenführens als Reaktion auf ein vererbendes Quelldokument umfasst, das anzeigt, dass es Inhalt von einem vererbten Quelldokument vererben soll.
  13. System nach Anspruch 12, wobei das Zusammenführungsmittel Mittel zum Ermitteln umfasst, ob das vererbende Quelldokument eine Vererbung anfordert, indem es einen dies anzeigenden Flag liest.
  14. System nach Anspruch 13, wobei das Zusammenführungsmittel Mittel zum Lesen des genannten Flags aus dem vererbenden Dokument umfasst.
  15. System nach einem der vorherigen Ansprüche, wobei das Zusammenführungsmittel Mittel zum Erkennen eines Flags, der die benötigte Vererbung von einer Mehrzahl von vererbten Dokumenten anzeigt, und zum Zusammenführen der vererbenden und der mehreren vererbten Dokumente umfasst.
  16. System nach Anspruch 15, wobei das Zusammenführungsmittel Mittel zum aufeinander folgenden Zusammenführen von Paaren von Dokumenten auf verschachtelte Weise umfasst, bis alle Quelldokumente zusammengeführt sind.
  17. System nach einem der vorherigen Ansprüche, wobei das Zusammenführungsmittel Mittel zum Zusammenführen von Teildokumenten umfasst.
  18. System nach einem der vorherigen Ansprüche, wobei das Zusammenführungsmittel Mittel zum Arbeiten gemäß Zusammenführungsanweisungen umfasst, die dynamisch von einer Regel unter Verwendung von aktuellen Parameterwerten erzeugt werden.
  19. Verfahren zum Zusammenführen von elektronischen Quelldokumenten (25) zum Erzeugen eines elektronischen Zieldokuments (25), wobei das Verfahren mit einem Datenverarbeitungssystem durchgeführt wird, wobei das Verfahren die folgenden Schritte umfasst: (a) Parsen (6, 8, 11, 20) der Quelldokumente (2, 3, 4, 5) gemäß Blockstrukturen der Quelldokumente zum Erzeugen eines Quellbaums (7, 9, 12, 21) für jedes Quelldokument, wobei jeder Quellbaum Knoten (F1 bis F21, M0 bis M23) hat, die Blöcke der Struktur ihres entsprechenden Quelldokuments repräsentieren; (b) Zusammenführen der in Schritt (a) erzeugten Quellbäume zum Erzeugen eines Zielbaums (23), in dem: übereinstimmende Knoten (F9, M4)) in wenigstens zwei Quellbäumen (F1 bis F21, M0 bis M23) identifiziert werden; ein einzelner Knoten (F9 + M4, Z), der den übereinstimmenden Knoten entspricht, in den Zielbaum eingeführt wird, und weitere Quellbaumknoten (M5 bis M8) in den Zielbaum mit Bezug auf den einzelnen Knoten gesetzt werden; und (c) Rendern des Zielbaums (23) durch Erzeugen von Dokumentinhalt für jeden Knoten des Zielbaums zum Herstellen des Zieldokuments (25).
  20. Verfahren nach Anspruch 19, wobei der einzelne Knoten entweder (a) einer der übereinstimmenden Knoten oder (b) ein zusammengesetzter Knoten der übereinstimmenden Knoten ist und die Wahl von (a) oder (b) nach einer konfigurierbaren Richtlinie erfolgt.
  21. Verfahren nach Anspruch 19 oder 20, wobei das Zusammenführen durch einen Flag eingeleitet wird, der in einem Quelldokument eingebettet ist und anzeigt, dass er Inhalt von wenigstens einem anderen Quelldokument vererben soll.
  22. Verfahren nach einem der Ansprüche 19 bis 21, wobei ein Quelldokument als eines mit einer festen Rolle und ein anderes Quelldokument als eines mit einer beweglichen Rolle behandelt wird, wobei die Struktur des Quellbaums mit fester Rolle erhalten bleibt und die Struktur des Quellbaums mit beweglicher Rolle geändert werden kann.
  23. Verfahren nach einem der Ansprüche 19 bis 22, wobei jedes der genannten Quelldokumente einen separaten Strang von assoziiertem Inhalt umfasst und das Verfahren zum Kombinieren der genannten Stränge von Inhalt zu einem einzelnen Zieldokument durchgeführt wird.
  24. Verfahren nach einem der Ansprüche 19 bis 23, wobei ein Quelldokument der Ausgang einer Datenbankabfrage ist und das Verfahren das genannte Ergebnis mit einem anderen Quelldokument zusammenführt.
  25. Verfahren nach Anspruch 24, wobei ein Knoten des genannten anderen Quelldokuments mit mehreren Knoten des genannten Ergebnisquelldokuments zusammengeführt wird.
  26. Computerprogrammprodukt, umfassend Software-Code zum Durchführen der Schritte nach einem der Ansprüche 19 bis 25 bei der Ausführung auf einem digitalen Computer.
DE60111376T 2000-05-16 2001-05-15 System und verfahren zur dokumentverarbeitung Expired - Fee Related DE60111376T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IE20000377 2000-05-16
IE000377 2000-05-16
IE20000942 2000-11-21
IE000942 2000-11-21
PCT/IE2001/000068 WO2001088750A1 (en) 2000-05-16 2001-05-15 A document processing system and method

Publications (2)

Publication Number Publication Date
DE60111376D1 DE60111376D1 (de) 2005-07-14
DE60111376T2 true DE60111376T2 (de) 2006-03-16

Family

ID=26320290

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60111376T Expired - Fee Related DE60111376T2 (de) 2000-05-16 2001-05-15 System und verfahren zur dokumentverarbeitung

Country Status (7)

Country Link
US (1) US6772165B2 (de)
EP (1) EP1290575B1 (de)
AT (1) ATE297571T1 (de)
AU (1) AU2001256612A1 (de)
DE (1) DE60111376T2 (de)
IE (1) IE20010467A1 (de)
WO (1) WO2001088750A1 (de)

Families Citing this family (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948135B1 (en) * 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
AU2001264895A1 (en) * 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7813915B2 (en) * 2000-09-25 2010-10-12 Fujitsu Limited Apparatus for reading a plurality of documents and a method thereof
JP2002108662A (ja) * 2000-10-02 2002-04-12 Fujitsu Ltd 情報管理方法
US7283947B2 (en) * 2001-05-24 2007-10-16 International Business Machines Corporation Method and system for translation management of source language text phrases
US7231394B2 (en) * 2001-07-17 2007-06-12 Sony Corporation Incremental bottom-up construction of data documents
US20030145278A1 (en) * 2002-01-22 2003-07-31 Nielsen Andrew S. Method and system for comparing structured documents
US7992088B2 (en) * 2002-03-12 2011-08-02 International Business Machines Corporation Method and system for copy and paste technology for stylesheet editing
US8117533B2 (en) * 2002-03-12 2012-02-14 International Business Machines Corporation Method and system for stylesheet rule creation, combination, and removal
US7191395B2 (en) 2002-03-12 2007-03-13 International Business Machines Corporation Method and system for stylesheet-centric editing
US7337391B2 (en) * 2002-03-12 2008-02-26 International Business Machines Corporation Method and system for stylesheet execution interactive feedback
US7188340B2 (en) * 2002-06-28 2007-03-06 Microsoft Corporation Hybrid tree for mixed user interface elements and sequential data
DE60314806T2 (de) * 2002-06-28 2008-03-13 Nippon Telegraph And Telephone Corp. Extrahierung von Information aus strukturierten Dokumenten
US7200601B1 (en) * 2002-07-31 2007-04-03 Bellsouth Intellectual Property Corporation Computer-readable medium and data structure for communicating technical architecture standards to vendors
US20040021906A1 (en) * 2002-08-05 2004-02-05 Howard Dennis W. Peripheral device output job routing
US7337401B2 (en) * 2002-12-18 2008-02-26 Microsoft Corporation User interface element representation with simplified view
US7337388B2 (en) * 2003-01-02 2008-02-26 Microsoft Corporation Tool-based iterative document management
WO2004063900A2 (en) * 2003-01-10 2004-07-29 Nexaweb Technologies, Inc. System and method for network-based computing
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US9946779B2 (en) * 2003-05-28 2018-04-17 Oracle International Corporation Pipleline merge operations using source data and multiple destination data structures
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US9152735B2 (en) * 2003-07-24 2015-10-06 Alcatel Lucent Method and apparatus for composing XSL transformations with XML publishing views
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7426703B2 (en) * 2003-08-27 2008-09-16 Microsoft Corporation Hierarchical navigation layers for wizards
CA2443454A1 (en) * 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
CA2451164C (en) * 2003-09-11 2016-08-30 Teamplate Inc. Customizable components
US9104648B2 (en) * 2004-11-08 2015-08-11 Jinan Glasgow Patent claims analysis system and method
US10198478B2 (en) 2003-10-11 2019-02-05 Magic Number, Inc. Methods and systems for technology analysis and mapping
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7818742B2 (en) * 2004-05-21 2010-10-19 Bea Systems, Inc. Portal federated applications and portal federated web applications
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US20050289161A1 (en) * 2004-06-29 2005-12-29 The Boeing Company Integrated document directory generator apparatus and methods
US7373586B2 (en) * 2004-09-03 2008-05-13 International Business Machines Corporation Differencing and merging tree-structured documents
US9171100B2 (en) 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
US20060074933A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Workflow interaction
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US20060098673A1 (en) * 2004-11-09 2006-05-11 Alcatel Input queue packet switch architecture and queue service discipline
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7509353B2 (en) * 2004-11-16 2009-03-24 Microsoft Corporation Methods and systems for exchanging and rendering forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US20060136810A1 (en) * 2004-12-22 2006-06-22 Sap Aktiengesellschaft Electronic form generator
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7480669B2 (en) * 2005-02-15 2009-01-20 Infomato Crosslink data structure, crosslink database, and system and method of organizing and retrieving information
US20060195461A1 (en) * 2005-02-15 2006-08-31 Infomato Method of operating crosslink data structure, crosslink database, and system and method of organizing and retrieving information
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US7945756B1 (en) * 2005-03-30 2011-05-17 Emc Corporation System and method for managing a data storage system by contacting a single processor in a data storage system having more than one processor
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US20060265712A1 (en) * 2005-05-18 2006-11-23 Docomo Communications Laboratories Usa, Inc. Methods for supporting intra-document parallelism in XSLT processing on devices with multiple processors
US7430715B2 (en) * 2005-05-31 2008-09-30 Sap, Aktiengesellschaft Interface for indicating the presence of inherited values in a document
US7640255B2 (en) 2005-05-31 2009-12-29 Sap, Ag Method for utilizing a multi-layered data model to generate audience specific documents
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US8949710B2 (en) * 2005-07-12 2015-02-03 Alcatel Lucent Grammar and method for integrating XML data from multiple sources
US8429527B1 (en) * 2005-07-12 2013-04-23 Open Text S.A. Complex data merging, such as in a workflow application
US20070061742A1 (en) * 2005-08-26 2007-03-15 Brooks Geoffrey S Method, system, and program product for graphical authoring
US7664742B2 (en) 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
JP4839810B2 (ja) 2005-12-06 2011-12-21 富士ゼロックス株式会社 電子文書管理システム、プログラム及び方法
US20070157073A1 (en) * 2005-12-29 2007-07-05 International Business Machines Corporation Software weaving and merging
US20070174309A1 (en) * 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
US9170987B2 (en) * 2006-01-18 2015-10-27 Microsoft Technology Licensing, Llc Style extensibility applied to a group of shapes by editing text files
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US20070195959A1 (en) * 2006-02-21 2007-08-23 Microsoft Corporation Synchronizing encrypted data without content decryption
US8694680B2 (en) * 2006-03-01 2014-04-08 Infogin Ltd. Methods and apparatus for enabling use of web content on various types of devices
US7992091B2 (en) * 2006-03-30 2011-08-02 At&T Intellectual Property I, L.P. Message-oriented divergence and convergence of message documents
US7913161B2 (en) * 2006-05-08 2011-03-22 Enwisen, Inc. Computer-implemented methods and systems for electronic document inheritance
US7730088B2 (en) * 2006-09-14 2010-06-01 International Business Machines Corporation Queriable hierarchical text data
US7752542B2 (en) * 2006-09-20 2010-07-06 International Business Machines Corporation Dynamic external entity resolution in an XML-based content management system
US7895512B2 (en) * 2006-09-21 2011-02-22 International Business Machines Corporation Capturing and processing change information in a web-type environment
US20080077631A1 (en) * 2006-09-21 2008-03-27 Petri John E Multi-document attribute synchronization in a content management system
US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US20090012984A1 (en) * 2007-07-02 2009-01-08 Equivio Ltd. Method for Organizing Large Numbers of Documents
US7765236B2 (en) * 2007-08-31 2010-07-27 Microsoft Corporation Extracting data content items using template matching
US7941399B2 (en) * 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8028229B2 (en) * 2007-12-06 2011-09-27 Microsoft Corporation Document merge
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US7991794B2 (en) * 2007-12-18 2011-08-02 Oracle International Corporation Pipelining operations involving DML and query
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US7912927B2 (en) * 2008-03-26 2011-03-22 Microsoft Corporation Wait for ready state
US8196118B2 (en) 2008-03-27 2012-06-05 Microsoft Corporation Event set recording
US20090248716A1 (en) * 2008-03-31 2009-10-01 Caterpillar Inc. Hierarchy creation and management tool
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
JP5455321B2 (ja) * 2008-05-02 2014-03-26 キヤノン株式会社 文書処理装置及び文書処理方法
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8286171B2 (en) 2008-07-21 2012-10-09 Workshare Technology, Inc. Methods and systems to fingerprint textual information using word runs
US8301994B1 (en) * 2008-09-12 2012-10-30 Adobe Systems Incorporated Synchronizing multiple hierarchal data structures
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US9582292B2 (en) * 2008-10-07 2017-02-28 Microsoft Technology Licensing, Llc. Merged tree-view UI objects
US9092636B2 (en) 2008-11-18 2015-07-28 Workshare Technology, Inc. Methods and systems for exact data match filtering
US7996435B2 (en) * 2008-12-01 2011-08-09 Sap Ag Apparatus and method for comparing computer documents using tree structures
US20100223231A1 (en) * 2009-03-02 2010-09-02 Thales-Raytheon Systems Company Llc Merging Records From Different Databases
US8346768B2 (en) * 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US20100299669A1 (en) * 2009-05-20 2010-11-25 Microsoft Corporation Generation of a Comparison Task List of Task Items
JP2011039997A (ja) * 2009-08-18 2011-02-24 Fuji Xerox Co Ltd 情報処理装置及びコンピュータプログラム
US9508049B2 (en) * 2009-08-30 2016-11-29 Hewlett-Packard Development Company, L.P. Update-triggered document-defined workflow
US8543619B2 (en) * 2009-09-15 2013-09-24 Oracle International Corporation Merging XML documents automatically using attributes based comparison
US8996453B2 (en) 2009-09-30 2015-03-31 Red Hat, Inc. Distribution of data in a lattice-based database via placeholder nodes
US8984013B2 (en) * 2009-09-30 2015-03-17 Red Hat, Inc. Conditioning the distribution of data in a hierarchical database
US20110078199A1 (en) * 2009-09-30 2011-03-31 Eric Williamson Systems and methods for the distribution of data in a hierarchical database via placeholder nodes
US9031987B2 (en) * 2009-09-30 2015-05-12 Red Hat, Inc. Propagation of data changes in distribution operations in hierarchical database
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
US8396880B2 (en) * 2009-11-30 2013-03-12 Red Hat, Inc. Systems and methods for generating an optimized output range for a data distribution in a hierarchical database
US8589344B2 (en) 2009-11-30 2013-11-19 Red Hat, Inc. Systems and methods for generating iterated distributions of data in a hierarchical database
US20130036222A1 (en) * 2010-06-14 2013-02-07 Compuware Corporation Inheritable dimensions in a service model
US8694557B2 (en) * 2010-07-02 2014-04-08 Sap Ag Extensibility of metaobjects
US10025759B2 (en) 2010-11-29 2018-07-17 Workshare Technology, Inc. Methods and systems for monitoring documents exchanged over email applications
US10783326B2 (en) 2013-03-14 2020-09-22 Workshare, Ltd. System for tracking changes in a collaborative document editing environment
US11030163B2 (en) 2011-11-29 2021-06-08 Workshare, Ltd. System for tracking and displaying changes in a set of related electronic documents
US8886646B2 (en) 2010-12-30 2014-11-11 Sap Se Field extensibility for analytical reports
US9948676B2 (en) 2013-07-25 2018-04-17 Workshare, Ltd. System and method for securing documents prior to transmission
US10963584B2 (en) 2011-06-08 2021-03-30 Workshare Ltd. Method and system for collaborative editing of a remotely stored document
US9613340B2 (en) 2011-06-14 2017-04-04 Workshare Ltd. Method and system for shared document approval
US10574729B2 (en) 2011-06-08 2020-02-25 Workshare Ltd. System and method for cross platform document sharing
US9170990B2 (en) 2013-03-14 2015-10-27 Workshare Limited Method and system for document retrieval with selective document comparison
US10880359B2 (en) 2011-12-21 2020-12-29 Workshare, Ltd. System and method for cross platform document sharing
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US8732574B2 (en) * 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8935218B2 (en) * 2011-11-04 2015-01-13 Sap Se Multi-client generic persistence for extension nodes
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US20140281854A1 (en) * 2013-03-14 2014-09-18 Comcast Cable Communications, Llc Hypermedia representation of an object model
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
US11567907B2 (en) * 2013-03-14 2023-01-31 Workshare, Ltd. Method and system for comparing document versions encoded in a hierarchical representation
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US10911492B2 (en) 2013-07-25 2021-02-02 Workshare Ltd. System and method for securing documents prior to transmission
US9565152B2 (en) 2013-08-08 2017-02-07 Palantir Technologies Inc. Cable reader labeling
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9836580B2 (en) 2014-03-21 2017-12-05 Palantir Technologies Inc. Provider portal
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9830227B2 (en) 2014-12-05 2017-11-28 International Business Machines Corporation Performing a closure merge operation
US9430507B2 (en) 2014-12-08 2016-08-30 Palantir Technologies, Inc. Distributed acoustic sensing data analysis system
US9483546B2 (en) 2014-12-15 2016-11-01 Palantir Technologies Inc. System and method for associating related records to common entities across multiple lists
US11182551B2 (en) 2014-12-29 2021-11-23 Workshare Ltd. System and method for determining document version geneology
US10133723B2 (en) 2014-12-29 2018-11-20 Workshare Ltd. System and method for determining document version geneology
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system
US10803106B1 (en) 2015-02-24 2020-10-13 Palantir Technologies Inc. System with methodology for dynamic modular ontology
EP3070622A1 (de) 2015-03-16 2016-09-21 Palantir Technologies, Inc. Interaktive benutzerschnittstellen für ortsbasierte datenanalyse
US9348880B1 (en) 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US9418337B1 (en) 2015-07-21 2016-08-16 Palantir Technologies Inc. Systems and models for data analytics
US9392008B1 (en) 2015-07-23 2016-07-12 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US11763013B2 (en) 2015-08-07 2023-09-19 Workshare, Ltd. Transaction document management system and method
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files
US9454564B1 (en) 2015-09-09 2016-09-27 Palantir Technologies Inc. Data integrity checks
US10360236B2 (en) * 2015-09-25 2019-07-23 International Business Machines Corporation Replicating structured query language (SQL) in a heterogeneous replication environment
US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning
US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US9996236B1 (en) 2015-12-29 2018-06-12 Palantir Technologies Inc. Simplified frontend processing and visualization of large datasets
US10089289B2 (en) 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US10248722B2 (en) 2016-02-22 2019-04-02 Palantir Technologies Inc. Multi-language support for dynamic ontology
US10931653B2 (en) * 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US10044836B2 (en) 2016-12-19 2018-08-07 Palantir Technologies Inc. Conducting investigations under limited connectivity
US10216811B1 (en) 2017-01-05 2019-02-26 Palantir Technologies Inc. Collaborating using different object models
US11074277B1 (en) 2017-05-01 2021-07-27 Palantir Technologies Inc. Secure resolution of canonical entities
US10942947B2 (en) 2017-07-17 2021-03-09 Palantir Technologies Inc. Systems and methods for determining relationships between datasets
US10956508B2 (en) 2017-11-10 2021-03-23 Palantir Technologies Inc. Systems and methods for creating and managing a data integration workspace containing automatically updated data models
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US11061874B1 (en) 2017-12-14 2021-07-13 Palantir Technologies Inc. Systems and methods for resolving entity data across various data structures
CN108121694A (zh) * 2017-12-14 2018-06-05 天津津航计算技术研究所 基于VxWorks操作系统动态生成表格文件的方法及系统
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
US11100151B2 (en) 2018-01-08 2021-08-24 Magic Number, Inc. Interactive patent visualization systems and methods
GB201800595D0 (en) 2018-01-15 2018-02-28 Palantir Technologies Inc Management of software bugs in a data processing system
US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US11314807B2 (en) 2018-05-18 2022-04-26 Xcential Corporation Methods and systems for comparison of structured documents
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
TWI690815B (zh) * 2019-03-26 2020-04-11 林威成 電子手冊編輯系統
CN110569491A (zh) * 2019-07-26 2019-12-13 上海千检信息技术服务有限公司 合并报告的方法、服务器及用户端
CN112887116A (zh) * 2019-11-29 2021-06-01 伊姆西Ip控股有限责任公司 管理分布式应用系统中的应用节点的方法、设备和产品

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674040A (en) * 1984-12-26 1987-06-16 International Business Machines Corporation Merging of documents
JP3724847B2 (ja) * 1995-06-05 2005-12-07 株式会社日立製作所 構造化文書差分抽出方法および装置
US6249291B1 (en) * 1995-09-22 2001-06-19 Next Software, Inc. Method and apparatus for managing internet transactions
US5915259A (en) * 1996-03-20 1999-06-22 Xerox Corporation Document schema transformation by patterns and contextual conditions
US5890177A (en) * 1996-04-24 1999-03-30 International Business Machines Corporation Method and apparatus for consolidating edits made by multiple editors working on multiple document copies
US5890171A (en) * 1996-08-06 1999-03-30 Microsoft Corporation Computer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document
US6016494A (en) * 1997-11-21 2000-01-18 International Business Machines Corporation Expanding web documents by merging with linked documents
US6507856B1 (en) * 1999-01-05 2003-01-14 International Business Machines Corporation Dynamic business process automation system using XML documents
US6418446B1 (en) * 1999-03-01 2002-07-09 International Business Machines Corporation Method for grouping of dynamic schema data using XML
US6681370B2 (en) * 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US6502112B1 (en) * 1999-08-27 2002-12-31 Unisys Corporation Method in a computing system for comparing XMI-based XML documents for identical contents
JP3879350B2 (ja) * 2000-01-25 2007-02-14 富士ゼロックス株式会社 構造化文書処理システム及び構造化文書処理方法
US6757678B2 (en) * 2001-04-12 2004-06-29 International Business Machines Corporation Generalized method and system of merging and pruning of data trees

Also Published As

Publication number Publication date
IE20010467A1 (en) 2001-11-28
EP1290575A1 (de) 2003-03-12
DE60111376D1 (de) 2005-07-14
WO2001088750A1 (en) 2001-11-22
EP1290575B1 (de) 2005-06-08
AU2001256612A1 (en) 2001-11-26
ATE297571T1 (de) 2005-06-15
US20030093755A1 (en) 2003-05-15
US6772165B2 (en) 2004-08-03

Similar Documents

Publication Publication Date Title
DE60111376T2 (de) System und verfahren zur dokumentverarbeitung
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE60011479T2 (de) Xml-roboter
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE60112188T2 (de) Methode und system zur erzeugung strukturierter dokumente für verschiedene darstellungsweisen
DE10042601B4 (de) Sprache für XML-Server-Seiten
DE10048940A1 (de) Erzeugen von Dokumenteninhalten durch Transcodierung mit Hilfe von Java Server Pages
EP1311989A2 (de) Verfahren zur automatischen recherche
DE10051021A1 (de) System, Verfahren und Computerprogramm zur Veröffentlichung interaktiver Web-Inhalte in einer statisch verknüpften Web-Hierarchie
DE19962192A1 (de) Verfahren und System zur Inhaltskonvertierung von elektronischen Daten für drahtlose Vorrichtungen
CH658329A5 (de) Verfahren zur steuerung des daten-zugriffes in einer datenbank und apparat zu seiner durchfuehrung.
DE60224271T2 (de) Datenverarbeitungsverfahren, datenverarbeitungsprogramm und datenverarbeitungsvorrichtung
DE69907714T2 (de) Komponentbasiertes quellcodegeneratorverfahren
DE60032403T2 (de) Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen
EP1030254B1 (de) Verfahren und System zum Verwalten von Dokumenten
DE60225464T2 (de) Robotersystem und verfahren und software für das robotersystem
EP3411803B1 (de) Gerät und verfahren zur bearbeitung eines binärkodierten strukturdokuments
EP1094405A2 (de) Verfahren zum Erzeugen einer dynamischen Auswahlmaske für den Abruf von Daten aus einer Datenbank
EP1285315B1 (de) Informationsverarbeitungssystem und verfahren zu dessen betrieb
DE19729911A1 (de) System zur Verbesserung der Organisation von Daten einer Dokumentation
EP2682866B1 (de) Verfahren zur Umsetzung von Datenformaten
DE10065323C2 (de) Verfahren zur Steuerung der Anordnung von graphischen Elementen
DE19835905B4 (de) Verfahren zum Erstellen einer Datenbankzugriffstabelle aus Datensätzen
DE10045080C2 (de) Verfahren und Vorrichtung zur Aufzeichnung und Ausführung von Abfragen aus Datennetzen
DE10026387B4 (de) Verfahren zur Ausführungszeitoptimierung für Umsetzungen von zustands- bzw. ablauforientierten Modellen, wie Petrinetze oder Automaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee