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>