DE60111376T2 - System und verfahren zur dokumentverarbeitung - Google Patents
System und verfahren zur dokumentverarbeitung Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000012545 processing Methods 0.000 title claims description 15
- 239000002131 composite material Substances 0.000 claims description 21
- 239000007787 solid Substances 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 241001136792 Alle Species 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- METKIMKYRPQLGS-UHFFFAOYSA-N atenolol Chemical compound CC(C)NCC(O)COC1=CC=C(CC(N)=O)C=C1 METKIMKYRPQLGS-UHFFFAOYSA-N 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- OJVABJMSSDUECT-UHFFFAOYSA-L berberin sulfate Chemical compound [O-]S([O-])(=O)=O.C1=C2CC[N+]3=CC4=C(OC)C(OC)=CC=C4C=C3C2=CC2=C1OCO2.C1=C2CC[N+]3=CC4=C(OC)C(OC)=CC=C4C=C3C2=CC2=C1OCO2 OJVABJMSSDUECT-UHFFFAOYSA-L 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Manufacture, Treatment Of Glass Fibers (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
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 dieUS 6 016 494 beschreiben Verfahren zum Verschmelzen von Dokumenten durch Einfügen eines Dokuments in ein anderes. In derUS 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) und4(a) Quellendokumente und2(b) ,3(b) und4(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, und6(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, und7(c) das Zieldokument ist, wie dies durch einen Browser angezeigt wird; -
8 ein Diagramm ist, welches zeigt, wie die Quellenbäume von2 bis6 verschmolzen werden, um den Zieldokumentenbaum bereitzustellen; und -
9 bis11 Diagramme von Bäumen sind, welche Verschmelzungsoperationen zeigen. - Beschreibung der Ausführungsformen
- Gemäß
1 wird ein Dokumentverarbeitungsverfahren1 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 Quellendokumenten3 ,4 und5 zu erben. - Das Verfahren
1 umfasst einen Analyseschritt6 , bei dem der Aufbau (Syntax) des Quellendokuments2 analysiert wird, um einen hierarchischen Strukturbaum7 von Knoten zu erzeugen, wie in2(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 in3(a) gezeigt ist, im Schritt8 analysiert, um einen Baum9 bereitzustellen, der in3(b) gezeigt ist. Die Bäume7 und9 werden in einem Schritt10 verschmolzen, um einen ersten Zwischenzielbaurn, der nicht gezeigt ist, bereitzustellen. Diese Bäume werden lediglich intern verarbeitet. - Das Quellendokument
4 (gezeigt in4(a) ) wird dann im Schritt11 analysiert, um einen Baum12 zu erzeugen, der in4(b) gezeigt ist. Dieser wird im Schritt13 mit dem ersten Zwischenbaum verschmolzen, um einen zweiten Zwischenbaum14 bereitzustellen. Wenn der letztere durch einen Browser erbracht und angezeigt werden würde, würde er erscheinen, wie in5 gezeigt ist. Diese weist einen Kopftastenbalken auf, der mit dem Inhalt des buttons.html-Quellendokuments3 versehen ist, einen Hauptkörper, der mit dem Inhalt des child.html-Quellendokuments2 versehen ist, und skins (HTML links), die durch den Inhalt des Quellendokuments4 bereitgestellt werden. - Das Quellendokument
5 ist in6(a) gezeigt. Dieses wird im Schritt20 analysiert, um einen Baum21 zu erzeugen, der in6(b) gezeigt ist. Der Inhalt des Quellendokuments5 ist in6(c) gezeigt. Im Schritt22 wird der Baum21 mit dem Zwischenbaum14 verschmolzen, um einen endgültigen Zielbaum23 zu bilden, der in7(a) gezeigt ist. Dies wird im Schritt24 erbracht, um ein endgültiges Zieldokument25 bereitzustellen, welches in7(b) und7(c) gezeigt ist. - Wie in
8 gezeigt ist, ist das endgültige Zieldokument25 das Ergebnis des Quellendokuments2 , welches von den anderen drei Quellendokumenten3 ,4 und5 geerbt wird. In diesem Dokument werden die Tastenbalken der Dokumente2 und5 zu einer einzigen Reihe25.3 kombiniert und unter das Hauptbild25.1 verschoben. Die Hypertext-Verknüpfun gen25.2 und25.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 Quellendokumente2 ,3 ,4 und5 zur Folge, welche im Zieldokument25 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 in7(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 Zieldokument25 wird über den Server zum Kunden übertragen. Dies ist besonders nützlich, da dieser komplette Dokumente unmittelbar zum Kunden liefert. Das Verfahren1 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 und11 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 von9 in einer festen Rolle mit dem Baum von10 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:
- 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) bis7(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)
- Dokumentverarbeitungssystem, umfassend Mittel zum Zusammenführen von elektronischen Quelldokumenten (
2 –5 ) 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 ). - System nach Anspruch 1, bei dem das Zusammenführungsmittel Mittel umfasst, um Wurzelquellknoten immer als übereinstimmende Knoten zu behandeln.
- 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.
- 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.
- System nach Anspruch 4, wobei (b) eine Vorgaberichtlinie ist.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- System nach Anspruch 13, wobei das Zusammenführungsmittel Mittel zum Lesen des genannten Flags aus dem vererbenden Dokument umfasst.
- 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.
- 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.
- System nach einem der vorherigen Ansprüche, wobei das Zusammenführungsmittel Mittel zum Zusammenführen von Teildokumenten umfasst.
- 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.
- Verfahren zum Zusammenführen von elektronischen Quelldokumenten (
2 –5 ) 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 ). - 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 24, wobei ein Knoten des genannten anderen Quelldokuments mit mehreren Knoten des genannten Ergebnisquelldokuments zusammengeführt wird.
- 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.
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 (221)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
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 |
US6948135B1 (en) * | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
AU2001264895A1 (en) | 2000-06-21 | 2002-01-02 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US6874143B1 (en) * | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing 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 |
US7337391B2 (en) * | 2002-03-12 | 2008-02-26 | International Business Machines Corporation | Method and system for stylesheet execution interactive feedback |
US8117533B2 (en) * | 2002-03-12 | 2012-02-14 | International Business Machines Corporation | Method and system for stylesheet rule creation, combination, and removal |
US7992088B2 (en) * | 2002-03-12 | 2011-08-02 | International Business Machines Corporation | Method and system for copy and paste technology for stylesheet editing |
US7191395B2 (en) | 2002-03-12 | 2007-03-13 | International Business Machines Corporation | Method and system for stylesheet-centric editing |
EP1376408B1 (de) * | 2002-06-28 | 2007-07-11 | Nippon Telegraph and Telephone Corporation | Extrahierung von Information aus strukturierten Dokumenten |
US7188340B2 (en) * | 2002-06-28 | 2007-03-06 | Microsoft Corporation | Hybrid tree for mixed user interface elements and sequential data |
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 |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US9946779B2 (en) * | 2003-05-28 | 2018-04-17 | Oracle International Corporation | Pipleline merge operations using source data and multiple destination data structures |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
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 |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
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 |
US7430711B2 (en) | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
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 |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
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 |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7509353B2 (en) * | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
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 |
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 |
US7480669B2 (en) * | 2005-02-15 | 2009-01-20 | Infomato | 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 |
US7640255B2 (en) | 2005-05-31 | 2009-12-29 | Sap, Ag | Method for utilizing a multi-layered data model to generate audience specific documents |
US7430715B2 (en) * | 2005-05-31 | 2008-09-30 | Sap, Aktiengesellschaft | Interface for indicating the presence of inherited values in a document |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US8645175B1 (en) | 2005-07-12 | 2014-02-04 | Open Text S.A. | Workflow system and method for single call batch processing of collections of database records |
US8949710B2 (en) * | 2005-07-12 | 2015-02-03 | Alcatel Lucent | Grammar and method for integrating XML data from multiple sources |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
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 |
US9170987B2 (en) * | 2006-01-18 | 2015-10-27 | Microsoft Technology Licensing, Llc | Style extensibility applied to a group of shapes by editing text files |
US20070174309A1 (en) * | 2006-01-18 | 2007-07-26 | Pettovello Primo M | Mtreeini: intermediate nodes and indexes |
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 |
US20080153467A1 (en) * | 2006-03-01 | 2008-06-26 | Eran Shmuel Wyler | 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 |
US8515912B2 (en) | 2010-07-15 | 2013-08-20 | Palantir Technologies, Inc. | Sharing and deconflicting data changes in a multimaster database system |
US7962495B2 (en) | 2006-11-20 | 2011-06-14 | Palantir Technologies, Inc. | Creating data in a data store using a dynamic ontology |
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 |
US9031987B2 (en) * | 2009-09-30 | 2015-05-12 | Red Hat, Inc. | Propagation of data changes in distribution operations in 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 |
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 |
US8631028B1 (en) | 2009-10-29 | 2014-01-14 | Primo M. Pettovello | XPath query processing improvements |
US8589344B2 (en) | 2009-11-30 | 2013-11-19 | Red Hat, Inc. | Systems and methods for generating iterated distributions of data in a hierarchical database |
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 |
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 |
US11030163B2 (en) | 2011-11-29 | 2021-06-08 | Workshare, Ltd. | System for tracking and displaying changes in a set of related electronic documents |
US20120136862A1 (en) | 2010-11-29 | 2012-05-31 | Workshare Technology, Inc. | System and method for presenting comparisons of electronic documents |
US10783326B2 (en) | 2013-03-14 | 2020-09-22 | Workshare, Ltd. | System for tracking changes in a collaborative document editing environment |
US8886646B2 (en) | 2010-12-30 | 2014-11-11 | Sap Se | Field extensibility for analytical reports |
US10880359B2 (en) | 2011-12-21 | 2020-12-29 | 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 |
US9948676B2 (en) | 2013-07-25 | 2018-04-17 | Workshare, Ltd. | System and method for securing documents prior to transmission |
US9613340B2 (en) | 2011-06-14 | 2017-04-04 | Workshare Ltd. | Method and system for shared document approval |
US10963584B2 (en) | 2011-06-08 | 2021-03-30 | Workshare Ltd. | Method and system for collaborative editing of a remotely stored document |
US10574729B2 (en) | 2011-06-08 | 2020-02-25 | 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 |
US9081975B2 (en) | 2012-10-22 | 2015-07-14 | Palantir Technologies, Inc. | Sharing information between nexuses that use different classification schemes for information access control |
US9348677B2 (en) | 2012-10-22 | 2016-05-24 | Palantir Technologies Inc. | System and method for batch evaluation programs |
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 |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
US8924388B2 (en) | 2013-03-15 | 2014-12-30 | Palantir Technologies Inc. | Computer-implemented systems and methods for comparing and associating objects |
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 |
US9501851B2 (en) | 2014-10-03 | 2016-11-22 | Palantir Technologies Inc. | Time-series analysis system |
US9767172B2 (en) | 2014-10-03 | 2017-09-19 | Palantir Technologies Inc. | Data aggregation and 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 |
US10133723B2 (en) | 2014-12-29 | 2018-11-20 | Workshare Ltd. | System and method for determining document version geneology |
US11182551B2 (en) | 2014-12-29 | 2021-11-23 | 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 |
US9891808B2 (en) | 2015-03-16 | 2018-02-13 | Palantir Technologies Inc. | Interactive user interfaces for location-based data analysis |
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 |
US20170068712A1 (en) | 2015-09-04 | 2017-03-09 | Palantir Technologies Inc. | Systems and methods for database investigation tool |
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 |
US9760556B1 (en) | 2015-12-11 | 2017-09-12 | Palantir Technologies Inc. | Systems and methods for annotating and linking electronic documents |
US9514414B1 (en) | 2015-12-11 | 2016-12-06 | Palantir Technologies Inc. | Systems and methods for identifying and categorizing electronic documents through machine learning |
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 |
US12204845B2 (en) | 2016-07-21 | 2025-01-21 | Palantir Technologies Inc. | Cached database and synchronization 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 |
US11977722B2 (en) | 2018-01-08 | 2024-05-07 | 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控股有限责任公司 | 管理分布式应用系统中的应用节点的方法、设备和产品 |
US12265787B2 (en) * | 2022-11-01 | 2025-04-01 | Everlaw, Inc. | Document difference viewing and navigation |
Family Cites Families (13)
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 |
-
2001
- 2001-05-15 IE IE20010467A patent/IE20010467A1/en not_active IP Right Cessation
- 2001-05-15 WO PCT/IE2001/000068 patent/WO2001088750A1/en active IP Right Grant
- 2001-05-15 AT AT01929937T patent/ATE297571T1/de not_active IP Right Cessation
- 2001-05-15 EP EP01929937A patent/EP1290575B1/de not_active Expired - Lifetime
- 2001-05-15 AU AU2001256612A patent/AU2001256612A1/en not_active Abandoned
- 2001-05-15 DE DE60111376T patent/DE60111376T2/de not_active Expired - Fee Related
-
2002
- 2002-11-15 US US10/294,591 patent/US6772165B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1290575B1 (de) | 2005-06-08 |
EP1290575A1 (de) | 2003-03-12 |
AU2001256612A1 (en) | 2001-11-26 |
DE60111376D1 (de) | 2005-07-14 |
WO2001088750A1 (en) | 2001-11-22 |
US20030093755A1 (en) | 2003-05-15 |
ATE297571T1 (de) | 2005-06-15 |
US6772165B2 (en) | 2004-08-03 |
IE20010467A1 (en) | 2001-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60111376T2 (de) | System und verfahren zur dokumentverarbeitung | |
DE10135445B4 (de) | Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage | |
DE69328400T2 (de) | Hilfsverfahren zur Abfrageoptimierung eines relationellen Datenbankverwaltungssystems und daraus resultierendes syntaktisches Analyseverfahren | |
DE60126016T2 (de) | Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen | |
DE69801816T2 (de) | Vorrichtung und verfahren zur aktualisierung und zur synchronisierung von informationen zwischen einem klient und einem server | |
DE60112188T2 (de) | Methode und system zur erzeugung strukturierter dokumente für verschiedene darstellungsweisen | |
DE10042601B4 (de) | Sprache für XML-Server-Seiten | |
DE69328227T2 (de) | Abfrageoptimierungsverfahren für ein relationelles Datenbankverwaltungssystem | |
DE3751228T2 (de) | Verfahren und Vorrichtung zur Wiederauffindung von gespeicherten Grafikdaten. | |
DE68928190T2 (de) | Dynamische Wiederbestimmung einer Rahmenstruktur | |
DE10048940A1 (de) | Erzeugen von Dokumenteninhalten durch Transcodierung mit Hilfe von Java Server Pages | |
DE69427848T2 (de) | Unterstützungssystem zur Herstellung von Wörterbüchern | |
EP1311989A2 (de) | Verfahren zur automatischen recherche | |
DE19954534A1 (de) | Rückwärtsindexieren von Zeichenketten in einer relationalen Datenbank zum Suchen mit Joker | |
DE10051021A1 (de) | System, Verfahren und Computerprogramm zur Veröffentlichung interaktiver Web-Inhalte in einer statisch verknüpften Web-Hierarchie | |
DE69810048T2 (de) | Hypertext-Editiersystem | |
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 | |
DE29823119U1 (de) | Automatisierungsgerät | |
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 | |
DE68927051T2 (de) | Dynamische Selektion eines logischen Elementdatenformats |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |