http://onion.net/2010/compression/zip

addLiteral (filename : string, xlink : string, encoding : string) : void

Die Methode »addLiteral()« kann dazu verwendet werden, dem .zip eine Textdatei hinzuzufügen. Textdatei bedeutet dabei lediglich, dass es sich um eine Datei handelt, die mittels einer literalen Methode erzeugt wird im Gegensatz zu einer Binärdatei, die mit Hilfe einer binären Methode erzeugt wird.

Beispiele für Textdateien sind Dateien mit den Endungen .txt oder .csv. Aber auch HTML- oder CSS-Dateien können auf diese Weise erzeugt werden.

Parameter

Dem ersten Parameter »filename« wird der Name übergeben, umter dem die Datei später im .zip aufgeführt sein soll.

Dem Parameter »xlink« wird ein XLink auf die literale Methode übergeben, die die Datei erzeugt.

Dem Parameter »encoding« wird das Encoding der späteren Textdatei übergeben.

Beispiel

Folgendes Beispiel erzeugt einen leeren .zip-Binärstrom, fügt eine .csv-Datei hinzu, und erzeugt zuletzt die .zip-Datei.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:b="http://onionworks.net/2004/renderengine/binary" xmlns:zip="http://onion.net/2010/compression/zip" xmlns:onion="http://onionworks.net/2004/data" version="1.0">
<xsl:template match="/">
<xsl:variable name="zip" select="zip:create(0, 'off')" />
<xsl:variable name="addItem" select="zip:addLiteral('empfänger.csv', c.xlink('collectRecipients'), 'ISO-8859-15')" />
<xsl:value-of select="zip:finish()" />
<b:output mimeType="application/zip">
<b:webResponse dispositionType="attachment" filename="test.zip" />
</b:output>
</xsl:template>
</xsl:stylesheet>

Zu beachten ist dabei, dass die im XLink angegebene Methode höchstens den Zugriffsschutz »Geschützt (protected)« haben darf.