Mode:

Compact lists

Showing:

Parameters
Used by
References
Included modules
Included from
Source
Stylesheet common.xsl
Included modules
Included from
Stylesheet version 2.0
Template processMyBooks
Namespace No namespace
Used by
Template
References
Parameters
QName Namespace
generateIndex No namespace
groupByTechnology No namespace
Import precedence 0
Source
<xsl:template name="processMyBooks">
  <xsl:param name="generateIndex"/>
  <xsl:param name="groupByTechnology"/>
  <xsl:if test="$generateIndex">
    <xsl:copy-of select="func:generateIndex(book)"/>
  </xsl:if>
  <xsl:choose>
    <xsl:when test="$groupByTechnology">
      <!-- Generates a table for each group of books that have the same technology.-->
      <xsl:for-each-group select="book" group-by="@technology">
        <xsl:call-template name="generateCategoryTitle">
          <xsl:with-param name="category" select="@technology"/>
        </xsl:call-template>
        <xsl:variable name="books" select="current-group()"/>
        <!-- A table is create for each group. -->
        <xsl:call-template name="generateTable">
          <xsl:with-param name="books" select="$books"/>
        </xsl:call-template>
      </xsl:for-each-group>
    </xsl:when>
    <xsl:otherwise>
      <!-- Generates a table with books, in the order they are in the input XML document. -->
      <xsl:call-template name="generateTable">
        <xsl:with-param name="books" select="book"/>
      </xsl:call-template>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>