4D v16.3

PROCESS 4D TAGS

Home

 
4D v16.3
PROCESS 4D TAGS

PROCESS 4D TAGS 


 

PROCESS 4D TAGS ( EingabeVorlage ; AusgabeDaten {; param}{; param2 ; ... ; paramN} ) 
Parameter Typ   Beschreibung
EingabeVorlage  Text, BLOB in Vorlage mit Tags zur Bearbeitung
AusgabeDaten  Text, BLOB in Ergebnis der Vorlage
param  Text, Zahl, Datum, Zeit, Zeiger, Boolean in Parameter zur Übergabe in Vorlagen in Bearbeitung

Der Befehl PROCESS 4D TAGS löst die Bearbeitung der 4D Transformation Tags aus, definiert in EingabeVorlage (Feld oder Variable vom Typ Text oder BLOB). Über den optionalen Parameter param können Sie spezifische Werte einfügen. Die Ergebnisdaten werden in AusgabeDaten zurückgegeben. Weitere Informationen dazu finden Sie im Abschnitt 4D Transformation Tags.

Dieser Befehl ermöglicht, einen Text vom Typ Vorlage mit Tags und Referenzen auf 4D Ausdrücke bzw. Variablen auszuführen und das Ergebnis je nach Ausführungskontext bzw. den als Parameter übergebenen Werten auszuführen.
Sie können mit diesem Befehl z.B. HTML Seiten generieren und sichern, die auf halb-dynamischen Seiten mit 4D Transformation Tags basieren, ohne dass der 4D Web Server gestartet werden muss. Sie können damit auch E-Mails in HTML Format versenden, welche Tags oder Referenzen auf Daten aus der Datenbank enthalten, die über 4D Internet Commands abgearbeitet werden. Es lässt sich jede Art von Daten in Form von Text bearbeiten, wie XML, SVG oder Text mit Mehrfachstil.

In EingabeVorlage übergeben Sie die Daten mit Tags, die bearbeitet werden sollen. Der Parameter kann ein Feld oder eine Variable vom Typ Text oder BLOB sein. Der Typ Text reicht in der Regel aus (Parameter können bis zu 2 GB an Text empfangen).

Hinweis zur Kompatibilität: Ab 4D Version 12 geht der Befehl bei Parametern vom Typ BLOB automatisch davon aus, dass für BLOBs der Zeichensatz MacRoman ist. Für bessere Effizienz raten wir dringend, Parameter vom Typ Text zu verwenden, da sie im Unicode Modus ausgeführt werden.

Alle Transformation Tags von 4D werden unterstützt (4DTEXT, 4HTML, 4DSCRIPT, 4DLOOP, 4D EVAL etc.).

Hinweis: Bei Verwendung des Tag 4DINCLUDE außerhalb des Bezugssystems von Web Server (Web Prozess) gilt folgendes:

  • In 4D im lokalen Modus oder 4D Server ist der Standardordner der Ordner, der die Strukturdatei der Datenbank enthält
  • In 4D im remote Modus ist der Standardordner der Ordner, der die 4D Anwendung enthält.

PROCESS 4D TAGS unterstützt eine undefinierte Anzahl zusätzlicher Parameter param, die sich in den ausgeführten Code einfügen lassen. Das können wie für Projektmethoden skalare Werte jedes Typs sein (Text, Datum, Zeit, Lange Ganzzahl, Zahl...). Über Array Zeiger können Sie auch Arrays verwenden. Diese Parameter sind während der Ausführung der Vorlage, wie für 4D Methoden, über gängige $1, $2... Argumente verfügbar (siehe Beispiel). Während der Ausführung von PROCESS 4D TAGS steht ein eigener Satz lokaler Variablen bereit. Diese Variablen lassen sich während der Bearbeitung schreiben oder lesen.

Hinweis zur Kompatibilität: In bisherigen 4D Versionen war das Nutzen lokaler Variablen der rufenden Methode während der Ausführung von PROCESS 4D TAGS möglich, jedoch ausschließlich im interpretierten Modus. Das ist ab 4D v14 R4 nicht mehr möglich, d.h. der Befehl verhält sich im interpretierten und im kompilierten Modus gleich.

Nach Ausführung des Befehls empfängt AusgabeDaten das Ausführungsergebnis aus EingabeVorlage, zusammen mit evtl. darin enthaltenen abgearbeiteten 4D Tags. Enthält EingabeVorlage keine 4D Tags, ist der Inhalt in AusgabeDaten identisch mit dem von EingabeVorlage. Der Parameter AusgabeDaten kann ein Feld oder eine Variable sein, er muss jedoch vom selben Typ wie der Parameter EingabeVorlage sein.

Hinweis: Dieser Befehl ruft nie die Datenbankmethode On Web Authentication auf.

Folgendes Beispiel lädt ein Dokument vom Typ "template", bearbeitet die darin enthaltenen Tags und speichert es dann:

 C_BLOB($Blob_x)
 C_BLOB($blob_out)
 C_TEXT($inputText_t)
 C_TEXT($outputText_t)
 
 DOCUMENT TO BLOB("mytemplate.txt";$Blob_x)
 $inputText_t:=BLOB to text($Blob_x;UTF8 text without length)
 PROCESS 4D TAGS($inputText_t;$outputText_t)
 TEXT TO BLOB($outputText_t;$blob_out;UTF8 text without length)
 BLOB TO DOCUMENT($document;$blob_out)

Dieses Beispiel erstellt einen Text aus Daten eines Arrays:

 ARRAY TEXT($array;2)
 $array{1}:="hello"
 $array{2}:="world"
 $input:="<!--#4DEVAL $1-->"
 $input:=$input+"<!--#4DLOOP $2-->"
 $input:=$input+"<!--#4DEVAL $2->{$2->}--> "
 $input:=$input+"<!--#4DENDLOOP-->"
 PROCESS 4D TAGS($input;$output;"elements = ";->$array)
  // $output = "elements = hello world"



Siehe auch 

4D Transformation Tags

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Werkzeuge
Nummer: 816

This command can be run in preemptive processesIm remote Modus anderes Verhalten

 
GESCHICHTE 

Erstellt: 4D 2004
Geändert: 4D v11 SQL
Geändert: 4D v12
Umbenannt: 4D v13
Geändert: 4D v14 R4

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)