Klasse "XFactory"

Dieser Artikel enthält eine Kurzübersicht über die Methoden der Klasse "XFactory". Die einzelnen Methoden werden ausführlich in anderen Artikeln des Information Center beschrieben.

Die Klasse "XFactory" ist die Haupt-Factory-Klasse für die Erstellung ausführbarer Objekte für XPath, XQuery und XSLT. Sie kann auch zum Erstellen von Instanzen anderer Klassen und Factorys wie XStaticContext, XDynamicContext, XItemFactory und XSequenceTypeFactory verwendet werden. Eine Instanz von XFactory verwaltet auch eine Gruppe registrierter Schemas und kann validierend oder nicht validierend sein. Eine validierende Factory erzeugt schemafähige ausführbare Objekte und stellt sicher, dass Quellendokumente vor der Verarbeitung unter Verwendung der Gruppe registrierter Schemas validiert werden. Wenn verschiedene Gruppen von Style-Sheets oder Ausdrücken verschiedene Schemagruppen voraussetzen, können diese durch die Verwendung mehrerer XFactory-Instanzen voneinander getrennt gehalten werden. Eine XFactory-Instanz kann durch den Aufruf der statischen Methode "newInstance()" in der Klasse "XFactory" erstellt werden. Die Instanz ist threadsicher, solange die Einstellungen stabil bleiben.

Es folgt ein Beispiel für die Verwendung der Klasse "XFactory".
// Neue XFactory erstellen
XFactory factory = XFactory.newInstance();

// Ausführbares XPath-Objekt erstellen
XPathExecutable executable = factory.prepareXPath("/something/bar[2]");

// Neues XStaticContext-Objekt erstellen
XStaticContext staticContext = factory.newStaticContext();

// Ausführbares XPath-Objekt erstellen, das im Abwärtskompatibilitätsmodus
// kompiliert wird
staticContext.setXPathCompatibilityMode(XStaticContext.XPATH1_0_BC_COMPATIBILITY);
XPathExecutable bcExecutable = factory.prepareXPath("/something/bar[2]", staticContext);

// Validierung festlegen
factory.setValidating(true);

// Schema registrieren
factory.registerSchema(new StreamSource("myschema.xsd"));       

// Create a schema aware XPath executable
staticContext = factory.newStaticContext();
staticContext.declareNamespace("something", "http://myschema/something");
XPathExecutable schemaExecutable = factory.prepareXPath("/something:something/bar[2] instance of element(bar, something:barType)", staticContext);

// Element-Factory für diese XFactory-Instanz abrufen (die beiden gehören zusammen,
// da die Element-Factory von den Schemas abhängig ist, die bei
// XFactory registriert werden)
XItemFactory itemFactory = factory.getItemFactory();

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cxml_xfactory
Dateiname:cxml_xfactory.html