Bei der Verwendung der Aktivität Adapter für Dateisystem (XSLT) können Erweiterungsfunktionen aus der XSLT heraus aufgerufen werden, um über die Standard XSLT-Funktionalität hinaus gehende Aufgaben erledigen zu können.
Folgende Erweiterungsfunktionen sind vorhanden. (Variablen in den Beispielen müssen gegebenenfalls im XSLT-Skript definiert werden.)
Festlegen des Ausgabedateinamens. Die Angabe kann absolut oder relativ erfolgen. Bei relativer Angabe gilt das konfigurierte Basisverzeichnis als Bezugspunkt. Aufrufparameter:
Beispiel: <xsl:variable name="dummy" select="XBOUNDCustomFunctions:SetFileName (concat('xbBatch\', $BatchID,'\',$xmlFile))"/> | |
Durch Aufruf dieser Funktion kann die Bereitstellung einer Steuerdatei veranlasst werden. Die Steuerdatei wird am Ende der Verarbeitung der Basisdokumente erzeugt um dem Folgesystem anzuzeigen, dass das Basisdokument komplett bereitgestellt wurde. Die Angabe kann absolut oder relativ erfolgen. Bei relativer Angabe gilt das konfigurierte Basisverzeichnis als Bezugspunkt. Aufrufparameter:
Beispiel: <xsl:variable name="dummy" select="XBOUNDCustomFunctions:SetPerBatchTriggerFileName (concat('xbBatch\', $BatchID,'\',$xmlFile))"/> | |
Durch Aufruf dieser Funktion kann die Bereitstellung einer Steuerdatei – pro Dokument – veranlasst werden. Die Steuerdatei wird am Ende der Verarbeitung eines jeden Dokuments erzeugt um dem Folgesystem anzuzeigen, dass das Dokument komplett bereitgestellt wurde. Die Angabe kann absolut oder relativ erfolgen. Bei relativer Angabe gilt das konfigurierte Basisverzeichnis als Bezugspunkt. Aufrufparameter:
Beispiel: <xsl:variable name="dummy" select="XBOUNDCustomFunctions:SetPerDocTriggerFileName (concat('xbBatch\', $DocID,'\',$xmlFile))"/> | |
Erzeugt alle Verzeichniss und Unterverzeichnisse des gegebenen Pfades. Wenn ein Verzeichnis schon existiert, wird kein Fehler gemeldet. Aufrufparameter:
Beispiel: <xsl:variable name="dummy" select="XBOUNDCustomFunctions:CreateDirectory ('c:\temp\export\')"/> | |
Löschen des angegebenen Verzeichnisses und aller Unterverzeichnisse. Ist das Verzeichnis nicht vorhanden, kommt kein Fehler. Erfolgt erst am Ende. Durch mehrfachen Aufruf können mehrere Verzeichnisse gelöscht werden. Aufrufparameter:
Beispiel: <xsl:variable name="dummy" select="XBOUNDCustomFunctions:DeleteDirectory ('c:\temp\export\')"/> | |
Erzeugt für das durch spezifizierte XBOUND-Dokument eine pro Prozess und dem in gegebenden Namen eindeutige Zahl und gibt diese zurück. Bei mehrfachem Aufruf wird die beim ersten Aufruf ermittelte Zahl zurückgegeben. Die Zählung beginnt bei 1. Der Maximalwert beträgt 9,223,372,036,854,775,807. Am Prozess wird eine Zähler mit dem Namen aus angelegt bzw. verwendet. An dem Dokument wird ein Feld mit dem Namen aus und Wert des Zählers angelegt. Aufrufparameter:
Rückgabe:
Beispiel: <xsl:variable name="batchID" select="format-number (XBOUNDCustomFunctions:GetOrCreateDocID (/document, 'BatchID'), '000000000')"/> | |
| Export eines Mediums als Datei. Aufrufparameter:
Beispiel: <xsl:variable name="dummy" select="XBOUNDCustomFunctions:SaveMedium (.,$CompleteFileName)"/> |
| Diese Methode kann aufgerufen werden, um im Anschluß an die XSLT ein TAR-Archiv erzeugen zu lassen. Die Pfadangaben im TAR-Archiv sind relativ zu dem im Parameter 'includedFiles' enthaltenen Verzeichnis-Pfades. Bei mehrfachem Aufruf gilt nur der letzte Aufruf. Aufrufparameter:
Beispiel: <xsl:variable name="dummy3" select="XBOUNDCustomFunctions:CreateArchive ('tar','C:\temp\export','export.bsy', 'export.tar')"/> |
–Interpretiert einen gegebenen Datum-/Zeitwert anhand des in 'givenFormat' beschriebenen Formates und konvertiert den resultierenden Wert anhand des in 'resultFormat' gegebenen Formates in die gewünschte Darstellung. Aufrufparameter:
Rückgabe:
Beispiel: <xsl:variable name="DateTimeNow" select="XBOUNDCustomFunctions:GetCurrentDateTime ('dd.mm.yyyy hh:MM:ss')"/> | |
| Interpretiert einen gegebenen Datum-/Zeitwert anhand des in beschriebenen Formates und konvertiert den resultierenden Wert anhand des in gegebenen Formates in die gewünschte Darstellung. Aufrufparameter:
Rückgabe:
Beispiel: <xsl:variable name="DateTimeNow" select="xboundCustomFunctions:GetCurrentDateTime ('dd.mm.yyyy hh:MM:ss')"/> |
| Erzeugt ein XBOUND-Feld in dem gegebenen Dokument oder der gegebenen Feldgruppe mit dem gegebenen Namen und dem gegebenen Wert.
Beispiel: <xsl:variable name="dummy2" select="XBOUNDCustomFunctions:XbCreateField (., $xbMyFieldName, $xbMyFieldValue)"/> |
| Aktualisiert ein XBOUND-Feld in dem gegebenen Dokument oder der gegebenen Feldgruppe mit dem gegebenen Namen und dem gegebenen Wert (das Aktualisieren ist durch Entfernen und Neuanlegen implementiert, wobei Feldwerte gegebenenfalls aufgeteilt werden, wenn sie länger als 255 Zeichen sind).
Beispiel: <xsl:variable name="dummy2" select="XBOUNDCustomFunctions:XbUpdateField (., $xbMyFieldName, $xbMyFieldValue)"/> |
Löscht alle XBOUND-Felder in dem gegebenen Dokument oder der gegebenen Feldgruppe mit dem gegebenen Namen.
Beispiel: <xsl:variable name="dummy2" select="XBOUNDCustomFunctions:XbDeleteField (., $xbMyFieldName, $xbMyFieldValue)"/> | |
Erzeugt ein XBOUND-Dokument mit dem gegebenen Namen und null-Dokumenttyp in dem gegebenen Dokument.
Beispiel: <xsl:variable name="dummy3" select="XBOUNDCustomFunctions:XbCreateDocument (., $xbMyDocumentName)"/> | |
Öffnet eine Verbindung zur SQL-Server-Datenbank mit der gegebenen Verbindungszeichenfolge und beginnt eine Transaktion.
Beispiel: <xsl:variable name="DB-Transaction-Open" select="XBOUNDCustomFunctions:DBBeginTransaction ('Server=localhost; Database=Northwind; Trusted_Connection=True;')"/> | |
Fügt einen neuen Datensatz in die Tabelle mit dem gebebenen Namen ein.
Beispiel: <xsl:variable name="table" select="EC:node-set($TABLE)"/> <xsl:variable name="DB-Insert" select="XBOUNDCustomFunctions:DBInsert ('TEST','A,B', $table/row[1]/col/text())"/> | |
| Liest Daten aus einer CSV-Datei.
Beispiel: <xsl:for-each select="XBOUNDCustomFunctions:ReadCSVFromFile
|
| Sendet eine Logmeldung.
Beispiel: <xsl:variable name="dummy"
|
Wirft eine Ausnahme.
Beispiel: <xsl:variable name="dummy"
|