DE10042601B4 - Sprache für XML-Server-Seiten - Google Patents

Sprache für XML-Server-Seiten Download PDF

Info

Publication number
DE10042601B4
DE10042601B4 DE10042601A DE10042601A DE10042601B4 DE 10042601 B4 DE10042601 B4 DE 10042601B4 DE 10042601 A DE10042601 A DE 10042601A DE 10042601 A DE10042601 A DE 10042601A DE 10042601 B4 DE10042601 B4 DE 10042601B4
Authority
DE
Germany
Prior art keywords
script
document
content
style
processor
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 - Lifetime
Application number
DE10042601A
Other languages
English (en)
Other versions
DE10042601A1 (de
Inventor
David M. Hemel Hempstead Brooke
Steven M. Austin Saxon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of DE10042601A1 publication Critical patent/DE10042601A1/de
Application granted granted Critical
Publication of DE10042601B4 publication Critical patent/DE10042601B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

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)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Verfahren zum Erzeugen eines XML-Dokuments in einem Computersystem und zum Darstellen auf einem Display, wobei das Computersystem einen Skriptprozessor umfaßt, der fähig ist, eine Skriptsprache zu interpretieren, wobei das Computersystem ferner eine Skriptsprache umfaßt, wobei die Skriptsprache Kontrollanweisungen umfaßt zum Umfassen von Dateninhalt und Style-Information aus einer Vielzahl von Datenquellen, wobei das Verfahren aufweist:
Erzeugen eines ersten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung;
Verarbeiten des ersten Skripts in dem Skriptprozessor zum Erzeugen eines ersten Dokuments, das den Inhalt, der in denn XML-Dokument enthalten sein soll, spezifiziert;
Verarbeiten des ersten Skripts in dem Skriptprozessor zum Erzeugen eines zweiten Dokuments, das den Style des Inhalts in dem XML-Dokument spezifiziert;
Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung;
Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das erste Dokument zu erzeugen, das den Inhalt, der in dem XML-Dokument enthalten sein soll, spezifiziert, wobei der Inhalt, der in dem...

Description

  • HINTERGRUND DER ERFINDUNG
  • Bereich der Erfindung
  • Die Erfindung betrifft im allgemeinen Softwaresprachen zur Anzeige von Seiten für Programmierer im World Wide Web. Insbesondere betrifft diese Erfindung das Bereitstellen von Information mit gleichförmigem Inhalt (bzw. Uniform Content-Information) von einem zentralen Ort zur Anzeige von Seiten.
  • Der Stand der Technik
  • Das Internet stellt eine bedeutende Entwicklung bei Computernetzwerken dar und es ist ein ausgeklügeltes weltweites Netzwerk von Computersystemen. Ein Anwender an einem individuellen PC (d. h. einer Arbeitsstation), der auf das Internet zugreifen möchte, verwendet dazu typischerweise eine Softwareanwendung, die unter der Bezeichnung Webbrowser bekannt ist. Ein Webbrowser verwendet standardisierte Schnittstellenprotokolle, wie zum Beispiel das Hypertext Transfer Protocol (HTTP), um eine Verbindung über das Internet zu anderen Computern herzustellen, die als Webserver bekannt sind und um Information von den Webservern zu empfangen, die auf der Anzeige des Anwenders angezeigt wird. Die Information, die dem Anwender angezeigt wird, ist typischerweise in Seiten organisiert, die unter der Verwendung einer spezialisierten Sprache, wie zum Beispiel einer Hypertext Markup Language (HTML), einer Extensible Markup Language (XML) und einer Wireless Markup Language (WML) aufgebaut sind, die im folgenden als Markup-Languages bzw. markierte Sprachen bezeichnet werden. Markierte Sprachen basieren typischerweise auf der Standard Generalized Markup Language (SGML), die ursprünglich mit der Absicht geschaffen worden ist, eine Standardsprache zur Verfügung zu stellen, die verwendet werden kann, um Dokumente unabhängig von Hardware und Betriebssystemkonfigurationen auf allen Computer gemeinsam zu verwenden. Dazu verwenden die Dateien einer markierten Sprache eine Standardgruppe von Code-Tags, die in ihren Text eingeschoben sind, die die Elemente eines Dokumentes beschreiben. Der Webbrowser interpretiert die Code-Tags, so daß jeder Computer mit seinen eigenen Hardware- und Softwarefähigkeiten in der Lage ist, das Dokument anzuzeigen und gleichzeitig das ursprüngliche Format des Dokuments beibehält. Jedes Dokument befindet sich typischerweise in einer separaten Datei auf dem Server.
  • Für Firmen, die weltweit Geschäfte über das Internet tätigen, werden Webseiten in die geeignete Sprache übersetzt und als hartkodierte HTML und/oder aktive Serverseiten (Active Server Pages, ASP) gespeichert. Ferner stimmen Geschäftseinheiten in verschiedenen Ländern oder Regionen häufig spezifische Produkte und/oder Dienstleistungen auf das jeweilige Gebiet ab, weshalb sie angepaßte Informationen auf den Webseiten benötigen. Das Aktualisieren der Seiten kann schnell ein überwältigendes Maß an Gemeinkosten für die Geschäftsorganisation mit sich bringen. Zusätzliche Gemeinkosten werden durch die starke Zunahme von speziellen markierten Sprachen verursacht mit einer individuellen Syntax für verschiedene Typen von Computersystemen, wie zum Beispiel WML für portable, drahtlose Telefone und persönliche Kommunikationssysteme. In vielen Fällen kann das Format oder der Stil der Seite für mehrere Server gleich sein, insbesondere, wenn eine Firma ein einheitliches Erscheinungsbild auf ihren Seiten anstrebt, die Daten auf der Seite können jedoch einzigartig für einen spezifischen Server sein.
  • Es gibt eine Anzahl von verschiedenen, zur Verfügung stehenden Webbrowsern, die jeweils ihre eigenen Erweiterungen zu markierten Sprachen, wie zum Beispiel HTML, unterstützen. Daher kann ein Dokument, das für einen Browser geschrieben ist, auf einem anderen Browser nicht wie beabsichtigt interpretiert werden, wenn der Browser nicht dieselben Erweiterungen unterstützt. In vielen Fällen sind Softwareentwickler gezwungen, individuelle Dokumente für jeden Browser zu erzeugen oder Logik in die markierte Sprache mit aufzunehmen, die bestimmte Bereiche des Codes umgeht oder ausführt, in Abhängigkeit davon, welcher Browser gerade unterstützt wird. Dies fügt ein weiteres Maß an Komplexität beim Entwickeln und Aktualisieren dieser Dokumente hinzu.
  • XML wurde entworfen, um den Anforderungen von großen Anbietern von Inhalten des Webs zu genügen, für industriespezifische Markierungen (d. h. kodierte Beschreibungen des Speicherlayouts und einer logischen Struktur eines Dokuments), händlerneutralem Datenaustausch, medienunabhängigem Publizieren, One-On-One-Marketing, Workflow-Management in gemeinsamen Erzeugungsumgebungen und dem Verarbeiten von Webdokumenten durch intelligente Clients. XML wird auch in bestimmten Meta-Daten-Anwendungen verwendet. XML unterstützt europäische Sprachen, Sprachen des mittleren Ostens, Afrikas und Asiens. Alle konformen Prozessoren unterstützen die Kodierungen des Unicode-Character-Sets.
  • Es ist daher wünschenswert, einen Mechanismus zur Verwendung von XML bereitzustellen, der ermöglicht, daß angepaßte Webseiten eine gemeinsame Information über das Format und anderen Inhalt/Verhalten haben, während gleichzeitig die Fähigkeit geschaffen wird, Daten in strukturierten, jedoch flexiblen Sammlungen zu speichern, die Eigentümern zugeordnet sind. Es ist ferner wünschenswert, daß die markierte Sprache Anwendern ermöglicht, Daten auf vielen verschiedenen Seiten zu rekombinieren und wiederzuverwenden und verschiedene Quellen für Daten zu verwenden. Ein Vererbungsmechanismus, der das Gruppieren von Seiten in Klassen ermöglicht und der ermöglicht, daß Subklassen von Seiten abgeleitet werden, ist ebenfalls wünschenswert. Es ist ferner wünschenswert, daß solch ein System Standards unterstützt, die in XML bereitstehen.
  • Im Stand der Technik gibt es eine Vielzahl von Systemen, die begrenzte Fähigkeiten zur Inhaltsverwaltung bereitstellen. Einige kommerziell zur Verfügung stehende Verwaltungssysteme für den Inhalt, wie zum Beispiel Vignette, Story-Server und Inso Dynabase, verwenden typischerweise Templates oder Seitenkomponenten, die dynamisch von SQL-Datenbanken (System Query Language) aufgefüllt werden und in Seiten rekombiniert werden unter der Verwendung von vordefinierten Templates. Diese Systeme passen im allgemeinen gut zu hochstrukturierten Sites mit vielen identisch formatierten Seiten, wie zum Beispiel einer Nachrichten-Site. Die Template-Strukturen sind jedoch im allgemeinen fest und nicht flexibel. Ferner basiert das Datenspeicher-Paradigma in diesen Systemen auf dem Ausfüllen von benannten Plätzen in dem Template, das sich nicht für ein flexibles Datenformat eignet, das den Ausdruck von Daten und ihre Beziehungen besonders betont. Das Template-Modell für solche Systeme basiert typischerweise entweder auf Java oder einer Scriptsprache, wie zum Beispiel VBScript oder Tcl/Tk. Typischerweise wird begrenzte Unterstützung für XML als ein Datentyp bereitgestellt.
  • Eine weitere Vielzahl von Systemen, die begrenzte Fähigkeiten zur Inhaltsverwaltung bereitstellen, sind Internet-Anwendungsserver, wie zum Beispiel ColdFusion. Diese Anwendungsserver sind primär ausgelegt, die Unterstützung von interaktiven Anwendungen zu unterstützen. Die meisten der Templatestrukturen der Site sind hartkodiert als Serverscripte und verwenden häufig eine Mischung von Standard-HTML-Tags und proprietären Tags, die auf dem Server vorverarbeitet werden. Jedes Script ist unabhängig von anderen. Es gibt keinen Vererbungsmechanismus. Obwohl die Scripte auf den Tags basieren, sind die Scripte nicht gut gebildetes XML, sondern angepaßtes HTML und die Unterscheidung von Form und Daten ist begrenzt. Ferner ist die Verwendung von XML in diesen Systemen begrenzt auf komplette Quelldatendateien.
  • Web-fähige Objekt-XML-Datenbanken, wie zum Beispiel ObjectStore/eXcelon, Poet, etc. schaffen eine Plattform für eine hochleistungsfähige Anwendungsumgebung um eine flexible Quelle herum, sie schaffen jedoch nur begrenzte Entwicklungswerkzeuge. Die Fähigkeiten zur Datenmodellierung sind flexibel und gut für formfreien Webinhalt geeignet, es gibt jedoch keine High-Level-Scriptsprache, um ein Gerüst zur Verwaltung von Inhalt bereitzustellen.
  • Traditionelle Non-Web-Inhaltsverwaltungssysteme, wie zum Beispiel Interleaf, Arbor Text und TexCel sind geeignet für generische medienneutrale Inhaltsverwaltung und häufig SGML-basiert. Sie führen daher zu einer natürlichen Entwicklung in Richtung XML. Diese Systeme werden typischerweise zur Verwaltung von größeren Dokumentationsprojekten verwendet. Die Ausgabe dieser Systeme ist normalerweise für einen jeweiligen Kunden angepaßt und kann online, auf CD oder in gedruckter Form ausgeliefert werden. Diese Systeme sind ausgelegt, um explizite Dokumente zusammenzustellen, sie umfassen jedoch nicht die Fähigkeit zur Bereitstellung von datengesteuerter, Script-unterstützter Dokumentauslieferung.
  • Ein weiteres System zur Auffüllung von Seiten umfaßt die Verwendung von ASP und SQL mit Auswahlregeln für den Inhalt, die unterstützt werden durch Personalisierungs-/Empfehlungssoftware-Komponenten. Dies ist ein vergleichsweise einfacher Ansatz zur Inhaltsverwaltung, die meisten der Template-Strukturen der Site sind jedoch hartkodiert in HTML und es gibt daher keinen Vererbungsmechanismus. Zusätzlich sind die meisten Daten in die Seiten eingefügt und die Seiten werden personalisiert durch das Auffüllen von vordefinierten Plätzen mit den Zieldaten. Eine Massenanpassung ist möglich, aber es gibt wenig Flexibilität.
  • Aus der Schrift „SCHEMA: Willkommen bei Schema" (http://web.archive.org/web/19980708210956/schema.de) ist ein Tool zum Herstellen von WWW-Hypertexten bekannt, in dem zunächst ein Textschema aufgebaut, dann eine Textstruktur angelegt und schließlich der Hypertext produziert wird.
  • Weiterhin beschreibt der Aufsatz von Hatayama et al., „A Converter between MHEG-5 and HTML 4.0" (IEEE Trans. an Consumer Electronics, Vol. 45, No. 3, August 1999) beschreibt einen Konverter, der ein MHEG-5 Dokument in ein HTML-Dokument, ein CSS-Dokurnent (Cascading Style Sheet) und ein JavaScript-Dokument konvertiert.
  • ZUSAMMENFASUNG DER ERFINDUNG
  • Ein Verfahren und ein Computerprogrammprodukt zum Erzeugen von XML-Dokumenten unter der Verwendung einer Scriptsprache, die die Fähigkeiten von XML erweitert, wird bereitgestellt. Die Scriptsprache umfaßt Kontrollanweisungen zur Aufnahme von Dateninhalt und Stilinformation aus einer Vielzahl von Quellen. Ein oder mehrere Scripte können entwickelt werden, die Scriptsprachen-Kontrollanweisungen umfassen. Ein Scriptprozessor verarbeitet die Scripte und erzeugt ein Inhaltsdokument und ein Stildokument. Das Inhaltsdokument spezifiziert den Inhalt, der in dem XML-Dokument enthalten sein soll und das Stildokument spezifiziert den Stil zur Anzeige des Inhalts in dem XML-Dokument. Eine Gruppe von Programmanweisungen transformiert das Inhaltsdokument und das Stildokument in ein XML-Dokument. Eine andere Gruppe von Programmanweisungen wandelt das XML-Dokument in ein Ausgabedokument für einen bestimmten Typ von Anzeige um. Die Scriptsprache und der Scriptprozessor stellen Möglichkeiten zur Zusammenstellung von Inhalt und Stilinformation aus einer Vielzahl von Quellen bereit. Zahlreiche Scripten können erzeugt werden, um Informationen in einem oder mehreren der anderen Scripten zu überschreiben und/oder zu erweitern, wodurch einem Entwickler ermöglicht wird, ausgewählte Bereiche des Ausgabedokuments anzupassen, während gleichzeitig gemeinsamer Inhalt und Stil für die verbleibenden Bereiche des Ausgangsdokuments verwendet werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines computerisierten Informationsnetzwerks, in dem die vorliegende Erfindung verwendet werden kann.
  • 1a ist ein Blockdiagramm eines Computersystems, mit dem die vorliegende Erfindung verwendet werden kann.
  • 2 ist ein Blockdiagramm eines Gerätes zum Erzeugen von Dokumenten gemäß der vorliegenden Erfindung.
  • 3 ist ein Beispiel einer Quelldatei für ein Anwenderscript gemäß der vorliegenden Erfindung.
  • 4 ist ein Beispiel einer Quelldatei für ein Basisscript gemäß der vorliegenden Erfindung.
  • 5 ist ein Beispiel einer Quelldatei für eine Dateninsel gemäß der vorliegenden Erfindung.
  • 6 ist ein Flußdiagramm zum Erzeugen von Dokumenten gemäß der vorliegenden Erfindung.
  • Die vorliegende Erfindung kann besser verstanden werden und ihre zahlreichen Ziele, Eigenschaften und Vorteile werden für den Fachmann deutlich durch den Bezug auf die beiliegenden Figuren. Die Verwendung der gleichen Bezugszeichen in verschiedenen Zeichnungen zeigt identische oder ähnliche Einheiten an.
  • DETAILLIERTE BESCHREIBUNG
  • Überblick über vorläufige Konzepte und Definitionen
  • Während das Internet hier als ein Beispiel verwendet wird, wie die vorliegende Erfindung verwendet wird, ist es wichtig zu erkennen, daß die vorliegende Erfindung ebenfalls in anderen Informationsnetzwerken verwendet werden kann, die Dokumente benützen, die Inhalt in einer markierten Sprache darstellen. Für diejenigen, die nicht mit XML, dem Internet, dem World Wide Web, Webservern und Webbrowsern vertraut sind, wird ein kurzer Überblick über diese Konzepte hier gegeben.
  • Ein Beispiel einer typischen Internetverbindung, wie sie im Stand der Technik gefunden werden kann, ist in 1 gezeigt. Ein Anwender, der auf Information im Internet zugreifen möchte, hat typischerweise eine Computer-Arbeitsstation 112, die auch als „Client-Arbeitsstation" bezeichnet wird, die ein Anwendungsprogramm ausführt, das als ein Webbrowser 114 bezeichnet wird. Die Arbeitsstation 112 erzeugt eine Kommunikationsverbindung 116 mit dem Webserver 118, wie zum Beispiel eine verdrahtete Einwahlverbindung über ein Modem, eine direkte Verbindung, wie zum Beispiel eine T1- oder ISDN-Leitung, eine drahtlose Verbindung über ein Mobilfunk- oder Satellitennetzwerk oder ein lokales Datentransportsystem, wie zum Beispiel ein Ethernet oder Token Ring über ein lokales Netzwerk. Wenn der Anwender eine Anfrage nach Information durch die Eingabe von Befehlen in den Webbrowser 114 eingibt, sendet die Arbeitsstation 112 eine Anfrage nach Information, beispielsweise einer Suche nach Dokumenten, die sich auf ein spezifisches Thema beziehen oder eine spezifische Webseite an den Webserver 118. Jeder Webserver 118, 120, 122, 124 im Internet hat eine bekannte Adresse, die der Anwender an den Webbrowser 114 liefern muß, um sich mit dem geeigneten Webserver 118, 120, 122 oder 124 zu verbinden. Wenn die Information auf dem Webserver 118 des Anwenders zur Verfügung steht, ermöglicht eine zentrale Verbindung, wie zum Beispiel ein Backbone 126 den Webservern 118, 120, 122, 124, miteinander zu kommunizieren, um die nachgefragte Information zu liefern. Da die Webserver 118, 120, 122 und 124 mehr als eine Webseite enthalten können, wird der Anwender ferner in der Adresse angeben, welche jeweilige Webseite er sehen möchte. Diese Adresse, die auch als ein Universal Resource Locator (URL) einer Homepage auf einem Server bekannt ist, ist eine Abfolge von Ziffern, die den Server und den Ort der Seite auf dem Server anzeigen, analog zur Adresse eines Postbüros. Zur Vereinfachung wurde ein Domain-Namensystem entwickelt, das dem Anwender ermöglicht, Server und Dokumente unter der Verwendung von Namen anstelle von Ziffern zu spezifizieren. Ein URL kann ferner eine spezielle Seite in einer Gruppe von Seiten spezifizieren, die zu einem Inhaltsanbieter gehören durch die Aufnahme zusätzlicher Information am Ende eines Domgin-Namens.
  • Die Webserver 118, 120, 122, 124 führen Webserver-Anwendungsprogramme aus, die Anfragen überwachen, Anfragen nach Information auf diesem speziellen Webserver bedienen und die Information an die Arbeitsstation 112 des Anwenders übertragen. Die Arbeitsstation 112 und/oder die Webserver 116 sind Computersysteme, wie zum Beispiel das Computersystem 130, das in 1a gezeigt ist. Das Computersystem 130 umfaßt eine zentrale Verarbeitungseinheit (CPU) 132, die über einen Host-Bus 134 mit verschiedenen Komponenten, inklusive einem Hauptspeicher 136, Speichergerätcontrollern 138, einem Netzwerk-Interface 140, Audio- und Videocontrollern 142 und Eingabe/Ausgabegeräten 144 verbunden ist, die wiederum über Eingabe/Ausgabe (I/O)-Controller 146 verbunden sind. Fachleute werden erkennen, daß dieses System alle Typen von Computersystemen umfaßt, beispielsweise Mainframes, Minicomputer, Workstations, Server, Personalcomputer, Internet-Terminals, Netzwerkanwendungen, Notebooks, Palmtops, Personal Digital Assistants und eingebaute Systeme. Typischerweise umfaßt das Computersystem 130 ferner einen Zwischenspeicher 150, um den schnelleren Zugriff zwischen dem Prozessor 132 und dem Hauptspeicher 136 zu erleichtern. I/O-Peripheriegeräte umfassen häufig Lautsprechersysteme 152, Grafikgeräte 154 und andere I/O-Geräte 144, wie zum Beispiel Anzeigemonitore, Tastaturen, Maus-artige Eingabegeräte, Diskettenlaufwerke und Festplatten, DVD-Laufwerke, CD-ROM-Laufwerke und Drucker. Viele Computersysteme umfassen ferner Netzwerkfähigkeiten, Terminalgeräte, Modems, Fernseher, Soundgeräte, Spracherkennungsgeräte, elektronische Stiftgeräte und Massenspeichergeräte, wie zum Beispiel Bandlaufwerke. Die Anzahl von Geräten, die zu Personal-Computersystemen hinzugefügt werden kann, wächst weiter. Das Computersystem 130 kann jedoch weniger Komponenten als in 1a gezeigt und hier beschrieben, enthalten.
  • Die Peripheriegeräte kommunizieren üblicherweise mit dem Prozessor 132 über einen oder mehrere Busse 134, 156, 158, wobei die Busse miteinander durch die Verwendung von einer oder mehreren Brücken 160, 162 kommunizieren. Das Computersystem 130 kann eines von vielen Arbeitsstationen oder Servern sein, die mit einem Netzwerk, wie zum Beispiel einem lokalen Netzwerk (Local Area Network, LAN), einem Wide Area Network (WAN) oder einem globalen Informationsnetzwerk, wie zum Beispiel dem Internet, über ein Netzwerk-Interface 140 verbunden sind.
  • Die CPU 132 kann aus einem oder mehreren Mikroprozessoren und/oder integrierten Schaltkreisen aufgebaut sein. Der Hauptspeicher 136 speichert Programme und Daten, auf die die CPU 132 zugreifen kann. Wenn das Computersystem 130 startet, wird ein Betriebssystem in den Hauptspeicher 136 geladen. Das Betriebssystem verwaltet die Ressourcen des Computersystems 130, wie zum Beispiel die CPU 132, den Audiocontroller 142, den Speichergerätecontroller 138, das Netzwerkgerät 140, I/O-Controller 146, und den Host-Bus 134. Das Betriebssystem liest eine oder mehrere Konfigurationsdateien, um die Hardware- oder Software-Ressourcen, die mit dem Computersystem 130 verbunden sind, festzustellen.
  • Der Speichergerätecontroller 138 ermöglicht, daß das Computersystem 130 Daten von Massenspeichergeräten, wie z. B. magnetischen Platten (Festplatten, Disketten) und optischen Platten (DVD und CD-ROM) abruft.
  • Der Fachmann wird erkennen, daß die vorangegangenen Komponenten und Geräte zur konzeptionellen Klarheit als Beispiele verwendet werden und daß zahlreiche Konfigurationsmodifikationen üblich sind. Beispielsweise ist der Audiocontroller 142 mit einem PCI-Bus 156 in 1a verbunden, er kann jedoch in alternativen Ausführungsbeispielen mit dem ISA-Bus 138 verbunden sein oder auf dem Motherboard (nicht dargestellt) angeordnet sein. Als ein weiteres Beispiel wird der Fachmann erkennen, daß, obwohl das Computersystem 130 nur mit einer einzigen Haupt-CPU 132 und einem einzigen Systembus 134 dargestellt ist, die vorliegende Erfindung ausgeführt werden kann unter der Verwendung eines Computersystems, das mehrere CPUs 132 und/oder mehrere Busse 134 hat. Zusätzlich können die Schnittstellen, die in dem bevorzugten Ausführungsbeispiel verwendet werden, separate vollprogrammierte Mikroprozessoren umfassen, die verwendet werden, um rechenintensive Verarbeitung von der CPU 132 auszulagern oder es kann Eingabe/Ausgabe (I/O)-Adapter umfassen, um ähnliche Funktionen durchzuführen. Ferner wird der PCI-Bus 156 als ein Beispiel für irgendwelche Eingabe/Ausgabegeräte verwendet, die mit irgendeinem I/O-Bus verbunden sind; der AGP-Bus 159 wird verwendet als ein Beispiel eines grafischen Busses. Das Grafikgerät 154 wird als ein Beispiel von irgendeinem Grafikcontroller verwendet; und die Host-zu-PCI-Brücke 160 und die PCI-zu-ISA-Brücke 162 werden als Beispiele für irgendwelche Arten von Brücken verwendet. Entsprechend sind die in 1a dargelegten spezifischen Beispiele beabsichtigt, ihre allgemeineren Klassen darzustellen. Im allgemeinen ist auch die Verwendung von irgendeinem spezifischen Beispiel beabsichtigt, seine Klasse zu vertreten und die Nichtaufnahme von solchen spezifischen Geräten in der vorangegangenen Liste sollte nicht als Anzeichen für eine gewünschte Begrenzung aufgefaßt werden.
  • Eine Webseite besteht in erster Linie aus visuellen Daten, die auf dem Anzeigemonitor der Arbeitsstation 112 des Anwenders angezeigt werden sollen. Wenn der Webserver 118 eine Anfrage nach einer Webseite empfängt, wird er ein Dokument, das im allgemeinen in einer markierten Sprache, wie zum Beispiel HTML oder XML geschrieben ist, über eine Kommunikationsverbindung 116 an den anfragenden Webbrowser 114 übermitteln. Der Webbrowser 114 interpretiert die markierte Sprache und gibt die Webseite an den Monitor der Arbeitsstation 112 des Anwenders aus. Diese Webseite, die auf der Anzeige des Anwenders angezeigt wird, kann Text, Grafik und Links enthalten (Adressen für andere Webseiten). Diese anderen Webseiten (d. h. diejenigen, die durch Links dargestellt werden) können sich auf demselben oder anderen Webservern 116 befinden. Der Anwender kann zu diesen anderen Webseiten gelangen durch das Klicken auf die Links unter der Verwendung einer Maus oder eines anderen Zeigegerätes. Das gesamte System von Webseiten mit Links auf andere Webseiten auf anderen Servern auf der Welt bildet das World Wide Web.
  • Stilblattmechanismen (bzw. style sheet mechanisms), die in markierten Sprachen zur Verfügung stehen, ermöglichen, daß Stilelemente über Webseiten hinweg, die miteinander in Beziehung stehen (beispielsweise Webseiten, die zu einer Website einer Firma gehören) konsistent sind. Beispielsweise verwendet HTML kaskadierende Stilblätter (cascading style sheets, CSS), SGML verwendet Dokumentenstilsemantik und Spezifizierungssprache (document style semantics and specification language, DSSSL) und XML verwendet erweiterbare Stilsprache (extensible style language, XSL). XSL ist eine Sprache zum Ausdrücken von Stilblättern in XML, d. h. zum Ausdrücken, mit welchem Stil bzw. Style der strukturierte Inhalt einer XML-Datei versehen werden soll, wie er angeordnet werden soll und wie der Umbruch auf irgendeinem Präsentationsmedium, wie zum Beispiel einem Fenster in einem Webbrowser oder einer Gruppe von physikalischen Seiten in einem Buch, Bericht, Flugblatt oder Memo erfolgen soll. XSL wurde entwickelt, da XML größere Datenanzeigemöglichkeiten bereitstellt als HTML. XML ermöglicht Autoren, Daten mit vom Autor definierten Elementen zu markieren (das Öffnen und Schließen von Paaren von Tags), die die Natur der Daten spezifizieren. Dies ermöglicht dem Entwickler, angepaßte Datenstrukturen klar zu organisieren. Die Datenelemente können mit konsistenter Formatierung an verschiedenen Stellen in einem Dokument oder über eine Serie von Dokumenten hinweg angezeigt werden. XML fügt das Datum am geeigneten Ort ein und XSL ermöglicht komplexere Formatierung als Stilblattmechanismen, die anderen markierten Sprachen zugeordnet sind. XML ermöglicht dem Anwender, eindeutige Tags zu erzeugen, die ihre Information in sinnvollerer Weise identifizieren als durch die Anwendung einer Basisgruppe von Tags einer markierten Sprache auf alle Dokumente. Um dies zu erreichen, stellt XML ein Namespace-Merkmal bereit, das dem Anwender ermöglicht, spezifische Adressen zu spezifizieren, um einen eindeutigen Kontext für Tags und Attribute bereitzustellen.
  • Ein XSL-Style Sheet-Prozessor nimmt ein Dokument oder Daten in XML und ein XSL-Style Sheet auf und erzeugt die Präsentation dieses XML-Quelleninhalts, so wie er durch das Style Sheet spezifiziert wird. Der Präsentationsprozeß umfaßt die Transformation eines Quellenbaums in einen Ergebnisbaum (auch als Baumtransformation bekannt) und das Interpretieren des resultierenden Baums, um eine formatierte Darstellung auf einer Anzeige oder einem anderen Medium zu erzeugen. Durch das Separieren des Style Sheets und der Daten können Style- oder Formatierungsaspekte modifiziert werden, ohne die Daten, die wiedergegeben werden, zu modifizieren und umgekehrt.
  • XSL-Transformation (XSLT) ist eine Sprache zur Baumtransformation, die Muster Templates zuordnet. Ein Muster wird Elementen in dem Quellbaum gegenübergestellt. Ein Template wird instantiiert für ein jeweiliges Quellelement, um ein Teil des Ergebnisbaums zu erzeugen. Wenn ein Template instantiiert wird, wird jede Anweisung ausgeführt und durch den resultierenden Teil des Baumes, den es erzeugt, ersetzt. Beim Aufbau des Ergebnisbaums können Elemente von dem Quellenbaum gefiltert und erneut angeordnet werden und beliebige Strukturen können hinzugefügt werden. XSLT verwendet XML-Namespaces, um Elemente zu unterscheiden, die Anweisungen für den XSLT-Prozessor sind, von Elementen, die die buchstäbliche Struktur des Ergebnisbaums spezifizieren.
  • Ein Schema spezifiziert die Struktur eines XML-Dokuments und Einschränkungen für seinen Inhalt. XML definiert Regeln zum Definieren von markierten Sprachen mit Tags, während ein Schema eine formale Spezifizierung der Grammatik für eine markierte Sprache ist. Ein Schema ist nützlich zum Validieren des Dokumentinhalts und zum Beschreiben der Grammatik der Sprache. Das Schema definiert die Elemente, die innerhalb des Dokuments auftauchen können und die Attribute, die einem Element zugeordnet werden können. XML-Schemata sind erweiterbar und es ist Softwareentwicklern freigestellt, ihre eigenen Elemente und Attribute zu XML-Schemadokumenten hinzuzufügen. Es definiert, ob ein Element leer ist oder ob es Text umfassen kann. Das Schema kann ferner Standardwerte für Attribute definieren.
  • XML umfaßt ein Merkmal, das als Dokument Object Model (DOM) bekannt ist. Dabei handelt es sich um ein Anwendungs-Programmier-Interface (API) für HTML- und XML-Dokumente. Das DOM definiert die logische Struktur von Dokumenten und die Art, in der auf ein Dokument zugegriffen wird und es verändert wird. In dem DOM können Programmierer Dokumente bilden, ihre Struktur steuern und Elemente und Inhalt hinzufügen, sie modifizieren oder löschen. Viele Objekte, die in einem HTML- oder XML-Dokument gefunden werden, lassen sich ansprechen, verändern, löschen oder hinzufügen unter der Verwendung des DOM. Dokumente werden modelliert unter der Verwendung von Objekten und das Modell umfaßt nicht nur die Struktur eines Dokumentes, sondern auch das Verhalten eines Dokumentes und die Objekte, aus denen es besteht. Als ein Objektmodell identifiziert das DOM die Schnittstellen und Objekte, die zur Darstellung und Manipulierung eines Dokumentes verwendet werden, die Semantik dieser Stellstellen und Objekte inklusive sowohl des Verhaltens und der Attribute und Beziehungen und Kollaborationen zwischen diesen Schnittstellen und Objekten.
  • Beschreibung
  • 2 zeigt ein Blockdiagramm einer Verarbeitungsvorrichtung 200 für Serverseiten zum Erzeugen und Verarbeiten von XML- und XSL-Dokumenten unter der Verwendung einer XML-Serverseitensprache (XML server pages language, XSP) in Übereinstimmung mit der vorliegenden Erfindung. Die vorliegende Erfindung umfaßt die XSP-Scriptsprache und den XSP-Prozessor 202, der Scripten interpretiert, die in XSP geschrieben sind. Der XSP-Prozessor 202 befindet sich auf dem Webserver 116 (1) und, wie benötigt, auf anderen Webservern. Ein Verfahren zum Aufrufen des XSP-Prozessors 202 ist dynamisch, über eine Online-Mechanisierung, wobei ein Anwender ein oder mehrere XSP-Scripten von der Client-Workstation 112 (1) an den XSP-Prozessor 202 über eine Anwendungsprogramm-Schnittstelle (API) auf dem Webserver 116 schickt. Beispiele von üblichen bekannten Schnittstellen zu Webservern 116, die verwendet werden können, umfassen das Interface Services Application Programming Interface (IS API) und das Common Gateway Interface (CGI). Die resultierende Seite wird daraufhin zurück an die Client-Arbeitsstation 112 geschickt und angezeigt oder an ein ausgewähltes Zielgerät, wie zum Beispiel einen Browser 114 (1) ausgegeben. Eine andere Art zum Aufrufen des XSP-Prozessors 202 ist statisch, wobei ein Entwickler ein oder mehrere XSP-Scripten an den XSP-Prozessor 202 direkt auf dem Server 116 schickt. Die Seite oder Seiten, die von der Verarbeitungsvorrichtung 200 für Serverseiten erzeugt werden, werden in dem Server 116 gespeichert und es kann über eine URL-Anfrage von der Client-Workstation 112 auf sie zugegriffen werden.
  • Ein Beispiel eines XSP-Scripts 300 in Übereinstimmung mit der vorliegenden Erfindung ist in 3 gezeigt. In der vorliegenden Erfindung erzeugt ein Softwareentwickler ein XSP-Script 300 manuell oder durch die Verwendung eines Software-implementierten Werkzeugs, das automatisch oder halbautomatisch das XSP-Script 300 erzeugt. Das Werkzeug zum Erzeugen von XSP-Scripts kann eine Anwenderschnittstelle, wie zum Beispiel eine interaktive grafische Benutzeroberfläche oder ein statisches Interface umfassen, das Eingabe über eine oder mehrere Datendateien empfangt.
  • XSP-Scripts, wie zum Beispiel das XSP-Script 300, werden verwendet zur Erzeugung von Klassen von Webseiten. In einem Ausführungsbeispiel wird das XSP-Script 300 in dem XSP-Prozessor 202 durch einen Anwender oder ein anderes Programm gestartet, das die URL des Scripts aufruft, beispielsweise die URL http://server/xsp/inventors.xsp l=en target=ie5, wobei in diesem Beispiel die Quelle für das Script in einer Datei mit dem Namen inventors.xsp gespeichert ist, in dem xsp-Verzeichnis auf dem Computersystem-Server. Die Anfrage umfaßt ferner Parameter, die Information bereitstellen, die sich u. a. auf die XML- und XSL-Dokumente beziehen, die während des Datensammelprozesses 204 und des Style Sheet-Aufbauprozesses 206, die in 2 gezeigt sind, erzeugt werden. Beispielsweise erzeugt der Parameter l=en (language=englisch) Information, welche Sprache zur Anzeige der resultierenden Seite verwendet wird. Ein weiteres Bei spiel ist der Parameter target=ie5, der den Browser identifiziert, der verwendet wird, so daß die Dokumente auf die einzelnen Merkmale und Erweiterungen des jeweiligen Browsers zugeschnitten werden können. Andere Parameter können wie benötigt implementiert werden.
  • Eine weitere Alternative zur Initiierung des XSP-Scripts 300 in dem XSP-Prozessor 202 besteht in der Verwendung eines gemeinsamen Objektmoduls (common object module, COM)-Interface zum XSP-Prozessor 202, wie es dem Fachmann bekannt ist. Ein XSP-Script ist ein Dokument, das in XSP und XML geschrieben ist, das eine oder mehrere XML-Dokumente als Eingabe für den XSP-Prozessor 202 spezifiziert. Die Ausgabe der Verarbeitungsvorrichtung 200 für die Serverseiten ist ein XML-Objekt, das ein gut formatiertes Dokument in einer markierten Sprache sein kann und das bereitsteht, um in einen Browser eingegeben zu werden oder sie kann in einem anderen Format ausgedrückt werden, das zur Verwendung in einem Datenaustauschprozeß mit einem anderen System oder zum Formatieren und Liefern an einen HTML- oder Nicht-HTML-Client bereit ist.
  • Das XSP-Script 300 wird vom XSP-Prozessor 202 als eine Gruppe von Subroutinen interpretiert, die XML-Strukturen in einem Ergebnisbaum erzeugen. Die XML-Strukturen können erzeugt werden durch das Abfragen und Transformieren einer oder mehrerer XML-Datenquellen oder durch das direkte Inline-Kodieren des gewünschten Ausgangs als ein Template.
  • In einem Ausführungsbeispiel von XSP wird die gesamte Kernfunktionalität zur Unterstützung der Struktur des Ergebnisbaums, ob es eine XML-elektronische Datenaustauschnachricht (electronic data interchange message, EDI) oder ein Dokument in einer markierten Sprache ist, die von einem XML-Dokument abgeleitet wird, in Low Level-„Basisscripten” implementiert. „Anwender"-Scripten stellen Erweiterungen bereit und/oder überschreiben Low Level-Basisscripten. Die XML-Datengruppen, auf die in den Anwenderscripten Bezug genommen wird, bestimmen den letztendlichen Ergebnisbaum. Dieses Merkmal ist bekannt als der Vererbungsmechanismus und er führt zu einer sehr kleinen Anzahl von kompakten Scripts, die in der Lage sind, sehr große Webseiten und eine große Vielzahl von tatsächlichen Dokumentenformaten zu unterstützen. Vererbung ist ein objektorientiertes Konstruktionsmerkmal, das den Anwender einige gemeinsame Funktionalität definieren und daraufhin in Spezialfällen überschreiben läßt. Somit kann eine Seite aufgeteilt werden in separate Aufbaublöcke, wobei jeder Block durch verschiedene XSP-Scripts erzeugt wird. Wenn eine Veränderung in einem Block benötigt wird, müssen nur die betroffenen Scripts verändert werden und die anderen Blöcke bleiben unverändert. Der Vererbungsmechanismus ermöglicht ferner die Konfigurationskontrolle von Seitenformaten. Beispielsweise kann Entwicklern in verschiedenen Bereichen Zugriff auf Blöcke gegeben werden, die Information enthalten, die für ihren Bereich einzigartig ist, beispielsweise Information, die in einer jeweiligen Sprache präsentiert wird, oder unterschiedliche Produkte, die in einer Region zur Verfügung stehen, jedoch nicht in einer anderen. Dies ermöglicht Softwareentwicklern, die Information, die für sie einzigartig ist, zu verändern, während gleichzeitig die Gemeinsamkeiten mit Scripts erhalten bleiben, die die Blocks erzeugen, die mit anderen Regionen gemeinsam sind.
  • In Übereinstimmung mit der vorliegenden Erfindung können XSP-Scripts ferner Fähigkeiten zur Erzeugung und zum Zugreifen auf benannte Bereichsvariablen umfassen, zur Durchführung von Flußkontrolle, zum Erzeugen und Zugreifen auf COM-Objekte und zum Erzeugen von XML-Dateninseln mit Scriptbereich auf einem Webserver.
  • XSP-Scripts haben eine gemeinsame Kontrollstruktursyntax mit XSL, sie ordnen jedoch die XSP-Kontrollstruktursyntax in einem anderen XML-Namespace an, um klarzustellen, ob der XSP-Prozessor 202 die Kontrollstruktur ausführt oder ob die Kontrollstruktur an einer anderen Stelle der Verarbeitungsvorrichtung 200 der Serverseiten behandelt wird. Im Beispiel des XSP-Scripts 300 aus 3 umfaßt die XSP-Anweisung 302 Namespace-Parameter, die den Namen des Basisscripts und den Ort der Dateien anzeigen, die Information zum Erzeugen einer Inhaltsdatei und eines Style Sheets im Datensammelprozeß 204 bzw. im Style Sheet-Aufbauprozeß 206 enthalten. In dem in Zeile 302 in 3 gezeigten Beispiel umfassen die Namespace-Parameter, die durch xmlns bezeichnet werden, Namespaces für XSP-Dokumente (xsp="uri:xsp"), XSL-Dokumente (xsl="uri:xsl") und XML-Standarddokumente (doc="uri:doc").
  • Es ist festzuhalten, daß in diesem Ausführungsbeispiel offene spitze Klammern „<", offene spitze Klammern mit einem Schrägstrich „</", und geschlossene spitze Klammern „>" verwendet werden, um Kontrollanweisungen zu bezeichnen. Die XSP-Scriptsprache der vorliegenden Erfindung umfaßt mehrere verschiedene XSP-Kontrollanweisungen, die durch Tags bezeichnet werden, die definiert sind unter Verwendung des Schemamerkmals von XML. Die XSP-Kontrollanweisungs-Tags werden durch den XSP-Prozessor 202 erkannt. Beispielsweise beginnt das XSP-Script 300 mit „<xsp:script>" in Zeile 302 und endet mit „</xsp:script>" in Zeile 398, um den Anfang und das Ende des Scripts zu bezeichnen. In einem Ausführungsbeispiel ist die Syntax für die <xsp:script>-Kontrollanweisung wie folgt:
    Figure 00200001
    wobei
    base-script den Namen des Scripts bezeichnet, von dem dieses durch Vererbung hervorgegangen ist;
    script-statements der Wert ist, der der Variable oder Eigenschaft zugewiesen werden soll; und
    default-scope der Wert ist, der der Variable oder Eigenschaft zugewiesen werden soll.
  • Jedes XSP-Script hat <xsp:script> als sein Wurzel- bzw. Rootelement. XSP-Scripten können zusätzlich eine Definition eines Basisscripts enthalten. Das Basisscript wird verwendet um zu definieren, von welchem Script dieses erbt. Bereich bzw. Scope kann normalerweise ignoriert werden. Das Setzen auf „protected" würde bedeuten, daß <xsp:call> nur Subroutinen innerhalb dieses Scripts wahrnimmt, wenn der Aufruf von demselben Script durchgeführt wird oder von einem davon abgeleiteten. Wenn ein Aufruf nach einem Script ohne die Spezifizierung einer spezifischen Subroutine durchgeführt wird, wird eine <xsp:sub> mit dem Namen Main durchsucht, zunächst in diesem Script, danach, falls vorhanden, in seinem Basisscript.
  • Ein Beispiel einer Implementierung einer Kontrollanweisung <xsp:script> ist in der Zeile 302 in dem Anwender-XSP-Script 300 gezeigt, das ein Basisscript instantiiert unter der Verwendung von „base=inventor-base.xsp", wobei inventor-base.xsp der Name des Basisscripts ist.
  • Der Inhalt, der implementiert wird, wenn das Basisscript am Beginn der Ausführung des XSP-Scripts 300 instantiiert wird, wird überschrieben und/oder erweitert durch die Subroutine „contents", die in den Zeilen 304 bis 306 in „Anwender"-XSP-Script 300 gezeigt ist.
  • Ein Beispiel eines Basisscripts inventor-base.xsp, das in dem Beispiel XSP-Script 300 instantiiert wird, ist in 4 gezeigt. Das Basisscript 400 umfaßt eine Hauptsubroutine in den Zeilen 404 bis 408, wobei standardisierte und Standardinhalte implementiert werden. Die Zeilen 410 bis 432 umfassen eine Routine, die Standard-XSP-Inhalte bereitstellt und die Zeilen 434 bis 452 umfassen XSL-Standardregeln.
  • Ein weiteres Beispiel eines XSP-Control-Statements <xsp:sub> zum Deklarieren des Startes einer neuen Subroutine ist in Zeile 304 in 3 gezeigt. Der Name der Subroutine, in diesem Beispiel „contents" ist als ein Parameter enthalten. Die „contents"-Subroutine ist in den Zeilen 304 bis 396 enthalten und überschreibt die „contents"-Subroutine im Basisscript 400. In einem Ausführungsbeispiel ist die Syntax:
    Figure 00220001
    wobei:
    subroutine-name der Name der Subroutine ist.
    scope-type eine optionale Bereichsdeklaration ist. Falls sie auf „protected" gesetzt ist, wird die Subroutine nur sichtbar sein für Aufrufe im aktuellen Script oder davon abgeleiteten.
  • <xsp:sub> wird verwendet, um innerhalb eines Scripts eine Subroutine zu definieren und ist analog zu sub in Visual Basic und VBScript oder function in Java-Script. Scope kann normalerweise ignoriert werden. Wird es auf „protected" gesetzt, bedeutet das, daß <xsp:call> nur Subroutinen sieht innerhalb dieses Scripts, wenn der Aufruf von demselben Script aus erfolgt oder von einem davon abgeleiteten. Wenn scope nicht definiert ist, wird der Standardbereich bzw. Scope, der in <xsp:script> definiert ist, verwendet (falls er definiert ist).
  • Die Zeile 308 im XSP-Script 300 umfaßt die XSP-Kontrollanweisung <xsp:query>, um eine XQL-Abfrage auszuführen, beispielsweise eine Abfrage der Dateninsel xsp.xml, die in 5 dargestellt ist. Die <xsp:query>-Anweisung kann verwendet werden, um ein Stück XML von einem anderen Dokument oder einer eingefügten Dateninsel zu erhalten. Die Quelldaten können abgefragt werden, um den Bereich der zurückgegebenen Daten zu reduzieren. Sie können ferner transformiert werden unter der Verwendung von XSL-Mustern, die entweder inline verarbeitet werden innerhalb der <xsp:query>-Tags oder durch Referenz auf ein XSL-Dokument in dem Transformationsattribut.
  • Im beispielhaften XSP-Script 300 in 3 umfaßt die Query-Control-Anweisung 308 Query-Attribute scr="#listofinventors" und <query="//inventors", um eine Liste abzurufen, die nur die Erfinder der Dateninsel listofinventors enthält. Es ist festzuhalten, daß die Query-Attribute andere Information, die in den Dateninseln zur Verfügung steht, spezifizieren können.
  • In einem Ausführungsbeispiel ist die Syntax für die <xsp:query>-Anweisung:
    Figure 00230001
    wobei
    source die Quelle der Daten ist. Dies kann eine URL oder eine Referenz auf eine Dateninsel sein.
    xql-query ist optional. Dies sind die Anweisungen, die durchgeführt werden sollen, wenn die einschließende Bedingung wahr ist.
    transform-doc ist optional. Dies sind die Anweisungen, die durchgeführt werden sollen, wenn die einschließende Bedingung wahr ist.
    string-bool ist optional und wird auf wahr gesetzt, wenn das abgefragte Dokument DXP-Formeln enthält, die expandiert werden müssen.
    filter-bool ist optional und wird auf wahr gesetzt, wenn das Dokument, das abgefragt wird, Filterattribute enthält, die analysiert werden sollen, um das tatsächlich arbeitende Dokument, das abgefragt werden soll, zu erhalten.
    transform-statements sind optional und sind die Anweisungen, die durchgeführt werden sollen, wenn die einschließende Bedingung wahr ist.
  • Das XSP-Script 300 kann ferner direkt auf Routinen von einem anderen Script zugreifen unter der Verwendung des anderen Scripts als einer Subroutinen-Bibliothek.
  • Eine weitere XSP-Kontrollanweisung, <xsp:xml> wird dazu verwendet, um eine Dateninsel zu definieren. Ein Beispiel dieser Anweisung ist in Zeile 306 in 3 gezeigt, die die Query-Attribute name="listofinventors" und src="xsp/data/inventors/xsp.xml" umfaßt, um eine Liste von Erfindern aus der Dateninsel xsp.xml im Verzeichnis /data/inventors abzurufen, so wie sie als Parameter in der Kontrollanweisung in Zeile 306 spezifiziert ist. In einem Ausführungsbeispiel ist die Syntax für die <xsp:xml>-Kontrollanweisung:
    <xsp:xml name="name"[src="source"][scope="scope-type"]><[xml-data]>
    </xsp:xml>
    wobei
    name der Name ist, der verwendet wird, um nachfolgend auf diese Dateninsel zuzugreifen.
    source (optional) die Quelle der Daten ist. Wenn dieser Parameter nicht geliefert wird, wird inline xml-data dazu verwendet, um die Dateninsel aufzufüllen.
    scope-type (optional) ist die Scope-Deklaration, entweder „lokal", „Eltern" oder „global". Der Standardwert ist „lokal".
    xml-data (optional) sind die XML-Daten, die dazu verwendet werden, um die Dateninsel aufzufüllen.
  • Die <xsp:xml>-Anweisung schafft einen Weg, um ein Stück XML-Daten so zu halten, daß sie nachfolgend verarbeitet und abgefragt werden können unter Ver wendung von <xsp:query>. Dieses Merkmal ist insbesondere nützlich, wenn dasselbe Dokument wiederholt abgefragt werden muß, da es bedeutet, daß das Dokument nur einmal geladen werden muß. Es ist ferner nützlich, wenn das abzufragende Dokument nicht auf einer Festplatte existiert; es kann direkt inline erzeugt worden sein unter der Verwendung von normalen XML-Tags oder von einer anderen Abfrage zurückgegeben worden sein (unter der Verwendung von <xsp:query> oder von xsp:xdb). Ein Beispiel einer XML-Script-Quelldatei für die xsp.xml-Dateninsel 500 ist in 5 gezeigt.
  • Viele andere Typen von XSP-Kontrollanweisungen können in der vorliegenden Erfindung implementiert werden. Beispielsweise wird eine <xsp:assign>-Anweisung verwendet, um eine Variable zuzuweisen oder Eigenschaften eines Objektes zu modifizieren. Eine <xsp:assign>-Anweisung kann ferner verwendet werden für dynamisches Benennen, wobei der Name der Variable, die zugeordnet wird, basieren kann auf einem variablen Namen. Dies kann verwendet werden, um Features, wie zum Beispiel Felder, zu implementieren, beispielsweise <xsp:assign name="column$(col)"value="This is column$(col)"/>.
  • Eine weitere XSP-Kontrollanweisung, die in der vorliegenden Erfindung implementiert wird, ist die <xsp:call>-Anweisung, die dazu verwendet wird, um einen Aufruf in eine andere Subroutine zu machen, wie beispielsweise in Zeilen 406 und 428 in 4 gezeigt. In einem Ausführungsbeispiel ist die Syntax:
    <xsp:call href="subroutine"/>
    wobei subroutine die Referenz auf die aufzurufende Subroutine ist.
  • Der Subroutine-Parameter ist in der allgemeinen Form [Dateiname][#Subname][?parameters]. Wenn der Dateiname nicht spezifiziert wird, werden das aktuelle Script und daraufhin seine Basisscripts nach der Subroutine durchsucht. Wenn der Sub-Name nicht spezifiziert wird, wird die Eingangspunkt-Subroutine mit dem Namen „Main" aufgerufen. Parameter können übergeben werden. In einem Ausführungsbeispiel sollte, wenn eine Funktion in dem Basisscript aufgerufen wird, der Dateiname auf „..." gesetzt werden. Dies ist insbesondere nützlich, wenn der Anwender ein <xsp:sub> überschrieben hat, um die Basisfunktionalität zu erweitern und daraufhin die Standardimplementierung aufrufen möchte.
  • Eine weitere XSP-Kontrollanweisung, die in der vorliegenden Erfindung implementiert ist, ist die <xsp:choose>-Anweisung, die verwendet wird, um unter einer Anzahl von Aktionen auszuwählen, basierend darauf, ob oder ob nicht eine von den gelieferten Bedingungen wahr ist. In einem Ausführungsbeispiel ist die Syntax:
    Figure 00260001
    wobei:
    condition die zu evaluierende Bedingung darstellt.
    conditional-statements die Anweisungen sind, die durchgeführt werden sollen, wenn die einschließende Bedingung wahr ist.
  • Andere XSP-Kontrollanweisungen, die in der vorliegenden Erfindung implementiert sind, umfassen die <xsp:comment>-Anweisung zur Anordnung von Kommentaren in dem Meta-Dokument der Ausgabe; die <xsp:copystring>-Anweisung zum Kopieren eines formatierten Strings von einer Stringtabelle; die <xsp:for>-Anweisung zur Aufzählung der Werte in einer Sammlung; die <xsp:if>-Anweisung zur Durchführung einer Handlung, wenn eine gegebene Bedingung vorliegt; die <xsp:request>-Anweisung zur Durchführung einer parametrisierten HTTP-Anfrage nach XML-Daten; und die <xsp:xdb>-Anweisung zum Aufzählen der gesamten oder eines Teiles einer XDB-Datenbank. Die XDB-Datenbank-Möglichkeit umfaßt ein Bild, einen Link und eine Definitionsdatenbank. Wann auch immer während der Durchführung der Aufzählung ein Link, ein Bild, eine Definition oder ein varianter Knoten gefunden wird, wird der Datenblock des Knotens expandiert. Die <xsp:xdb>-Kontrollanweisung wird ferner in der ebenfalls anhängigen US-Patentanmeldung mit der Seriennummer _______ mit dem Titel „Database Facility for XML Server Pages Language" erklärt, die am selben Tag eingereicht worden ist und demselben Anmelder zugewiesen ist wie die vorliegende Erfindung und die hiermit durch Referenz mit aufgenommen wird.
  • Unter erneuter Bezugnahme auf 2 erzeugt der XSP-Prozessor 202 ein erstes XSP-Scriptdokument, das Befehle umfaßt, die XML-Ressourcen spezifizieren, die den gewünschten Inhalt für die Seite enthalten. Das erste XSP-Scriptdokument wird an den Datensammelprozeß 204 ausgegeben. Der Datensammelprozeß 204 zieht den Inhalt aus den Quellen, die in dem ersten XSP-Script spezifiziert sind und erzeugt ein XML-Meta-Dokument für die Nachricht und den Inhalt der Seite. Dieses XML-Meta-Dokument ist unabhängig vom XML-Style Sheet und ist nicht auf eine spezifische Sprache oder ein Format ausgerichtet. Das XML-Meta-Dokument drückt Metaphern anstelle von Code aus, um direkt die Bestandteile der Seite zu erzeugen. Beispielsweise kann das Script <doc:root>
    Figure 00270001
    verwendet werden in dem Meta-Dokument, um den Text und die Grafik für eine zusammenlegbare Liste darzustellen, statt der tatsächlichen Codeanweisungen, die in einem typischen Dokument einer markierten Sprache zur Erzeugung der Text und der Grafik benötigt werden. Der Datensammelprozeß 204 ist in der Lage, Information von einer Vielzahl von Quellen abzurufen und ermöglicht Entwicklern in einer jeweiligen Region, die wichtigste Information zur Anzeige auf einer gegebenen Seite zu spezifizieren. Entwickler können darüber hinaus einigen Inhalt, der für ihren Bereich einzigartig ist, durch die Verwendung von Anwenderscripten, dort wo sie erlaubt sind, bereitstellen und gleichzeitig den gemeinsamen Inhalt und das Format für alle Anwender, die Basisscripten für andere Bereiche der Seite verwenden, beibehalten.
  • Der XSP-Prozessor 202 erzeugt ferner ein zweites Dokument, das ein Style Sheet Script für die Seite umfaßt. Der Style Sheet-Aufbauprozeß 206 empfängt das Style Sheet Script vom XSP-Prozessor 202 und ruft alle Dokumente, die in dem Style Sheet Script spezifiziert sind, zum Formatieren des Inhalts in dem Meta-Dokument ab. Der Ausgang des Style Sheet-Aufbauprozesses 206 ist ein XSL-Dokument, das Regeln zum Formatieren des Meta-Dokuments enthält.
  • Das XSL-Dokument und das XML-Meta-Dokument werden in die XSL-Transformation 208 eingegeben, die die Hierarchie der Module, die sowohl in dem Meta-Dokument als auch dem Style Sheet spezifiziert sind, sucht und die Vererbungsmechanismen verwendet, um festzustellen, welche Module zu verwenden sind. Ein Template für die Quellenelemente, die in dem Modul spezifiziert sind, wird instantiiert, um den Ergebnisbaum zu erzeugen. Wenn ein Template instantiiert ist, wird jede Anweisung ausgeführt und ersetzt durch das Fragment des Ergebnisbaums, den sie erzeugt.
  • Die Teile des Ergebnisbaums, die in der XSL-Transformation 208 erzeugt werden, werden zu einem XML-Dokument ausgegeben und an den Post-Renderer 210 gesandt. Der Post-Renderer 210 konvertiert das XML-Dokument in das Dokumentenformat, das von dem Gerät oder der Anwendungssoftware, die zur Anzeige des Ausgangsdokuments 212 verwendet wird, benötigt wird. Solch ein Do kumentenformat kann eines oder mehrere von vielen verschiedenen Formaten sein, inklusive HTML, Textverarbeitungsprogramm-Formaten und WML, basierend auf dem Ziel, das spezifiziert worden ist, wenn das XSP-Script 300 in dem XSP-Prozessor 202 gestartet wird.
  • Der Vorgang des Erzeugens eines Ausgangsdokuments für ein Zielgerät unter der Verwendung von XSP-Scripten wird in dem Flußdiagramm in 6 zusammengefaßt. Im Prozeß 600 werden ein XSP-Prozessor und XSP-Tags, die durch den XSP-Prozessor erkannt werden sollen, erzeugt und den Entwicklern zur Verfügung gestellt. Die XSP-Tags werden verwendet zur Identifizierung von Anweisungen in einem Script als XSP-Anweisungen und können in ihrem eigenen einzigartigen Namespace enthalten sein. Im Prozeß 602 erzeugt ein Anwender Basisscripten und speichert sie in einer zentralen Datenbank, auf die von allen Servern zugegriffen werden kann, die Inhalt für die Organisation bereitstellen. Wenn benötigt, ermöglicht der Prozeß 604 Anwendern, Anwenderscripten zu erzeugen und zu speichern, die die Basisscripten überschreiben oder erweitern. Sowohl Anwenderscripten als auch Basisscripten können Zeilen enthalten, die die Vererbungsmechanismen, die den ISP-Tags zugeordnet sind, verwenden, um Information in einem vorherigen Script zu überschreiben oder zu erweitern.
  • Zum Erzeugen eines Anzeigedokuments von den Scripten wird der XSP-Prozessor mit dem Toplevel-Script als Eingabe im Prozeß 606 aufgerufen. Der XSP-Prozessor trennt die Inhaltsspezifikationen von den Style-Spezifikationen im Prozeß 608. Der Prozeß 610 verwendet die Inhaltsspezifikationen, um Module zum Erzeugen des Inhalts für verschiedene Bereiche in einem Meta-Dokument zu sammeln. In ähnlicher Weise verwendet der Prozeß 612 die Style-Spezifikationen, um Module zum Erzeugen des Formats für die verschiedenen Bereiche des Ausgangsdokuments zu sammeln und erzeugt ein entsprechendes XSL-Style Sheet. Das Style Sheet und das Meta-Dokument werden in ein XML-Dokument in einem Prozeß 614 transformiert und das XML-Dokument wird in einem Prozeß 616 von XML in das geeignete Zielformat konvertiert, sei es HTML, WML, das Format eines Textverarbeitungsprogramms oder ein anderes Dokumentenformat.
  • Obwohl die vorliegende Erfindung beschrieben worden ist im Kontext eines voll funktionalen Computersystems, wird der Fachmann erkennen, daß die vorliegende Erfindung auch fähig ist, als ein Programmprodukt in einer Vielzahl von Formen verteilt zu werden und daß die vorliegende Erfindung gleich angewendet wird, unabhängig von dem jeweiligen Typ des signaltragenden Mediums, das dazu verwendet wird, um die Verteilung tatsächlich durchzuführen. Beispiele von signaltragenden Medien umfassen: Beschreibbare Medien, wie zum Beispiel Disketten und CD-ROMS, Übertragungsmedien, wie zum Beispiel digitale und analoge Kommunikationsverbindungen, ebenso wie andere Medien, Speicher und Distributionssysteme.
  • Die vorliegende Erfindung schafft damit eine Kontrollsprache, die in Scripten mit XSL- und XML-Anweisungen enthalten sein kann. Der XSP-Scriptprozessor 202, der der vorliegenden Erfindung zugeordnet ist, interpretiert die Kontrollsprache und führt Ersetzungen und Ergänzung zur Inhalt- und Style-Information in dem Script zu. Die vorliegende Erfindung ist daher kompatibel mit dem XML-Vokabular und verwendet standardisierte XML-Technologie durch das Ergänzen und das Koordinieren der XSL- und XML-Schema und Namespace-Fähigkeiten.
  • Die vorliegende Erfindung erlaubt in vorteilhafter Weise Webseiten-Entwicklern und anderen, die Inhalte bereitstellen, vom Editieren zahlreicher Dateien in markierter Sprache überzugehen auf die Durchführung einer Veränderung zum Erzeugen von Datenformen unter der Verwendung von Scripts, die Daten- und Style-Information, wenn möglich, von gemeinsamen Quellen abrufen. Die vorliegende Erfindung schafft Möglichkeiten zur Koordinierung von Inhalt- und Style-Entwicklung und entlastet Entwickler davon, zahlreiche Dateien manuell editieren zu müssen, wenn eine Veränderung entweder im Format oder im Inhalt erwünscht ist, da die Veränderung in einer zentralen Datenbank durchgeführt werden kann, auf die das XSP-Script 300 oder das Basisscript verweist und die der Datensammelprozeß und der Style Sheet-Aufbauprozeß 206 abruft. Entwickler, die verantwortlich sind für das Liefern von Inhalt von Styles, die einzigartig sind für ihre individuellen Umgebungen, können Zugriff haben, um ihre eigene einzigartige Information und ihr Format, wo gewünscht, zu kombinieren und die gemeinsame Information anders zu verwenden. Ferner, selbst wenn einzigartige Information benötigt ist, stellt die vorliegende Erfindung Möglichkeiten bereit (d. h. Anwenderscripten), die ermöglichen, daß die Information an einem Ort angeordnet ist und von allen Anwendern verwendet wird, die Zugriff darauf benötigen. Das gemeinsame Verwenden von Inhalt- und Style-Information erleichtert ferner die Präsentation von aktueller Information in konsistenten Formaten.
  • Obwohl die Erfindung in bezug auf die Ausführungsbeispiele und die oben genannten Variationen beschrieben worden ist, sind diese Ausführungsbeispiele und Variationen erläuternd und die Erfindung soll in ihrem Bereich nicht als auf diese Ausführungsbeispiele und Variationen beschränkt verstanden werden. Beispielsweise können zusätzliche XSP-Kontrollanweisungen zusätzlich oder anstelle der beschriebenen implementiert werden. Ferner können die XSP-Kontrollanweisungen, die hier beschrieben sind, andere Namen oder eine andere Syntax haben. Entsprechend können innerhalb des Bereiches der vorliegenden Erfindung, so wie sie durch die nachfolgenden Ansprüche definiert wird, zahlreiche andere Ausführungsbeispiele und Modifikationen und Verbesserungen liegen, die hier nicht beschrieben worden sind.

Claims (14)

  1. Verfahren zum Erzeugen eines XML-Dokuments in einem Computersystem und zum Darstellen auf einem Display, wobei das Computersystem einen Skriptprozessor umfaßt, der fähig ist, eine Skriptsprache zu interpretieren, wobei das Computersystem ferner eine Skriptsprache umfaßt, wobei die Skriptsprache Kontrollanweisungen umfaßt zum Umfassen von Dateninhalt und Style-Information aus einer Vielzahl von Datenquellen, wobei das Verfahren aufweist: Erzeugen eines ersten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; Verarbeiten des ersten Skripts in dem Skriptprozessor zum Erzeugen eines ersten Dokuments, das den Inhalt, der in denn XML-Dokument enthalten sein soll, spezifiziert; Verarbeiten des ersten Skripts in dem Skriptprozessor zum Erzeugen eines zweiten Dokuments, das den Style des Inhalts in dem XML-Dokument spezifiziert; Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das erste Dokument zu erzeugen, das den Inhalt, der in dem XML-Dokument enthalten sein soll, spezifiziert, wobei der Inhalt, der in dem zweiten Skript spezifiziert ist, zumindest einen Bereich des Inhalts, der durch das erste Skript spezifiziert worden ist, überschreibt; Transformieren des ersten Dokuments und des zweiten Dokuments in ein XML-Dokument; und Konvertieren des XML-Dokuments in ein Ausgangsdokument für einen ausgewählten Anzeigetyp; und Darstellen des XML-Dokuments auf dem gewählten Anzeigetyp.
  2. Verfahren nach Anspruch 1, ferner aufweisend: Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; und Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das zweite Dokument zu erzeugen, das den Style spezifiziert, der in dem XML-Dokument umfaßt sein soll, wobei der durch das zweite Skript spezifizierte Style zumindest einen Bereich des von dem ersten Skript spezifizierten Styles überschreibt.
  3. Verfahren nach Anspruch 1, ferner aufweisend: Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; und Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das erste Dokument zu erzeugen zum Spezifizieren des Inhalts, der in dem XML-Dokument enthalten sein soll, wobei der Inhalt, der durch das zweite Skript spezifiziert wird, eine Erweiterung zum Inhalt ist, der durch das erste Skript spezifiziert wird.
  4. Das Verfahren nach Anspruch 1, ferner aufweisend: Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; und Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das zweite Dokument zu erzeugen, zum Spezifizieren des Styles, der in dem XML-Dokument umfaßt sein soll, wobei der Style, der durch das zweite Skript spezifiziert wird, eine Erweiterung ist zu dem Style, der durch das erste Skript spezifiziert wird.
  5. Verfahren nach Anspruch 1, wobei das Computersystem fähig ist, auf eine Vielzahl von Datenbanken zuzugreifen und wobei das Verfahren ferner aufweist: Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; und Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das erste Dokument zu erzeugen zum Spezifizieren des Inhalts, der in dem XML-Dokument enthalten sein soll, wobei der Inhalt, der durch das zweite Skript spezifiziert wird, in einer anderen Datenbank ist als der Inhalt, der durch das erste Skript spezifiziert wird.
  6. Verfahren nach Anspruch 1, wobei das Computersystem fähig ist, auf eine Vielzahl von Datenbanken zuzugreifen, wobei das Verfahren ferner aufweist: Erzeugen eines zweiten Skripts mit zumindest einer Skriptsprachen-Kontrollanweisung; und Verarbeiten des zweiten Skripts in dem Skriptprozessor, um ferner das zweite Dokument zu erzeugen zum Spezifizieren des Styles, der in dem XML-Dokument umfaßt sein soll, wobei der Style, der durch das zweite Skript spezifiziert wird, in einer anderen Datenbank ist als der Style, der durch das erste Skript spezifiziert wird.
  7. Das Verfahren nach Anspruch 1, wobei das Computersystem fähig ist, auf eine Vielzahl von Datenbanken zuzugreifen und das erste Skript ein Basis-Skript ist, wobei das Verfahren ferner aufweist: Erzeugen einer Vielzahl von Anwender-Skripten, wobei jedes Anwender-Skript zumindest eine Skriptsprachen-Kontrollanweisung aufweist; Verarbeiten der Anwender-Skripten in dem Skriptprozessor, um ferner das erste Dokument zu erzeugen, um den Inhalt, der in dem XML-Dokument enthalten sein soll, zu spezifizieren; und Verarbeiten der Anwender-Skripten in dem Skriptprozessor, um ferner das zweite Dokument zu erzeugen, zum Spezifizieren des Styles für den Inhalt in dem XML-Dokument.
  8. Datenträger mit einem Computerprogramm mit Anweisungen zum Ausführen eines Verfahrens nach einem oder mehreren der Ansprüche 1–7.
  9. Computersystem aufweisend: einen Prozessor; einen nichtflüchtigen Speicher, der mit dem Prozessor verbunden ist; einen Datenbus, der zwischen dem Prozessor und dem nichtflüchtigen Speicher verbunden ist; ein Display; ein erstes Skript, das erzeugt wird unter der Verwendung einer Skriptsprache, wobei die Skriptsprache Kontrollanweisungen hat, um Dateninhalt und Style-Information aus einer Vielzahl von Quellen zu umfassen, wobei das erste Skript zumindest eine Skriptsprachen-Kontrollanweisung umfaßt; und einen Skriptprozessor, der fähig ist, das erste Skript zu verarbeiten, um ein Inhaltsdokument zu erzeugen, wobei das Inhaltsdokument den Inhalt, der in einem XML-Dokument enthalten sein soll, spezifiziert, wobei der Skriptprozessor ferner fähig ist, ein Style-Dokument zu erzeugen, wobei das Style-Dokument den Style des XML-Dokuments spezifiziert; eine erste Gruppe von Programmanweisungen, die fähig sind, das Inhaltsdokument und das Style-Dokument in ein XML-Dokument zu transformieren; eine zweite Gruppe von Programmanweisungen, die fähig sind, das XML-Dokument in ein Ausgangsdokument für einen ausgewählten Anzeigetyp zu konvertieren; und ein zweites Skript mit zumindest einer Skriptsprachen-Kontrollanweisung, wobei der Skriptprozessor ferner fähig ist, das zweite Skript zu verarbeiten, um das Inhaltsdokument zu erzeugen, wobei der Inhalt, der durch das zweite Skript spezifiziert wird, zumindest einen Bereich des Inhalts, der durch das erste Skript spezifiziert wird, überschreibt.
  10. Computersystem nach Anspruch 9, ferner aufweisend: ein zweites Skript mit zumindest einer Skriptsprachen-Kontrollanweisung, wobei der Skriptprozessor ferner fähig ist, das zweite Skript zu verarbeiten, um das Style-Dokument zu erzeugen, wobei der Style, der durch das zweite Skript spezifiziert wird, zumindest einen Bereich des Styles, der durch das erste Skript spezifiziert wird, überschreibt.
  11. Computersystem nach Anspruch 9, ferner aufweisend: ein zweites Skript mit zumindest einer Skriptsprachen-Kontrollanweisung, wobei der Skriptprozessor ferner fähig ist, das zweite Skript zu verarbeiten, um das Inhaltsdokument zu erzeugen, wobei der Inhalt, der durch das zweite Skript spezifiziert wird, eine Erweiterung ist für den Inhalt, der durch das erste Skript spezifiziert wird.
  12. Computersystem nach Anspruch 9, ferner aufweisend: ein zweites Skript mit zumindest einer Skriptsprachen-Kontrollanweisung, wobei der Skriptprozessor ferner fähig ist, das zweite Skript zu verarbeiten zum Erzeugen des Style-Dokuments, wobei der Style, der durch das zweite Skript spezifiziert wird, eine Erweiterung ist für den Style, der durch das erste Skript spezifiziert wird.
  13. Computersystem nach Anspruch 9, ferner aufweisend: ein zweites Skript mit zumindest einer Skriptsprachen-Kontrollanweisung, wobei der Skriptprozessor fähig ist, auf eine Vielzahl von Datenbanken zuzugreifen, um ferner das Inhaltsdokument zu erzeugen und wobei der Inhalt, der durch das zweite Skript spezifiziert wird, in einer anderen Datenbank ist als der Inhalt, der durch das erste Skript spezifiziert wird.
  14. Computersystem nach Anspruch 9, ferner aufweisend: ein zweites Skript mit zumindest einer Skriptsprachen-Kontrollanweisung, wobei der Skriptprozessor fähig ist, auf eine Vielzahl von Datenbanken zuzugreifen, um ferner das Style-Dokument zu erzeugen und wobei der Style, der durch das zweite Skript spezifiziert wird, in einer anderen Datenbank ist als der Style, der durch das erste Skript spezifiziert wird.
DE10042601A 1999-09-20 2000-08-30 Sprache für XML-Server-Seiten Expired - Lifetime DE10042601B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/399,451 US6748569B1 (en) 1999-09-20 1999-09-20 XML server pages language
US09/399,451 1999-09-20
DE10066429 2000-08-30

Publications (2)

Publication Number Publication Date
DE10042601A1 DE10042601A1 (de) 2001-05-10
DE10042601B4 true DE10042601B4 (de) 2008-07-03

Family

ID=23579555

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10042601A Expired - Lifetime DE10042601B4 (de) 1999-09-20 2000-08-30 Sprache für XML-Server-Seiten

Country Status (5)

Country Link
US (1) US6748569B1 (de)
JP (1) JP2001117911A (de)
BR (1) BR0005576B1 (de)
DE (1) DE10042601B4 (de)
GB (1) GB2359645B (de)

Families Citing this family (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162420A1 (en) * 2004-01-21 2007-07-12 Oracle International Corporation Techniques for automatically discovering a database device on a network
US6487547B1 (en) * 1999-01-29 2002-11-26 Oracle Corporation Database appliance comprising hardware and software bundle configured for specific database applications
EP1076862A1 (de) * 1999-03-09 2001-02-21 Koninklijke Philips Electronics N.V. Dokumentkodierungsverfahren
US6920607B1 (en) 1999-12-15 2005-07-19 Microsoft Corp. Methods and systems for dynamically creating user interfaces
US20020032706A1 (en) * 1999-12-23 2002-03-14 Jesse Perla Method and system for building internet-based applications
US7617491B1 (en) 2000-01-20 2009-11-10 Priceline.Com Incorporated Apparatus, system, and method for validating network communications data
JP2003521784A (ja) * 2000-02-04 2003-07-15 アメリカ オンライン インコーポレーティッド スケーラブルなウェブページを配信およびレンダリングするためのシステムとプロセス
EP1259175B1 (de) * 2000-02-22 2004-07-14 SDGI Holdings, Inc. Besteck zur vorbereitung des zwischenwirbelraums
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
AUPQ630700A0 (en) * 2000-03-15 2000-04-15 Ilaunch Pty Ltd Data importer
US6675355B1 (en) * 2000-03-16 2004-01-06 Autodesk, Inc. Redline extensible markup language (XML) schema
US6757869B1 (en) 2000-03-20 2004-06-29 International Business Machines Corporation Method and apparatus for providing access to a legacy application on a distributed data processing system
US7984104B1 (en) 2000-04-03 2011-07-19 West Corporation Method and system for content driven electronic messaging
US7062535B1 (en) * 2000-04-03 2006-06-13 Centerpost Communications, Inc. Individual XML message processing platform
EP1292895A4 (de) * 2000-04-07 2006-08-09 Financeware Com Verfahren und vorrichtung zur wiedergabe elektronischer dokumente
US6996517B1 (en) * 2000-06-06 2006-02-07 Microsoft Corporation Performance technology infrastructure for modeling the performance of computer systems
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7191394B1 (en) * 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
SE517132C2 (sv) * 2000-06-27 2002-04-16 Printon Ab Förfarande och system för att skapa ett PDF-dokument
US7188158B1 (en) * 2000-07-15 2007-03-06 Hewlett-Packard Development Company, L.P. System and method for component-based software development
US20020016801A1 (en) * 2000-08-01 2002-02-07 Steven Reiley Adaptive profile-based mobile document integration
US6947979B1 (en) * 2000-08-16 2005-09-20 Entrust, Inc. Controlling use of a network resource
US6993657B1 (en) 2000-09-08 2006-01-31 Oracle International Corporation Techniques for managing database systems with a community server
US7739308B2 (en) 2000-09-08 2010-06-15 Oracle International Corporation Techniques for automatically provisioning a database over a wide area network
US6948117B2 (en) * 2000-10-04 2005-09-20 Microsoft Corporation Methods and systems for generating a viewable document using view descriptors and generic view stylesheets
US7934008B2 (en) * 2000-10-20 2011-04-26 Sony Corporation Delivery of multimedia descriptions using access units
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US20020116534A1 (en) * 2000-11-14 2002-08-22 Doug Teeple Personalized mobile device viewing system for enhanced delivery of multimedia
US7526720B1 (en) 2000-11-22 2009-04-28 Adobe Systems Incorporated System and method for storing data associated with a file
US7085834B2 (en) * 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US7415607B2 (en) * 2000-12-22 2008-08-19 Oracle International Corporation Obtaining and maintaining real time certificate status
US7475151B2 (en) * 2000-12-22 2009-01-06 Oracle International Corporation Policies for modifying group membership
US7213249B2 (en) * 2000-12-22 2007-05-01 Oracle International Corporation Blocking cache flush requests until completing current pending requests in a local server and remote server
US7937655B2 (en) * 2000-12-22 2011-05-03 Oracle International Corporation Workflows with associated processes
US7581011B2 (en) * 2000-12-22 2009-08-25 Oracle International Corporation Template based workflow definition
US7711818B2 (en) * 2000-12-22 2010-05-04 Oracle International Corporation Support for multiple data stores
US7802174B2 (en) 2000-12-22 2010-09-21 Oracle International Corporation Domain based workflows
US8015600B2 (en) 2000-12-22 2011-09-06 Oracle International Corporation Employing electronic certificate workflows
US7904595B2 (en) 2001-01-18 2011-03-08 Sdl International America Incorporated Globalization management system and method therefor
CA2441120C (en) * 2001-03-16 2010-06-22 Netomat, Inc. Sharing, managing and communicating information over a computer network
JP3835193B2 (ja) * 2001-03-30 2006-10-18 セイコーエプソン株式会社 ディジタルコンテンツ作成システム及びディジタルコンテンツ作成プログラム
US7506047B2 (en) * 2001-03-30 2009-03-17 Bmc Software, Inc. Synthetic transaction monitor with replay capability
US7461369B2 (en) * 2001-03-30 2008-12-02 Bmc Software, Inc. Java application response time analyzer
US7792948B2 (en) * 2001-03-30 2010-09-07 Bmc Software, Inc. Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US8606965B1 (en) 2001-04-11 2013-12-10 Jda Software Group, Inc. System and method for facilitating communication of data among entities in an electronic trading network
US20050210263A1 (en) * 2001-04-25 2005-09-22 Levas Robert G Electronic form routing and data capture system and method
US20040019628A1 (en) * 2002-07-09 2004-01-29 Puri Anish N. System for remotely rendering content for output by a printer
US7383321B2 (en) 2002-07-09 2008-06-03 Moyer Alan L Method and system for communicating between a remote printer and a server
WO2002103564A1 (en) * 2001-06-14 2002-12-27 Firstdoor.Com, Inc. Method and apparatus for constructing web site compatible documents
US7134084B1 (en) * 2001-06-18 2006-11-07 Siebel Systems, Inc. Configuration of displays for targeted user communities
US6704723B1 (en) * 2001-06-20 2004-03-09 Microstrategy, Incorporated Method and system for providing business intelligence information over a computer network via extensible markup language
US6691100B1 (en) * 2001-06-20 2004-02-10 Microstrategy, Incorporated HTML/DHTML web interface system and method
US20030093565A1 (en) * 2001-07-03 2003-05-15 Berger Adam L. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
DE10134095A1 (de) * 2001-07-13 2003-01-30 Siemens Ag Transcodierungsauswahl durch Fuzzy-Sets
US6981029B1 (en) 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7120869B2 (en) * 2001-08-16 2006-10-10 Sun Microsystems, Inc. Enhanced mechanism for automatically generating a transformation document
US20030037031A1 (en) * 2001-08-16 2003-02-20 Birder Matthew D. Mechanism for automatically generating a transformation document
DE10144332A1 (de) * 2001-09-10 2003-04-03 Siemens Ag Verfahren zur Übertragung eines Prozesswerts und Steuerungssystem
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
GB2381340A (en) * 2001-10-27 2003-04-30 Hewlett Packard Co Document generation in a distributed information network
JP2003140960A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd Xmlデータのデータ変換方法及びプログラム
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) * 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
US7025268B2 (en) 2001-12-17 2006-04-11 Zih Corporation XML printer system
US6908034B2 (en) 2001-12-17 2005-06-21 Zih Corp. XML system
US6540142B1 (en) * 2001-12-17 2003-04-01 Zih Corp. Native XML printer
US7921023B2 (en) * 2001-12-28 2011-04-05 Sap Aktiengesellschaft Portal for implementation of multiple software components
DE60230382D1 (de) * 2002-02-04 2009-01-29 Koninkl Kpn Nv Verfahren und System zur Informationsübertragung über ein Kommunikationsnetz
US8032828B2 (en) * 2002-03-04 2011-10-04 Hewlett-Packard Development Company, L.P. Method and system of document transformation between a source extensible markup language (XML) schema and a target XML schema
US7131064B2 (en) 2002-03-11 2006-10-31 Sap Ag XML client abstraction layer
US7916322B2 (en) * 2002-03-14 2011-03-29 Senshin Capital, Llc Method and apparatus for uploading content from a device to a remote network location
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
KR20030087737A (ko) * 2002-05-09 2003-11-15 주식회사 세중나모인터랙티브 웹 문서 가공시스템 및 그 가공방법
US7840658B2 (en) * 2002-05-15 2010-11-23 Oracle International Corporation Employing job code attributes in provisioning
US7216163B2 (en) * 2002-05-15 2007-05-08 Oracle International Corporation Method and apparatus for provisioning tasks using a provisioning bridge server
US7490167B2 (en) * 2002-05-22 2009-02-10 Sony Corporation System and method for platform and language-independent development and delivery of page-based content
US7305626B2 (en) * 2002-05-28 2007-12-04 Nokia Corporation Method and apparatus for DOM filtering in UAProf or CC/PP profiles
US20040010540A1 (en) * 2002-07-09 2004-01-15 Puri Anish N. Method and system for streamlining data transfer between a content provider server and an output server
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
FR2846440A1 (fr) * 2002-10-29 2004-04-30 Thales Sa Procede et systeme de gestion de donnees
WO2004042507A2 (en) * 2002-10-31 2004-05-21 Arizan Corporation Methods and apparatus for summarizing document content for mobile communication devices
US7284039B2 (en) * 2002-12-17 2007-10-16 International Business Machines Corporation Apparatus and method for flexible web service deployment
US7188155B2 (en) * 2002-12-17 2007-03-06 International Business Machines Corporation Apparatus and method for selecting a web service in response to a request from a client device
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
WO2004085622A2 (en) * 2003-03-24 2004-10-07 Netfabric Corporation Network-enabled software logic providing discovery and configuration of network appliances coupled to a lan
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
JP2004310691A (ja) * 2003-04-10 2004-11-04 Mitsubishi Electric Corp 文章情報処理装置
US20040230983A1 (en) * 2003-05-13 2004-11-18 Shi Shepherd S.B. Object oriented technology system for building business websites
US20040268238A1 (en) * 2003-06-30 2004-12-30 Peiya Liu Systems and methods for processing documents using an XML-based process flow description language
US20070130132A1 (en) * 2003-06-30 2007-06-07 Business Objects Apparatus and method for personalized data delivery
US20040268230A1 (en) * 2003-06-30 2004-12-30 Peiya Liu Systems and methods for differential document delivery based on delta description specifications
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US8635218B2 (en) * 2003-09-02 2014-01-21 International Business Machines Corporation Generation of XSLT style sheets for different portable devices
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US20070265881A1 (en) * 2003-10-29 2007-11-15 Trialstat Corporation Xml Application for the Generation of Clinical Trial Forms
US20050097449A1 (en) * 2003-10-31 2005-05-05 Jurgen Lumera System and method for content structure adaptation
GB0327665D0 (en) * 2003-11-28 2003-12-31 Ibm System and method for creation of a network server application page
WO2005062807A2 (en) * 2003-12-19 2005-07-14 Business Objects, S.A. Using data filter to deliver personalized data from a shared document
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US9378293B2 (en) * 2004-06-03 2016-06-28 Paypal, Inc. Method and apparatus to author and manage pages of a website
US20110138266A1 (en) * 2004-08-02 2011-06-09 Clairvoyance Corporation Document processing and management approach for creating a tag or an attribute in a markup language document, and method thereof
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7707498B2 (en) 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7668873B2 (en) * 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US20060206822A1 (en) * 2005-03-10 2006-09-14 Siemens Medical Solutions Usa, Inc. Application communication with document embedded functions
US7673228B2 (en) 2005-03-30 2010-03-02 Microsoft Corporation Data-driven actions for network forms
US20060225091A1 (en) * 2005-04-05 2006-10-05 Facemire Michael D Customizing and personalizing views in content aggregation frameworks
US20060225094A1 (en) * 2005-04-05 2006-10-05 Facemire Michael D Enabling customization and personalization of views in content aggregation frameworks
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7505170B2 (en) * 2005-07-13 2009-03-17 Microsoft Corporation Conversions between spool files and PDL within a pipeline of modular filters
US7921137B2 (en) 2005-07-18 2011-04-05 Sap Ag Methods and systems for providing semantic primitives
US7945853B2 (en) * 2005-09-12 2011-05-17 Microsoft Corporation Script markup
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8984397B2 (en) * 2005-12-15 2015-03-17 Xerox Corporation Architecture for arbitrary extensible markup language processing engine
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US9286272B2 (en) * 2005-12-22 2016-03-15 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US20070233456A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Document localization
US7752542B2 (en) * 2006-09-20 2010-07-06 International Business Machines Corporation Dynamic external entity resolution in an XML-based content management system
JP2010510570A (ja) * 2006-11-17 2010-04-02 バークレイズ・キャピタル・インコーポレーテッド 顧客対応報告書を作成するためのシステム及び方法
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US7669682B2 (en) 2007-01-17 2010-03-02 Polaris Industries Inc. Rear suspension for a two wheeled vehicle
US7748746B2 (en) 2007-01-17 2010-07-06 Polaris Industries Inc. Fuel tank arrangement for a vehicle
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US7959720B2 (en) 2007-05-18 2011-06-14 Exxonmobil Research And Engineering Company Low mesopore adsorbent contactors for use in swing adsorption processes
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
CN102402521A (zh) * 2010-09-13 2012-04-04 Tcl集团股份有限公司 一种扩展互联网应用的方法、装置和互联网应用设备
WO2012037554A2 (en) 2010-09-17 2012-03-22 Oracle International Corporation Method and apparatus for pre-rendering expected system response
WO2012037572A1 (en) 2010-09-17 2012-03-22 Oracle International Corporation Recursive navigation in mobile customer relations management
US9275165B2 (en) * 2010-09-17 2016-03-01 Oracle International Corporation Method and apparatus for defining an application to allow polymorphic serialization
US20120166941A1 (en) * 2010-12-24 2012-06-28 Microsoft Corporation Content processing with extensibility
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US20140081618A1 (en) * 2012-09-17 2014-03-20 Salesforce.Com, Inc. Designing a website to be displayed in multiple languages
US10409792B1 (en) * 2015-09-30 2019-09-10 Groupon, Inc. Apparatus and method for data object generation and control
US10614167B2 (en) 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
US10089285B2 (en) * 2016-12-14 2018-10-02 Rfpio, Inc. Method to automatically convert proposal documents
CN110601960B (zh) * 2019-09-09 2020-08-21 珠海格力电器股份有限公司 选型报告共享方法、服务器、终端和***

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272673B1 (en) * 1997-11-25 2001-08-07 Alphablox Corporation Mechanism for automatically establishing connections between executable components of a hypertext-based application
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6480865B1 (en) * 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
US6424979B1 (en) * 1998-12-30 2002-07-23 American Management Systems, Inc. System for presenting and managing enterprise architectures
US6535896B2 (en) * 1999-01-29 2003-03-18 International Business Machines Corporation Systems, methods and computer program products for tailoring web page content in hypertext markup language format for display within pervasive computing devices using extensible markup language tools
JP2000330794A (ja) * 1999-03-16 2000-11-30 Nec Corp Mheg文書をhtml文書に変換する方法
US6476833B1 (en) * 1999-03-30 2002-11-05 Koninklijke Philips Electronics N.V. Method and apparatus for controlling browser functionality in the context of an application
US6446110B1 (en) * 1999-04-05 2002-09-03 International Business Machines Corporation Method and apparatus for representing host datastream screen image information using markup languages
US6589291B1 (en) * 1999-04-08 2003-07-08 International Business Machines Corporation Dynamically determining the most appropriate location for style sheet application
US6585778B1 (en) * 1999-08-30 2003-07-01 International Business Machines Corporation Enforcing data policy using style sheet processing
AU7363900A (en) * 1999-09-09 2001-04-10 Percussion Software, Inc. System and method for including dynamic content in world wide web pages

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hatayama, A., Shinohara, K., Omachi, T., Kitawaki, S.: A Converter between MHEG-5 and HTML 4.0, IEEE Transactions on Consumer Electronics, Vol. 45, No. 3, August 1999 *
Schema: Willkommen bei SCHEMA, 1998, [recherchiert am 04.05.2005] <URL:http//web.archive.org/web/ 19980708210956/schema.de> *

Also Published As

Publication number Publication date
JP2001117911A (ja) 2001-04-27
GB2359645A (en) 2001-08-29
DE10042601A1 (de) 2001-05-10
GB2359645B (en) 2003-03-26
BR0005576B1 (pt) 2013-10-01
GB0022964D0 (en) 2000-11-01
BR0005576A (pt) 2001-06-12
US6748569B1 (en) 2004-06-08

Similar Documents

Publication Publication Date Title
DE10042601B4 (de) Sprache für XML-Server-Seiten
US7191397B2 (en) XML server pages language
US6763343B1 (en) Preventing duplication of the data in reference resource for XML page generation
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE60112188T2 (de) Methode und system zur erzeugung strukturierter dokumente für verschiedene darstellungsweisen
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE602004011952T2 (de) Verfahren und System zum Verbessern der Präsentation von HTML-Seiten in einem Internet-Zugriffsgerät
US6356920B1 (en) Dynamic, hierarchical data exchange system
DE60116343T2 (de) Webserver
DE60121430T2 (de) Ändern des hypermedieninhalts einer website
US20060048096A1 (en) RTF template and XSL/FO conversion: a new way to create computer reports
US20090094137A1 (en) Web Page Optimization Systems
DE10048940A1 (de) Erzeugen von Dokumenteninhalten durch Transcodierung mit Hilfe von Java Server Pages
DE102013017085A1 (de) System für eine tiefe Verknüpfung und Suchmaschinenunterstützung für Webseiten, in die eine Drittanwendung und Komponenten integriert sind
WO2002061622A9 (en) Technique for encapsulating a query definition
EP1771795A1 (de) Verfahren, programm und system zur dynamischen, template-basierten generierung von internetseiten
DE102005040096A1 (de) Umfassendes Abfrageverarbeitungs- und Datenzugriffssystem, und eine Benutzerschnittstelle
DE60101668T2 (de) Verfahren und gerät zum erzeugen eines auf einer formatvorlage basierten index für ein strukturiertes dokument
DE60017488T2 (de) Verfahren zum Steuern des Abrufs von Information mit einer vom Datentyp abhängigen Strategie um die Antwortzeit für die Verbraucher zu verringern
DE69907714T2 (de) Komponentbasiertes quellcodegeneratorverfahren
DE202013012665U1 (de) Methode zur Implementierung von strukturierten und unstrukturierten Daten in XML-Dokumenten
DE112009001892T5 (de) Datensatz basierte Codestruktur
US20070094289A1 (en) Dynamic, hierarchical data exchange system
Fiala et al. Design and implementation of component-based adaptive web presentations

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8172 Supplementary division/partition in:

Ref document number: 10066429

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 10066429

Country of ref document: DE

Kind code of ref document: P

AH Division in

Ref document number: 10066429

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
R071 Expiry of right