f$XML_File_Mapping
f$XML_File_Mapping
Einlesen des Inhalts einer beliebigen XML-Datei in eine Parametergruppe. Die Zuordnung von Knotennamen im XML und ePOS Parameternamen wird über eine Mapping Parametergruppe übergeben. Diese Parametergruppe muss die Parameter Name und Wert enthalten. Der Name ist der Name des ePOS Parameters in der Ziel Parametergruppe, Wert ist die Bezeichnung des Knotens.
Im Fehlerfall wird auf den ePOS Parameter Meldung ein geeigneter Text geschrieben.
Es existieren folgende Sonderbezeichnungen:
@PGNAME | Name der ePOS Parametergruppe |
@PG | Name des Knotens der einen neuen Index der Parametergruppe auslöst. |
@LANG | Attribut, das eine Sprache kennzeichnet. Die Zuordnung zum ePOS Parameter geschieht in der Form: Parameter des zugeordneten Knotens gefolgt von _ und der Sprache. Beispiel: Parameter des Knotens ist Bezeichnung und die Sprache ist de, dann wird der Parameter: PG[Index].Bezeichnung_de gefüllt |
@LANGUAGES | Mit Komma getrennte Liste an möglichen Sprachen. Wenn dies nicht angegeben ist, werden alle Sprachen ausgewertet |
@DATEI | Name einer Ausgabedatei Das erzeugte ePOS XML wird in diese Datei geschrieben und nicht von ePOS verarbeitet. |
@LOGDATEI | Die Eingaben und die verarbeiteten Zwischenschritte werden in %TEMP%\eposvbcomexe.log geschrieben |
Achtung: Die Sonderbezeichnungen müssen mit einem „@“ am Anfang und in GROSSBUCHSTABEN geschrieben werden.
Die Parametergruppe mit Ihren Parametern muss im Regelwerk definiert sein. Die benötigte Zeilenanzahl wird automatisch dimensioniert.
Syntax: | Status = f$XML_File_Mapping ( Dateiname , 'MappingPGName' ) | ||||
| Argument | Typ | Bedeutung | ||
| Dateiname | Zeichenkette | Name der XML Datei oder '-' wenn der interne XML Buffer verwendet werden soll | ||
| MappingPGName | Zeichenkette | Name der Parametergruppe, die die Zuordnungsinformationen übergibt | ||
Optional: |
|
|
| ||
| ZielDateiName | Zeichenkette | Zu Testzwecken kann optional noch als 3. Parameter der Name einer Ausgabe XML Datei angegeben werden. In diese XML Datei wird der gelesene Inhalt als ePOS XML Datei geschrieben. | ||
Ergebnis: | Ganzzahl | 0 : Die XML Datei wurde eingelesen, -1: die Komponente eposvbcomexe.ComClass1 konnte nicht angesprochen werden, -2 eine Exception wurde ausgelöst, -3 die angegebene Datei konnte nicht geöffnet werden.. | |||
Beispiel Mappingparametergruppe | ![]() | ||||
Eingelesene Parametergruppe | ![]() | ||||
Ausführliches Beispiel mit XML Struktur:
XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<items>
<item>
<number>1</number>
<description>
<Id>3</Id>
<text>Dies ist eine Beschreibung</text>
</description>
<longDescription>
<text>Dies ist eine lange Beschreibung, um den Artikel ausführlich zu beschreiben</text>
</longDescription>
<referenceItem>
<number>323</number>
</referenceItem>
<guid>P33G</guid>
</item>
</items>
Mapping-PG:

Abbildung 2 Beispiel-PG

Abbildung 3 Beispiel-PG für XML-Initialisierung
Wie in Abbildung 2 zu sehen ist, muss die Mapping-PG die Parameter „Name“ und „Wert“ haben. Außerdem müssen die ersten 4 Werte auf dem Parameter Name wie in der Abbildung initialisiert werden.
Auf „Wert“ bei „@PGNAME“ muss der Name der Parametergruppe geschrieben werden, in die der Inhalt der XML-Datei geschrieben werden soll.
Bei Index 2 „@PG“ muss der Elementpfad des XML-Elements stehen, das die Datensätze beinhaltet (in der Beispiel-XML (siehe 4.1 Die XML-Datei) ist das z.B. „item“, weshalb der Pfad „/item“ ist.
Index 3: Name „@LANG“, Wert: „lang“
Index 4: Name „@LANGUAGE“, Wert; z.B. „de“ für deutsch oder „en“ für Englisch
Alle nachfolgenden Indizes erhalten als Name den jeweiligen Parametername aus der PG, die befüllt werden soll. (siehe Abbildung 2 Beispiel-Mapping-PG und Abbildung 3 Beispiel-PG für XML-Initialisierung)
Auf den Parameter „Wert“ muss der Pfad zum jeweiligen XML-Element geschrieben werden.
Ergebnis

Abbildung 3 Parametergruppe gefüllt
Häufige Fehler:
Die Sonderbezeichnungen in der Mapping-PG sind nicht in Großbuchstaben initialisiert.
Die Parameternamen der Parametergruppe, auf die die XML-Daten geschrieben werden sollen, stimmen nicht mit den Namen in der Mapping-PG überein
(siehe Abbildung 2 Beispiel-Mapping-PG und Abbildung 3 Beispiel-PG für XML-Initialisierung)
Im Pfad der XML-Elemente wird das oberste Element mit angegeben
(Im obigen Beispiel z.B. „/items/item/number“ anstatt „/item/number“)
In der Mapping-PG sind nicht alle erforderlichen Sonderbezeichnungen vorhanden. (Siehe dazu 3. Die Mapping-PG)

