DE10042601B4 - Sprache für XML-Server-Seiten - Google Patents
Sprache für XML-Server-Seiten Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
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...
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-Arbeitsstation112 , die auch als „Client-Arbeitsstation" bezeichnet wird, die ein Anwendungsprogramm ausführt, das als ein Webbrowser114 bezeichnet wird. Die Arbeitsstation112 erzeugt eine Kommunikationsverbindung116 mit dem Webserver118 , 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 Webbrowser114 eingibt, sendet die Arbeitsstation112 eine Anfrage nach Information, beispielsweise einer Suche nach Dokumenten, die sich auf ein spezifisches Thema beziehen oder eine spezifische Webseite an den Webserver118 . Jeder Webserver118 ,120 ,122 ,124 im Internet hat eine bekannte Adresse, die der Anwender an den Webbrowser114 liefern muß, um sich mit dem geeigneten Webserver118 ,120 ,122 oder124 zu verbinden. Wenn die Information auf dem Webserver118 des Anwenders zur Verfügung steht, ermöglicht eine zentrale Verbindung, wie zum Beispiel ein Backbone126 den Webservern118 ,120 ,122 ,124 , miteinander zu kommunizieren, um die nachgefragte Information zu liefern. Da die Webserver118 ,120 ,122 und124 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 Arbeitsstation112 des Anwenders übertragen. Die Arbeitsstation112 und/oder die Webserver116 sind Computersysteme, wie zum Beispiel das Computersystem130 , das in1a gezeigt ist. Das Computersystem130 umfaßt eine zentrale Verarbeitungseinheit (CPU)132 , die über einen Host-Bus134 mit verschiedenen Komponenten, inklusive einem Hauptspeicher136 , Speichergerätcontrollern138 , einem Netzwerk-Interface140 , Audio- und Videocontrollern142 und Eingabe/Ausgabegeräten144 verbunden ist, die wiederum über Eingabe/Ausgabe (I/O)-Controller146 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 Computersystem130 ferner einen Zwischenspeicher150 , um den schnelleren Zugriff zwischen dem Prozessor132 und dem Hauptspeicher136 zu erleichtern. I/O-Peripheriegeräte umfassen häufig Lautsprechersysteme152 , Grafikgeräte154 und andere I/O-Geräte144 , 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 Computersystem130 kann jedoch weniger Komponenten als in1a gezeigt und hier beschrieben, enthalten. - Die Peripheriegeräte kommunizieren üblicherweise mit dem Prozessor
132 über einen oder mehrere Busse134 ,156 ,158 , wobei die Busse miteinander durch die Verwendung von einer oder mehreren Brücken160 ,162 kommunizieren. Das Computersystem130 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-Interface140 verbunden sind. - Die CPU
132 kann aus einem oder mehreren Mikroprozessoren und/oder integrierten Schaltkreisen aufgebaut sein. Der Hauptspeicher136 speichert Programme und Daten, auf die die CPU132 zugreifen kann. Wenn das Computersystem130 startet, wird ein Betriebssystem in den Hauptspeicher136 geladen. Das Betriebssystem verwaltet die Ressourcen des Computersystems130 , wie zum Beispiel die CPU132 , den Audiocontroller142 , den Speichergerätecontroller138 , das Netzwerkgerät140 , I/O-Controller146 , und den Host-Bus134 . Das Betriebssystem liest eine oder mehrere Konfigurationsdateien, um die Hardware- oder Software-Ressourcen, die mit dem Computersystem130 verbunden sind, festzustellen. - Der Speichergerätecontroller
138 ermöglicht, daß das Computersystem130 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-Bus156 in1a verbunden, er kann jedoch in alternativen Ausführungsbeispielen mit dem ISA-Bus138 verbunden sein oder auf dem Motherboard (nicht dargestellt) angeordnet sein. Als ein weiteres Beispiel wird der Fachmann erkennen, daß, obwohl das Computersystem130 nur mit einer einzigen Haupt-CPU132 und einem einzigen Systembus134 dargestellt ist, die vorliegende Erfindung ausgeführt werden kann unter der Verwendung eines Computersystems, das mehrere CPUs132 und/oder mehrere Busse134 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 CPU132 auszulagern oder es kann Eingabe/Ausgabe (I/O)-Adapter umfassen, um ähnliche Funktionen durchzuführen. Ferner wird der PCI-Bus156 als ein Beispiel für irgendwelche Eingabe/Ausgabegeräte verwendet, die mit irgendeinem I/O-Bus verbunden sind; der AGP-Bus159 wird verwendet als ein Beispiel eines grafischen Busses. Das Grafikgerät154 wird als ein Beispiel von irgendeinem Grafikcontroller verwendet; und die Host-zu-PCI-Brücke160 und die PCI-zu-ISA-Brücke162 werden als Beispiele für irgendwelche Arten von Brücken verwendet. Entsprechend sind die in1a 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 Webserver118 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 Kommunikationsverbindung116 an den anfragenden Webbrowser114 übermitteln. Der Webbrowser114 interpretiert die markierte Sprache und gibt die Webseite an den Monitor der Arbeitsstation112 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 Webservern116 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 Verarbeitungsvorrichtung200 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-Prozessor202 , der Scripten interpretiert, die in XSP geschrieben sind. Der XSP-Prozessor202 befindet sich auf dem Webserver116 (1 ) und, wie benötigt, auf anderen Webservern. Ein Verfahren zum Aufrufen des XSP-Prozessors202 ist dynamisch, über eine Online-Mechanisierung, wobei ein Anwender ein oder mehrere XSP-Scripten von der Client-Workstation112 (1 ) an den XSP-Prozessor202 über eine Anwendungsprogramm-Schnittstelle (API) auf dem Webserver116 schickt. Beispiele von üblichen bekannten Schnittstellen zu Webservern116 , 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-Arbeitsstation112 geschickt und angezeigt oder an ein ausgewähltes Zielgerät, wie zum Beispiel einen Browser114 (1 ) ausgegeben. Eine andere Art zum Aufrufen des XSP-Prozessors202 ist statisch, wobei ein Entwickler ein oder mehrere XSP-Scripten an den XSP-Prozessor202 direkt auf dem Server116 schickt. Die Seite oder Seiten, die von der Verarbeitungsvorrichtung200 für Serverseiten erzeugt werden, werden in dem Server116 gespeichert und es kann über eine URL-Anfrage von der Client-Workstation112 auf sie zugegriffen werden. - Ein Beispiel eines XSP-Scripts
300 in Übereinstimmung mit der vorliegenden Erfindung ist in3 gezeigt. In der vorliegenden Erfindung erzeugt ein Softwareentwickler ein XSP-Script300 manuell oder durch die Verwendung eines Software-implementierten Werkzeugs, das automatisch oder halbautomatisch das XSP-Script300 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-Script300 in dem XSP-Prozessor202 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 Datensammelprozesses204 und des Style Sheet-Aufbauprozesses206 , die in2 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-Prozessor202 besteht in der Verwendung eines gemeinsamen Objektmoduls (common object module, COM)-Interface zum XSP-Prozessor202 , 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-Prozessor202 spezifiziert. Die Ausgabe der Verarbeitungsvorrichtung200 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-Prozessor202 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 Verarbeitungsvorrichtung200 der Serverseiten behandelt wird. Im Beispiel des XSP-Scripts300 aus3 umfaßt die XSP-Anweisung302 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 Zeile302 in3 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-Script300 mit „<xsp:script>" in Zeile302 und endet mit „</xsp:script>" in Zeile398 , 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: 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-Script300 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 Zeilen304 bis306 in „Anwender"-XSP-Script300 gezeigt ist. - Ein Beispiel eines Basisscripts inventor-base.xsp, das in dem Beispiel XSP-Script
300 instantiiert wird, ist in4 gezeigt. Das Basisscript400 umfaßt eine Hauptsubroutine in den Zeilen404 bis408 , wobei standardisierte und Standardinhalte implementiert werden. Die Zeilen410 bis432 umfassen eine Routine, die Standard-XSP-Inhalte bereitstellt und die Zeilen434 bis452 umfassen XSL-Standardregeln. - Ein weiteres Beispiel eines XSP-Control-Statements <xsp:sub> zum Deklarieren des Startes einer neuen Subroutine ist in Zeile
304 in3 gezeigt. Der Name der Subroutine, in diesem Beispiel „contents" ist als ein Parameter enthalten. Die „contents"-Subroutine ist in den Zeilen304 bis396 enthalten und überschreibt die „contents"-Subroutine im Basisscript400 . In einem Ausführungsbeispiel ist die Syntax: 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-Script300 umfaßt die XSP-Kontrollanweisung <xsp:query>, um eine XQL-Abfrage auszuführen, beispielsweise eine Abfrage der Dateninsel xsp.xml, die in5 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 in3 umfaßt die Query-Control-Anweisung308 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: 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 in3 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 Zeile306 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 in5 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 und428 in4 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: 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-Prozessor202 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> 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-Prozessor202 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-Aufbauprozesses206 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-Renderer210 gesandt. Der Post-Renderer210 konvertiert das XML-Dokument in das Dokumentenformat, das von dem Gerät oder der Anwendungssoftware, die zur Anzeige des Ausgangsdokuments212 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-Script300 in dem XSP-Prozessor202 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Datenträger mit einem Computerprogramm mit Anweisungen zum Ausführen eines Verfahrens nach einem oder mehreren der Ansprüche 1–7.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1999
- 1999-09-20 US US09/399,451 patent/US6748569B1/en not_active Expired - Lifetime
-
2000
- 2000-08-30 DE DE10042601A patent/DE10042601B4/de not_active Expired - Lifetime
- 2000-09-06 JP JP2000270656A patent/JP2001117911A/ja active Pending
- 2000-09-12 BR BRPI0005576-0B1A patent/BR0005576B1/pt active IP Right Grant
- 2000-09-19 GB GB0022964A patent/GB2359645B/en not_active Expired - Lifetime
Non-Patent Citations (2)
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 |