TextHTMLWriterMultiOutput

Der Step TextHTMLWriterMultiOutputopen in new window ist eine Erweiterung des TextHTMLWriter Steps, der es ermöglicht, mehrere Dateien zu erzeugen.
Er verhält sich wie der TextHTMLWriter, aber kann dynamisch mehrere Dateien erzeugen.

Damit lassen sich Anforderungen wie z.B.

  • Erzeuge pro Bestellung eine Datei mit Dateiname Order-[OrderID].xml
  • Erstelle pro Bestellung eine Rechnung oder Lieferschein als PDF
  • erstelle eine Datei mit jeweils 1000-Artikeln

usw. umsetzen.

Folgendes Cookbookopen in new window beschreibt die Funktionsweise beider Steps ausführlicher.

Beispiel

<#list spreadsheet@SearchMasterDatastore_1.getRows() as row> 

  <#assign xmlfilecontent>
    <?xml version="1.0" encoding="UTF-8"?>

      <product id="${row.get("identifier")!}">
        <name><![CDATA[${row.get("name")!}]]></name>
        <brandname><![CDATA[${row.get("brandname")!}]]></brandname>
        <description><![CDATA[${row.get("description")!}]]></description>
        <price>${row.get("price")!}</price>
      </product>

  </#assign>

  <#assign xmlfilename = "product"+row.get("identifier") + ".xml" />
  ${output(xmlfilecontent, xmlfilename, "UTF-8")}
  
</#list>

Dieses Beispiel erzeugt aus dem Spreadsheet eines SearchDatastore Steps eine .xml Datei pro Produkt.