Statischen und dynamischen Kontext verwenden
Sie können die beiden von der API XML bereitgestellten Kontextinterfaces XStaticContext und XDynamicContext verwenden.
Informationen zu diesem Vorgang
- Der statische Kontext wird zum Konfigurieren der Merkmale für die Vorbereitungszeit verwendet. Anmerkung: Vorbereitungszeit bezieht sich auf die Ausführung einer der prepare-Methoden von XFactory bzw. die Ausführung einer der compile-Methoden von XCompilationFactory.
Der statische Kontext definiert Elemente, die für die Vorbereitung ausführbarer Funktionen benötigt werden, z. B. die Namen und Typen externer Variablen, die in der Laufzeit zur Verfügung stehen sollen, sowie Kompilierungsmodi wie Abwärtskompatibilität, "Math Mode" usw. Diese Elemente ändern sich nicht von einem Aufruf zum nächsten.
- Der dynamische Kontext wird zum Konfigurieren der Merkmale für die Ausführungszeit verwendet.
Im dynamischen Kontext werden Elemente definiert, die für jeden Aufruf eines ausführbaren Objekts eindeutig sind, z. B. die Werte für externe Variablen, externe Funktionsimplementierungen und Resolver für externe Eingaben oder Ergebnisse. Diese Elemente können sich von einem Aufruf zum andern ändern.
Die Merkmale der Vorbereitungszeit werden nicht direkt in der XFactory-Instanz festgelegt und können daher threadsicher sein. Dasselbe gilt für Merkmale der Ausführungszeit. Diese werden in einem von der XExecutable-Instanz gesonderten Objekt gespeichert, sodass das ausführbare Objekt selbst threadsicher ist.
Der Vorbereitungsschritt selbst ist vom Ausführungsschritt getrennt, weil die Vorbereitung länger dauert und es ineffizient wäre, sie für jede Ausführung durchzuführen. Durch diese Trennung der Schritte kann ein Ausdruck, eine Abfrage oder ein Style-Sheet einmal vorbereitet werden, und das resultierende ausführbare Objekt kann dann für die Verarbeitung beliebig vieler Eingabedokumente verwendet werden.
Vorgehensweise
Nächste Schritte
In den Interfaces XStaticContext und XDynamicContext sind Einstellungen aus allen drei Sprachen (XPath, XQuery und XSLT) zusammengeführt. Unten in der Liste "Zugehörige Tasks" finden Sie den Artikel "Basisoperationen ausführen" für die jeweilige Sprache mit Informationen zu den Einstellungen, die für die einzelnen Sprachen anwendbar sind.