What is recommended?

  • Prefer functional approach - eg. xsl:template match= and xsl:apply-templates select=

  • before procedural approach - xsl:template name= and xsl:call-template name=

Use the working modes ( xsl:template ... mode= and xsl:apply-templates ... mode= )

modes can be combined with functional approach:

  • xsl:apply-templates select=... mode=...

  • xsl:template match=... mode=...