[1] Darstellung der Filter-Definition: der Prozess besteht nur aus mit einem einzigen XSL-Transformation-Schritt; das Ergebnisformat wird als "Text" deklariert.

[2] Filterdefinition im Detail: der Filter wird hier den Datentabellen-Objekten für Literatur, Glossar und Fussnoten zugeordnet. Die Berechtigung für den Export erhält der ZMS-Administrator.

Für die Transformation wird ein ZMS-Filter angelegt, der aus einem einzigen Prozessschritt besteht: per XSL wird der von ZMS generierte XML- in einen CSV-Strom konvertiert. Der entsprechende XSL-Code prozessiert die Liste von Dictionary-Elemente gemäß folgender Anweisung und schreibt die durch einen vertikalen Strich getrennten Werte zeilenweise aus (Download):

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">
  <xsl:output method="text"/>
  <xsl:template match="//list">
    <xsl:for-each select="item">
      <xsl:apply-templates select="dictionary"/>
      <xsl:text>
</xsl:text>
    </xsl:for-each>
  </xsl:template>
  <xsl:template match="dictionary">
    <xsl:for-each select="item">
      <xsl:value-of select="text()"/>
      <xsl:if test="position() &lt; last()">
        <xsl:text>|</xsl:text>
      </xsl:if>
    </xsl:for-each>
  </xsl:template>
  <!-- suppress unneeded textual content -->
  <xsl:template match="text()"/>
</xsl:stylesheet>

[3] Als server-seitiger batch-Prozess ist lediglich ein allgmeiner Aufruf des XSL-Transformers (hier xsltproc) erforderlich; diesem Prozess wird bei der Filter-Definition die XSL-Datei (code siehe oben) übergeben.

[4] Anwendung des Filters auf einem Content-Knoten am Beispiel einer Literatur-Datentabelle

[5] Der Ausgabestrom wird direkt an den Browser übergeben. (Alternativ liesse sich serverseitig mit einem weiteren Batch-Schritt eine Zip-Datei erzeugen und zurückgeben.)

Erstellt von: Diez B. Roggisch, Artnology; Dr. F. Hoffmann, SNTL Publishing , erstellt am:  27.06.2008 , zuletzt geändert: 22.09.2010