Andreas Hippauf: XML mit XSLT in Javascript Transformieren

Beitrag lesen

Aus O Reilly XSLT, Dt. Ausgabe:

[...]

Das ist alles korrekt, aber du kannst nicht für <template match="/"> ein mode schreiben (bzw. können schon, aber nützen wird dir das nichts), weil du dieses Template mit einer mode dann nicht aufrufen kannst. Denn dazu wäre ein apply-templates notwendig und du kannst nicht ein
<xsl:template match="/" mode="root">
<xsl:apply-templates select="/" mode="root" />
</xsl:template>
schreiben (wäre nämlich recursiv).

Du kannst höchstes sowas schreiben:
<xsl:template match="/">
xsl:choose
  <xsl:when test="$format = 'pdf'">
   <xsl:apply-templates select="wurzelelement" mode="pdf" />
  </xsl:when>
  xsl:otherwise
   <xsl:apply-templates select="wurzelelement" mode="html" />
  </xsl:otherwise>
</xsl:choose>
</xsl:template>

Grüße
Thomas

Nochmal: es geht NICHT um den Aufruf von Innerhalb des XSLT, sondern von aussen, den Mode bekommt der Parser schon voreingestellt.