Grundgerüst Transformation

Nachfolgend finden Sie ein Beispiel für ein Basistemplate mit den folgenden Merkmalen:

  • Unterscheidung zwischen Aufruf aus HQPrint.net (cardo.Button-Plugin) oder Ausführung von Button-Plänen aus der cardo.Button-App
  • Aufruf aus HQPrint.net: Erzeugung eines HTML-Fragmentes
  • Aufruf aus Button-App: Erzeugung eines HTML-Dokumentes für die Anzeige im Browser (incl. Zeichenkodierung für korrekte Anzeige der Sonderzeichen)
<xsl:template match="/">
  <xsl:choose>
    <!--Ob aus HQPrint.net gestartet, kann über Variable 'StartedFromHQPrint' geprüft werden-->
    <xsl:when test="/ButtonRow/btn:ButtonOptions/ButtonEnv/Variables/Var[@name = 'StartedFromHQPrint'] = true()">
        
      <!--HIER WIRD EIN HTML-FRAGMENT für eine DRUCKVORLAGE ERZEUGT-->
        
      <!--temp. Dateien sollen nicht (sofort) bereinigt werden, da erst im HQPrint.net das HTML-Fragment zu PDF umgewandelt wird-->
      <xsl:variable name="dummy1" select="iduCore:CleanupTempFilesInDispose(false())" />
      <!--trotz Zielformat Html sollen Bilder in einer für PDF geeigneten Weise eingebunden werden-->  
      <xsl:variable name="dummy2" select="iduCore:SetForcePdfCompatibleURIs()" />
        
      <xsl:call-template name="RenderContent" />
    </xsl:when>
    <xsl:otherwise>
        
      <!--HIER WIRD EIN KOMPLETTES HTML-DOKUMENT FÜR DIE ANZEIGE IM BROWSER ERZEUGT-->
          
      <html>
        <head>
          <!--damit Sonderzeichen korrekt ausgegeben werden-->
          <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
          <title>Beispiel Symposium</title>
        </head>
        <body>
          <xsl:call-template name="RenderContent" />
        </body>
      </html>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

 Das Template für die Anzeige des Inhaltes erzeugt ein DIV-Element:

<xsl:template name="RenderContent">
  <div style="margin:0;padding:0;">
    <h2>Inhalt</h2>
    ...

  </div>
</xsl:template>