<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/pool/xslt_ht.xslt" type="application/xml"?>
<xsl:stylesheet
  xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
  xmlns:ht = "http://www.w3.org/1999/xhtml"
  xmlns:xl = "http://www.w3.org/1999/xlink"
  xmlns:d = "http://herbaer.de/xmlns/20051201/doc"
  exclude-result-prefixes = "d ht"
  version = "1.0"
>
<d:info xmlns="http://herbaer.de/xmlns/20051201/doc">
  <title>desktop_montage.xslt</title>
  <subtitle>Bildmontagen zur Hilfe zur Desktop-Darstellung</subtitle>
  <date>2013-06-13</date>
  <author>
    <personname>
      <firstname>Herbert</firstname>
      <surname>Schiemann</surname>
    </personname>
    <email>h.schiemann@herbaer.de</email>
  </author>
</d:info>

<d:para xmlns="http://herbaer.de/xmlns/20051201/doc" role="stylesheet">
Diese Transformation liest die Hilfe zu Bildergeschichten mit den Verweisen auf Bilder
und gibt die Befehle aus,
die die nötige Vorschaubildmontagen erstellen.
</d:para>

<d:para>
Vorlagen zum Ersetzen von Text
</d:para>
<xsl:include href="/pool/txt.xslt"/>

<d:para>
Präfix des Pfades der Bilddateien
</d:para>
<xsl:param name="p_imgprf" select="'s2011w46/images/'"/>

<d:para>
Verzeichnis der Montagen der Vorschaubilder
</d:para>
<xsl:param name="p_montdir" select="'style/desktop_mont'"/>

<d:para>
Der Befehl zur Bild-Montage mit den Platzhaltern ${montdir}, ${sid} und ${images}
</d:para>
<xsl:param name="p_montage_cmd">
  <xsl:text>check_outfile ${montdir}/${sid}.jpg </xsl:text>
  <xsl:text>&amp;&amp; </xsl:text>
  <xsl:text>montage -tile 1 -geometry 96x96\&gt;+0+2 </xsl:text>
  <xsl:text>${images} ${montdir}/${sid}.jpg</xsl:text>
</xsl:param>

<d:para>
Vorlage für den relativen Pfad einer Bilddatei (Quelle)
mit den Platzhaltern ${imgprf} und ${imgid}
</d:para>
<xsl:param name="p_image_file" select="'${imgprf}${imgid}.jpg'"/>

<d:para>
Der Befehl zur Bild-Montage mit den Platzhaltern ${sid} und ${images}
nach Ersetzung des Platzhalters ${montdir}
</d:para>
<xsl:variable name="g_montage_cmd">
  <xsl:call-template name="txt.replacelist">
    <xsl:with-param name="txt" select="$p_montage_cmd"/>
    <xsl:with-param name="list">
      <xsl:text>${montdir},</xsl:text>
      <xsl:value-of select="$p_montdir"/>
    </xsl:with-param>
  </xsl:call-template>
</xsl:variable>

<xsl:output method="text" encoding="utf-8"/>

<xsl:template match="/">
  <xsl:apply-templates select="//ht:div[@id='sl_content']/ht:div" mode="section"/>
</xsl:template>

<d:para>
Die Vorschau-Bilder zu einem Abschnitt
</d:para>
<xsl:template match="ht:div" mode="section">
  <xsl:call-template name="txt.replacelist">
    <xsl:with-param name="txt" select="$g_montage_cmd"/>
    <xsl:with-param name="list">
      <xsl:text>${sid},</xsl:text>
      <xsl:value-of select="substring-after (@id, '_')"/>
      <xsl:text>,${images},</xsl:text>
      <xsl:apply-templates select="ht:div" mode="image"/>
    </xsl:with-param>
  </xsl:call-template>
  <xsl:text>;
</xsl:text>
</xsl:template>

<d:para>Vorschau-Bild</d:para>
<xsl:template match="ht:div" mode="image">
  <xsl:text> </xsl:text>
  <xsl:call-template name="txt.replacelist">
    <xsl:with-param name="txt" select="$p_image_file"/>
    <xsl:with-param
      name = "list"
      select = "
        concat (
        '${imgid},',
        substring-before (substring-after (substring-after (@id, '_'), '_'), '_'),
        ',${imgprf},',
        $p_imgprf
        )
      "
    />
  </xsl:call-template>
</xsl:template>

</xsl:stylesheet>
