http://onionworks.net/2004/renderengine/web

response (expires : int, [filename : string], [dispositionType : string]) : void

Die Methode response ermöglicht es Binärdaten zusenden.

Das erste Beispiel zeigt, wie Daten aus Elementen gesendet werden können.

<xsl:stylesheet xmlns:web="http://onionworks.net/2004/renderengine/web" xmlns:b="http://onionworks.net/2004/renderengine/binary" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:onion="http://onionworks.net/2004/data" version="1.0">
<xsl:template match="/">
<xsl:value-of select="b:write(image)" />
<b:output mimeType="{image/@onion:mimeType}">
<web:response expires="60" />
</b:output>
</xsl:template>
</xsl:stylesheet>
Grafik aus Onion-Ressource senden

In dem Beispiel wird im ersten Schritt werden die XML-Daten für dei Grafik gesendet und anschließend über b:output die Binärdaten gesendet. Der MimeType wird hier aus dem Element selber bestimmt.

Daten können aber auch aus dem Dateisystem gesendet werden. Wie das funktioniert zeigt das zweite Beispiel.

<xsl:stylesheet xmlns:web="http://onionworks.net/2004/renderengine/web" xmlns:b="http://onionworks.net/2004/renderengine/binary" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:onion="http://onionworks.net/2004/data" version="1.0">
<xsl:template match="/">
<xsl:value-of select="b.writeText('')" />
<b:output mimeType="text/plain">
<web:response expires="0" dispositionType="attachment" filename="datei.txt" />
</b:output>
</xsl:template>
</xsl:stylesheet>
Datei aus Dateisystem senden

In dem zweiten Bespiel wird eine Datei aus dem Dateisystem gesendet.

Im ersten Schritt muss ein XML-Strom gesendet werden, damit das Senden der Datei funktioniert.

Der Parameter dispositionType sollte angegeben werden. Als Standardwert ist inline definiert. Browser können mit diesem Wert jedoch Probleme bekommen.
Ein weiterer Wert wäre attachment um dem Benutzer die Option "Anzeigen" oder "Speichern" zur Verfügung zu stellen.