Definition der Datenquellen für Platzhalter.

Definition der Datenquellen für Platzhalter. Daten für Platzhalter können aus verschiedenen Quellen kommen:

Ist eine Verbindung zu einer Datenbank oder einem SOAP-Service hergestellt, wird immer diese Quelle bevorzugt. Um einzelne Daten aus Datenbanken zu erfragen oder zu ändern, verwenden Sie die Module query bzw. soap. Für dateibasierte Daten verwenden Sie das Modul xmlquery. Variablen vom Typ DataPool enthalten die nötigen Verbindungsdaten. Sie können die Werte dieser Variablen unabhängig von der aktuellen InDesign®- Verbindung setzen.

Haben Sie in InDesign® eine Datenbankverbindung hergestellt, kann durch den Aufruf datapool::set_dbc (pool, 0) verhindert werden, dass Aufrufe, die diesen Pool verwenden, die Datenbank abfragen. So wird beispielsweise die Funktion document::place_items danach nicht versuchen, ihre nötigen Daten (die Beschreibung der Templates) aus der Datenbank zu lesen, sondern aus dem aktuell definierten XML-Ordner. Verändern Sie mit datapool::set_files (pool, "neuer Pfad") auch diese Einstellung, werden die Templates aus den Dateien dieses Pfades geholt.

static DataPool datapool::alloc()

Erzeuge eine neue Variable vom Datentyp DataPool. Die Variable wird automatisch mit den aktuellen Einstellungen in InDesign® gefüllt. Die Datenbankverbindung enthält den Wert von sql::dbconnection. Die Dateiverbindung enthält den Wert xml::app_path. Die Variable muss mit datapool::release wieder gelöscht werden.

Name Typ Default Beschreibung
Return DataPool   Ein neues Objekt von Typ DataPool
DataPool		pool	= datapool::alloc ();
: datapool::release (pool);

Version 1.1.7

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

sql::dbconnection
xml::app_path

static int datapool::release(DataPool pool)

Lösche eine Variable vom Typ DataPool. Auf die Werte der Variable darf nach dem Aufruf dieser Funktion nicht mehr zugegriffen werden.

Name Typ Default Beschreibung
Return DataPool   Ein neues Objekt von Typ DataPool
DataPool		pool	= datapool::alloc ();
: datapool::release (pool);

Version 1.1.7

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

datapool::alloc

static int datapool::type(DataPool pool = 0)

Typ der (aktuellen) Datenverbindung.

Name Typ Default Beschreibung
Return int   kNotConnected
kDBCConnection
kXMLConnection
kSOAPConnection
pool DataPool 0 Von welcher Datenverbindung soll der Typ ermittelt werden?

0 - aktuelle Datenverbindung
sonst - Definierte Datenverbindung
#include "internal/types.h"

Version 1.2.2 (16. Nov. 2005)

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

datapool::login
comet.datapool.getConnection

static String datapool::get_label(DataPool pool = 0)

Ermittle den (eindeutigen) Namen einer Datenverbindung. Der Name entspricht der Beschreibung, die auch in den priint:comet-Paletten verwendet wird.

Name Typ Default Beschreibung
Return String   Name der gegebenen Datenverbindung

Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen.

pool DataPool 0 Gültige Datenverbindung

0 oder leer : Aktuelle Datenverbindung der Plug-Ins

Im Beispiel wird der Aufruf in einem Javascript verwendet.

var gScript =
"int main () \
{\
    \
      strcpy (gOutput, datapool::get_label (0));\
      	return 0;\
}\
";
var conLabel = app.comet.eval (script, '', '');

Version 4.3, R35590

priint:comet InDesign® Plug-Ins, comet_pdf

static int datapool::get_vendor(DataPool pool = 0)

Datenbankhersteller der Datenverbindung. Bei ODBC-Verbindungen wird der zuvor mit datapool::set_vendor gesetzte Wert zurückgegeben. Sonst gibt die Funktion den Wert -1 zurück.

Beachten Sie bitte, dass der Vendor auch in ODBC-Verbindungen nicht automatisch gesetzt wird!

Name Typ Default Beschreibung
Return int   Bei ODBC-Verbindungen der zuvor mit datapool::set_vendor gesetzte Wert

sonst : -1
pool DataPool 0 Von welcher Datenverbindung soll der Hersteller ermittelt werden?

0 - Aktuelle Datenverbindung

sonst - Definierte Datenverbindung

v4.1.8 R30220 (22022022)

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

static int datapool::set_vendor(DataPool pool = 0, int vendor = -1)

Setze den Datenbankhersteller der Datenverbindung. Die Funktion hat nur bei ODBC-Verbindungen eine Wirkung, sonst wird der Aufruf ignoriert.

Name Typ Default Beschreibung
Return int   0 : Bei ODBC-Verbindungen

sonst : noDatabaseErr (= 400)
pool DataPool 0 In welcher Datenverbindung soll der Hersteller gesetzt werden?

0 - Aktuelle Datenverbindung

sonst - Definierte Datenverbindung
vendor int -1 1 : Oracle
2 : Sybase
3 : mySQL
4 : DB2
6 : PostGre
7 : SAP

-1 : Undefiniert

v4.1.8 R30220 (22022022)

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

static int datapool::set_dbc(DataPool pool, int* dbc)

Setze die Datenbankverbindung des Datenpools. Der Befehl dient insbesondere dazu, das Laden und Schreiben von Daten aus/in Datenbanken zu unterdrücken, obwohl über InDesign® eine Datenbankverbindung besteht. Als Datenbankverbindung darf nur 0 oder die aktuell gültige Verbindung (sql::dbconnection) verwendet werden.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
pool DataPool - Definierter DatenPool
dbc int*, DBC oder SOAP - Datenbankverbindung oder 0 Als Datenbankverbindung darf nur 0 oder die aktuell gültige Verbindung (sql::dbconnection, soap::connection) verwendet werden.
DataPool		pool	= datapool::alloc ();
datapool::set_dbc (pool, 0);
: datapool::release (pool);

Version 1.1.7

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

sql::dbconnection
datapool::get_dbc
comet.datapool.loginDB
comet.datapool.loginSOAP

static int datapool::set_files(DataPool pool, char* fpath)

Setze die Dateidatenquelle des Datenpools. Als Dateiquelle muss ein Ordner angegeben werden, der den Definitionen von WERK II entspricht.

Die richtige Definition der Dateiquelle und ihren Platz in der Ordnerstruktur entnehmen Sie jeweils der Dokument der Funktionen, die eine Datenquelle verwenden.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
pool DataPool - Definierter DatenPool
fpath String oder char* - Dateiquelle des Pools
DataPool		pool	= datapool::alloc ();
char			myxmlpath[4069];
document::folder (myxmlpath); strcat (myxmlpath, "/"); strcat (myxmlpath, "xmldata"); datapool::set_files (pool, myxmlpath);
: datapool::release (pool);

Version 1.1.7

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

xml::app_path
datapool::get_files
datapool::login
comet.datapool.loginXML

static int* datapool::get_dbc(DataPool pool)

Ermittle die Datenbankverbindung des Datenpool. Nach datapool::alloc ist dieser Wert die aktuelle Datenbankverbindung von Indesign® und entspricht dem Ergebnis der Funktion sql::dbconnection.

Name Typ Default Beschreibung
Return int*, DBC oder SOAP   Datenbankverbindung des Pools. Nach datapool::alloc ist dieser Wert die aktuelle Datenbankverbindung von Indesign® und entspricht dem Ergebnis der Funktion sql::dbconnection bzw. soap::connection
pool DataPool - Definierter DatenPool

Version 1.1.7

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

datapool::set_dbc
comet.datapool.getConnection

static char* datapool::get_files(DataPool pool, char* result)

Ermittle die Datenbankverbindung des Datenpool. Nach datapool::alloc ist dieser Wert die aktuelle Dateiverbindung von InDesign® und entspricht dem Wert von xml::app_path.

Name Typ Default Beschreibung
Return String oder char* (Abhängig vom Parameter result)   Dateiverbindung des Pools. Nach datapool::alloc ist dieser Wert die aktuelle Dateiverbindung von InDesign® und entspricht dem Wert von xml::app_path. Entspricht dem Parameter result
pool DataPool - Definierter DatenPool
result String oder char* - Reservierter Speicher für das Ergebnis

Version 1.1.7

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

datapool::set_files
comet.datapool.getConnection

static int datapool::get_products(
  char* statement,
  List l1,
  List l2 = 0,
  List l3 = 0,
  StringList s1 = 0,
  int flags = 0,
  int checkTemplates = 0)

Ausgehend von der aktuellen Auswahl in der Produktepalette werden eine oder mehrere Listen von Produkt-IDs ermittelt. Dabei können automatisch Untereinträge geladen werden. Zum Laden der Untereinträge werden die Anweisungen verwendet, die auch in der Produktpalette beim Öffnen eines Eintrages ausgeführt werden. Die Reihenfolge in den Ergebnislisten entspricht der Reihenfolge in der Palette Produktrecherche.

Der Befehl benötigt das Plugin Produktrecherche. Die Produktrecherche muss geöffnet sein.

Die Produktliste kann mit dem Parameter statement festgelegt werden. Mit der in statement gemachten Anweisung können Produkte rekursiv erweitert oder durch ihre Unterprodukte ersetzt werden. Die neu eingefügten Produkte sind dabei exakt die gleichen Produkte, die auch in der Produktrecherche erscheinen (würden), wenn Sie dort einen Eintrag öffnen.

Die Anweisungen zum Laden der Untereinträge können in zwei Versionen gemacht werden. Für die Beschreibungen der jeweiligen Syntax wird die sog. EBNF-Notation verwendet :

Diese historische Syntax der Statements wird seit vielen Jahren erfolgreich verwendet und wird auch weiterhin unterstützt. Für neuere Implementierungen empfehlen wir die Version 2 der Anweisungen.

Die folgende Tabelle beschreibt die einzelnen Teile des Parameters statement. Ist der Parameter leer, werden alle Produkte mit einem Auge in die Ergebnisliste(n) aufgenommen.
Part Default Beschreibung
Panel Leer Die Angabe hat keine Bedeutung mehr. Als Basis wird immer die Produktrecherche (Products) verwendet. Die Angabe ItemPool wird seit v3.0 der priint:comet Plugins nicht mehr unterstützt.
Base watched Auswahl der Produktrecherche

Welche sichtbaren Objekte der Produktrecherche sollen gesammelt werden?
  • list : Alle Produkte der Liste
  • watched : Nur die Produkte mit einem Auge

  • selected : Alle ausgewählten Produkte der Liste (Listenauswahl). Achten Sie darauf, dass die Listenauswahl sehr veränderlich ist. Sie wird immer der aktuellen Dokumentauswahl angepasst!
  • clean : Alle Dokumentseiten ab der aktuellen Rahmenposition aufräumen. Dieser Selector hat nur im Befehl document::build_products eine Bedeutung.

Weitere Optionen

[ab v3.3 R3303, 26.11.2012] Sie können außerdem angeben, ob die Liste Doppler enthalten soll oder nicht. Ist nichts angegeben, sind Doppler erlaubt.
  • with doubles allowed : Doppler in der Liste erlaubt
  • with no doubles : Doppler nicht erlaubt. Doppelte Produkte der Basisauswahl der Produktrecherche werden dabei nicht entfernt.
  [Expand]  

{Expand}
Leer Dieser Teil der Anweisung ist der wichtigste - und meist auch der schwierigste: Sie geben an, nach welchen Kriterien Unterprodukte in die Ergebnisliste aufgenommen werden sollen. Unterprodukte eines Produktes sind dabei genau die Produkte, die Sie auch sehen, wenn Sie das Produkt in der Produkterecherche aufklappen.

Es gilt generell :
  1. Alle Produkte, die den angegebenen Bedingungen entsprechen, werden in die Ergebnisliste übernommen.
  2. Ersetzen mit [] : Produkte, die die angegebene Bedingung nicht erfüllen, werden durch ihre Unterprodukte ersetzt.
  3. Erweitern mit {} : [ab v3.3 R3303, 26.11.2012] Hinter Produkten, die die angegebene Bedingung nicht erfüllen, werden die Unterprodukte dieser Produkte in die Ergebnisliste eingefügt.
Bedingungen

Bedingungen können in der üblichen Syntax wie etwa in SQL oder xmlquery geschrieben werden, z.B. id1 > 0 and level > 0. Eine Liste der definierten Attribute finden Sie hier. Die Attribute werden dabei jeweils durch aktuellen Werte der gefundenen Produkte ersetzt.

Bedingung1 ? Bedingung2

Enthält die Bedingung zwei durch ? getrennte Teile, wird zuerst der erste Teil geprüft. Passt ein Produkt, wird der zweite Teil der Bedingung ignoriert (und das Produkt in die Ergebnisliste aufgenommen).

Passt ein Produkt jedoch nicht, wird auch die zweite Bedingung geprüft. Passt diese Bedingung auf das Produkt, wird tatsächlich ersetzt/erweitert. Sonst wird das Produkt aus der Liste entfernt ([...]) oder unverändert übernommen ({...})

Die zweite Bedingung dient damit als Abbruchkriterium, denn möglicherweise bildet der Produktbaum ja Kreise.

Hinweise

Die Verwendung von {...} erfordert meist, auch die Option "with doubles allowed" zu verwenden: Immer dann, wenn nämlich in der Auswahl der Produktrecherche Produkten und Unterprodukte dieser Produkte enthalten sind, erhalten Sie die Unterprodukte doppelt in der Ergebnisliste.
Proof Leer Nachdem alle Produkte (und Unterprodukte) ermittelt wurden, kann mit dieser Bedingung geprüft werden, ob das Objekt überhaupt in der Liste bleiben soll. Ist die Bedingung nicht erfüllt, wird das Objekt aus der Ergebnisliste wieder entfernt.

Diese Syntax wird a v.4.3 R36020 unterstützt und wird auch im Aufbaudialog der Produktrecherche verwendet.

Optional (und nur aus Platzgründen in der EBNF weggelassen) kann am Ende eine der folgenden Floskeln in genau dieser Schreibweise angefügt werden:

Symbole Beschreibung
selected | watched Welche Auswahl der Produktrecherche soll verwendet werden?

selected : Normale Listenauswahl
watched : Mit Auge markiertes Einträge
first | all Wenn die Conditions passen, wird der Eintrag in die Zielliste übernommen. Sollen danach mögliche Untereinträge gesucht werden?

first : Nein, keine weitere Suche
all : Ja, mögliche Untereinträge prüfen
Condition Prüfe, ob das Produkt die gegebenen Bedingungen erfüllt. Hier die Syntax für Bedingungen.
until Ist until gegebenen, werden alle erreichbaren Zwischenebenen besucht. Sonst wird ohne Prüfung der Condition bis zum gegebenen Level getaucht und erst die Produkte der letzten Ebene werden geprüft.
level | rlevel 0-basierte unterste Ebene der Suche:

level : Absolute Tiefe in der Produktrecherche
rlevel : Relativ zum ausgewählten Produkt bzw. dessen obersten ausgewählten Eltern-Produktes

Wie oben erwähnt, verwendet der Aufbaudialog der Produktrecherche zum Ermitteln der Produkte die Version 2 der Suchanweisung. Hier als Beispiele die dort verwendeten Abfragen:

Bedingungen prüfen die Eigenschaften der Produkte und können wahr oder falsch sein. Bedingungen können mit and und or verknüpft und geklammert werden. Hier die Beschreibung der Syntax einer Bedingung:

VALUE FUNCTION REL_OP VALUE ( CONDITIONS ) and or CONDITIONS

and und or haben die allgemein übliche Priorität and vor or, A or B and C bedeutet also A or (B and C). Für eine bessere Lesbarkeit empfehlen wir aber, die Klammern im Ausdruck anzugeben.

= != < > <> like

Die Werte von Produkteigenschaften können mit einfachen Funktionen bearbeitet werden. Achten Sie dabei bitte darauf, dass Funktionen nur auf den angegebenen Datentypen gültig sind!

Für Ganzzahlen (int) sind die üblichen Grundrechenarten definiert:

+, -, *, /

Für Strings (char*) sind die folgenden Funktionen definiert:

Die folgende Tabelle beschreibt alle in den Anweisungen definierten Eigenschaften von Produkten der Palette Produktrecherche.

Name Typ/Wert Beschreibung
id int ID des Objektes, bestehend aus 3 Zahlen und einem (optionalen) String
id2
id3
stringid char*
pageitemid int Die im Objekt hinterlegte Template-ID
docid int Die im Objekt hinterlegte Dokument-ID
masterpage char* Die im Objekt hinterlegte Musterseite
grid char* Das im Objekt hinterlegte Raster
gridid int Die im Objekt hinterlegte Raster-ID
element char* Das im Objekt hinterlegte Rasterelement
elementid int Die im Objekt hinterlegte Rasterelement-ID
needsrequest int [0, 1] Sind die Platzierungen des Objektes vollständig?
defined int [0, 1] Sind Platzierungen in der Datenverbindung möglich?
level int Schachtlungstiefe im Produktbaum, oberste Ebene ist 0
relative_level [ab v3.2.3 R2440] Relative Schachtlungstiefe ausgehend von den Stammprodukte der Liste (list, selected, watched)
substatement int ID des Panelstatements zum Laden der Unterobjekte
classid int Klassennummer des Objektes
row1 char* Text der ersten Spalte der Palette
row2 char* Text der zweiten Spalte der Palette
pre_ruleid int Prehandler des Objektes
pre_ruleparams char* Parameter für den Prehandler
post_ruleid int Posthandler des Objektes
post_ruleparams char* Parameter für den Posthandler
adparams char* Parameter für die Platzierung von Werbebannern

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
statement String oder char* - siehe oben
l1 List - Allokierte Liste für die IDs der gefundenen Objekte.
l2 List 0 Allokierte Liste für die ID2s der gefundenen Objekte.
l3 List 0 Allokierte Liste für die ID3s der gefundenen Objekte.
s1 StringList 0 Allokierte String-Liste für die StringIDs der gefundenen Objekte.
flags int 0 Unbenutzt
checkTemplates int 0 Sollen geprüft werden, ob die Produkte definierte Templates haben?

0 : Nein, keine Prüfung nötig
1 : Ja, bitte prüfen. Produkte ohne definiertes Template in der Produktrecherche werden dann nicht in die Ergebnislisten eingefügt.

Hier ein Beispiel für ein statement, mit dem alle Produkte und Unterprodukte der aktuellen Auswahl (markiert, nicht Auge!) gesammelt werden. Dabei wird in die Objekte eingetaucht, wenn das Template eines Objektes nicht definiert ist. Bei einer Schachtlungstiefe von 10 wird aufgegeben. Aus der so entstandenen Liste werden dann alle Einträge entfernt, deren id2 <= 0 ist.

selected [pageitemid > 0 ? level < 10] id2 > 2

Das zweite Besipiel sammelt die ersten IDs aller ausgewählten Produkte mit definiertem Template.

int main ()
{
    int 		result;
    List		l1	= list::alloc ();
    int		i;
if (gRun != 0) return 0;
result = datapool::get_products (   "selected [pageitemid > 0]",   l1); if (result && result != -1199) { showmessage ("Error %d", result); } else { for (i=0; i < list::length (l1); i++) { showmessage ("%d: %d", i+1, list::get (l1, i)); } }
return 0; }

Das dritte Beispiel demonstriert die Verwendung von Stringlisten mit und ohne Class-ID. Markieren Sie dazu einige Einträge der Produktrecherche mit einem Auge und selektieren Sie einige andere Einträge durch Listenauswahl.

int main ()
{
    int 			id1, id2, id3;
    int 			num		= 0;
    List 			prod  	= list::alloc();
    List 			prod2 	= list::alloc();
    List 			prod3 	= list::alloc();
    StringList 		prod4 	= stringlist::alloc ();		// StringList without Class-ID
    StringList 		ppp		= stringlist::alloc (3, 1); // StringList with Class-ID
    char			strid[4000];
    char			name[4000];
    char			temp[4000];
if (gRun > 1) return 0; // only once
datapool::get_products ("selected ", prod, prod2, prod3, prod4); while (num<list::length(prod)) { id1 = list::get (prod ,num,0); id2 = list::get (prod2,num,0); id3 = list::get (prod3,num,0); stringlist::gettext (prod4, num, "", strid);
strcpy (temp, "get_products %d : \n\n"); strcat (temp, "id1=%d\n"); strcat (temp, "id2=%d\n"); strcat (temp, "id3=%d\n"); strcat (temp, "stringid via stringlist::gettext='%s'\n"); strcat (temp, "stringid via stringlist::get='%s'");
showmessage(temp,   num+1,   id1, id2,id3,   strid,   stringlist::get (prod4, num));
num = num+1; }
num = 0; while (num<stringlist::length(ppp)) { stringlist::gettext (ppp, num, "StringID", strid); stringlist::gettext (ppp, num, "Num", name);
strcpy (temp, "alloc by class 3 : entry %d\n\n"); strcat (temp, "stringid='%s'\n"); strcat (temp, "name='%s'");
showmessage(temp, num+1, strid, name);
num = num+1; }
list::release (prod); list::release (prod2); list::release (prod3); list::release (prod4);
return 0; }

Version 1.2.1 (21. September 2005)
s1 seit Version 1.4.1 R380, 21. Juni 2007
Parameter flags und checkTemplates seit v4.2 R33730, 31. Okt 2023

priint:comet InDesign® Plug-Ins, comet_pdf

static int* datapool::login(
  int type,
  char* dsn,
  char* user = 0,
  char* password = 0,
  char* dbOrLang = 0,
  char* client = 0,
  int lazy = 1,
  int charset = 0)

Herstellen oder Ändern der globalen Datenverbindung. Dieser Befehl fällt etwas aus dem Rahmen des Moduls. Notwendig und sinnvoll ist die Verwendung nur in speziellen Situation im Server-Betrieb, wenn Batch und Anwendungsdaten aus verschiedenen (wechselnden) Datenbankverbindungen geladen werden sollen.

Name Typ Default Beschreibung
Return int*, DBC, SOAP   Neue Datenverbindung oder 0 (bei XML-Daten)
type int - Typ der Datenverbindung

1 : ODBC
2 : XML
3 : SOAP
dsn String oder char* - je nach Verbindungstyp

ODBC : DSN
XML : path
SOAP : Host.
user String oder char* 0 Benutzername, dieser und alle folgenden Parameter werden bei XML ignoriert
password String oder char* 0 Passwort
dbOrLang String oder char* 0 Datenbankname (ODBC) oder Sprache (SOAP)
client String oder char* 0 Mandant / Client
lazy int 1 nur neu verbinden, wenn die Daten von denjenigen der aktuellen Verbindung abweichen
coding int 0 Zeichensatz

0 : Systemzeichensatz
1 : Unicode
2 : Unicode 32Bit
3 : UTF-8

Version 1.4.1 (15. Juni 2007)

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

datapool::logout
datapool::set_files
comet.datapool.loginXML
comet.datapool.loginDB
comet.datapool.loginSOAP

static int datapool::logout(int type)

Beende die globale Datenverbindung.

Name Typ Default Beschreibung
Return int   1 Okay
0 : Fehler
type int - Typ der Datenverbindung

1 : ODBC
2 : XML
3 : SOAP

Version 1.4.1 (15. Juni 2007)

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

datapool::login
comet.datapool.logout

static int datapool::suppress_warnings(int state = -1)

Nur für den internen Gebrauch Unterdrücken von Warn-Dialogen.

Das Unterdrücken von Warnungen kann zu Fehlern im Dokumentinhalt führen und sollte keinesfalls im Produktvbetrieb verwendet werden! Die Funktion dient ausschließlich zu Testzwecken und sollte nur verwendet werden, wenn Platzhalterinhalte nicht aktualisiert werden müssen.

In den priint:comet Plugins sind aktuell an genau 1510 Stellen Warndialoge und Hinweise. Bitte beachten Sie, dass die Funktion lediglich die Warndialoge für fehleden oder fehlerhafte Skripte und Abfragen (xmlquery, SQL, soapquery) unterdrücken kann. Alle anderen Warnungen und Hinweise bleiben weiterhin aktiv.

Name Typ Default Beschreibung
Return int   Bisheriger Wert der Einstellung
state int -1 0 : Alle Dialoge wieder zeigen
1 : Skript- und Abfragefehler unterdrücken
2 : Fehlende und fehlerhafte Platzhalteraktionen nicht warnen
3 : 1 und 2
sonst : Abfrage des aktuellen Statuses

Die Einstellung wird beim Beenden der aktuellen Datenverbindung zurückgesetzt auf 0.

Version v4.2 R33285, 21. Juli 2023

priint:comet InDesign® Plug-Ins, comet_pdf

static int datapool::get_main_template(
  int pid,
  int* l = 0,
  int* u = 0,
  int* r = 0,
  int* cl = 0,
  int* cu = 0,
  int* cr = 0)

Hole das Haupttemplate eines Templates. Templategruppen bestehen aus bis zu vier Untertemplates für die verschiedenen Seitentypen und die Fortsetzungen.

Name Typ Default Beschreibung
Return int   ID des Haupttemplates oder 0 im Fehlerfall
pid int - ID des Templates
l, u, r, cl, cu, cr jeweils int* 0 IDs der Sub-Templates. Wollen Sie einen Werte nicht abholen, bekommt der jeweilge Parameter den Wert 0, sonst die Adresse einer Int_Var.

Folgende Werte sollten bei richtiger Konfiguration des Templates definiert sein:

Templates für beliebige Seiten
l : 0
u : TemplateID
r: 0
cl: 0
cu : Fortsetzung oder 0
cl: 0

Seitenspezifische Templates
l : linke Seiten
u : 0
r: rechte Seiten
cl: Fortsetzung auf linken Seiten oder 0
cu : 0
cl: Fortsetzung auf rechten Seiten oder 0

Ermittle das Template, das einen Rahmen ins Dokument eingefügt hat und berechne die IDs der Untertemplates.

 
int main ()
{
    char		ename [2000];
    int			tid;
    int			ttid, l, m, r, cl, cm, cr;
tid = frame::get_template (gFrame); ttid = datapool::get_main_template (tid, &l, &m, &r, &cl, &cm, &cr);
wlog ("", "# Frame %d\n", item::getint (gFrame)); wlog ("", "# Template : %d of %d (%s) with [%d, %d, %d, %d, %d, %d]\n",   tid, ttid,   datapool::get_template_name (tid),   l, m, r, cl, cm, cr);
return 0; }

Version 3.2 R2267, 8. Feb. 2011

priint:comet InDesign® Plug-Ins, comet_pdf

get_template_name
frame::get_page_element
frame::get_template

static char* datapool::get_template_name(int pid)

Ermittle den Namen eines Templates.

Name Typ Default Beschreibung
Return char*   Name des Templates. Im Fehlerfall ist das Ergebnis leer ("").

Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen.

pid int - ID des Templates

Ermittle das Template, das einen Rahmen ins Dokument eingefügt hat und berechne die IDs der Untertemplates.

 
int main ()
{
    char	ename [2000];
    int		tid;
    int		ttid, l, m, r, cl, cm, cr;
tid = frame::get_template (gFrame); ttid = datapool::get_main_template (tid, &l, &m, &r, &cl, &cm, &cr);
wlog ("", "# Frame %d\n", item::getint (gFrame)); wlog ("", "# Template : %d of %d (%s) with [%d, %d, %d, %d, %d, %d]\n",   tid, ttid,   datapool::get_template_name (tid),   l, m, r, cl, cm, cr);
return 0; }

Version 3.2 R2267, 8. Feb. 2011

priint:comet InDesign® Plug-Ins, comet_pdf

get_main_template
frame::get_page_element
frame::get_template

static int datapool::aem_get_list(
  PublicationList pli,
  char* url,
  char* user,
  char* password,
  char* assetpath = 0,
  int inclRenditions = 0)

EXPERIMENTELL! Hole das Inhaltsverzeichnis eines Ordners eines AEM® (Adobe Experience Manager®).

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
pli PublicationList - Zielliste für die gefundenen Einträge des Asset-Ordners. Die Variable muß mit publication::publicationlist::alloc zuvor allokiert worden sein. Konnte das Inhaltsverzeichnis erfolgreich gelesen werden, wird die Liste vor dem Neufüllen automatisch geleert.

Die Einträge der Liste können mit publication::gets gelesen werden:

kName : Name des Eintrages
kType : Typ des Eintrages, "assets/folder" oder "assets/asset"
kPath : Pfad des Eintrages in der Asset-Komponente des AEM®
url String oder char* - URL des AEMs®
user String oder char* - Benutzername für den Login im AEM®
password String oder char* - Passwort für den Login im AEM®
assetpath String oder char* - Vollständiger Pfad des Ordners in der Asset-Komponente des AEMs®.

0 oder leer : Root-Verzeichnis ("/")
inclRenditions int 0 Renditions mit in die Ergebnisliste aufnehmen?

0 : Nein
1 : Ja
#include "internal/publications.h"
#include "internal/publications.h"
char stHost [] = "http://192.168.0.208:4502"; char stUser [] = "admin"; char stPwd [] = "***";
int main () { PublicationList pl = publication::publicationlist::alloc (); Publication p; int i;
wlog ("", "==== /my folder ====\n"); datapool::aem_get_list (pl, stHost, stUser, stPwd, "/my folder", 0); for (i = 0; i < publication::publicationlist::length (pl); i++) { p = publication::publicationlist::get (pl, i); wlog ("", "Name : %s\n", publication::gets (p, kName)); wlog ("", "Type : %s\n", publication::gets (p, kType)); wlog ("", "Path : %s\n", publication::gets (p, kPath)); wlog ("", "\n"); }
publication::publicationlist::release (pl);
return 0; }

v4.1 R22145, 29. März 2018

priint:comet InDesign® Plug-Ins, comet_pdf

file::aem_put_asset
file::aem_put_asset

Seit
Version 1.1.7, Januar 2005

Alphabetic index HTML hierarchy of classes or Java