+ <xsl:choose>
+ <xsl:when test="@typ = 'uporzadkuj'">
+ <div class="exercise.order">
+ <xsl:apply-templates select="opis/*" mode="rozdzial"/>
+ <div class="list.orderable">
+ <xsl:apply-templates select="lista/punkt" mode="lista"/>
+ </div>
+ </div>
+ </xsl:when>
+ <xsl:when test="@typ = 'prawdafalsz'">
+ <div class="exercise.choice.true-or-false">
+ <xsl:apply-templates mode="rozdzial"/>
+ </div>
+ </xsl:when>
+ <xsl:when test="@typ = 'luki'">
+ <div class="exercise.gap">
+ <xsl:apply-templates mode="rozdzial"/>
+ </div>
+ </xsl:when>
+ <xsl:when test="@typ = 'zastap'">
+ <div class="exercise.replace">
+ <xsl:apply-templates mode="rozdzial"/>
+ </div>
+ </xsl:when>
+ <xsl:when test="@typ = 'przyporzadkuj'">
+ <div class="exercise.match">
+ <xsl:apply-templates mode="rozdzial"/>
+ </div>
+ </xsl:when>
+ <xsl:when test="@typ = 'wybor'">
+ <div>
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when
+ test="count(.//pytanie) = count(.//punkt[@rozw='prawda']) or (count(.//pytanie) = 0 and count(.//punkt[@rozw='prawda']) = 1)">exercise.choice.single</xsl:when>
+ <xsl:otherwise>exercise.choice</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <xsl:apply-templates mode="rozdzial"/>
+ </div>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="luka" mode="tekst">
+ <aside class="gap"><xsl:apply-templates mode="tekst"/></aside>
+ </xsl:template>
+
+ <xsl:template match="zastap" mode="tekst">
+ <span class="answer" answer="{@rozw}"><xsl:apply-templates mode="tekst"/></span>
+ </xsl:template>
+
+ <xsl:template match="pytanie" mode="rozdzial">
+ <div class="question">
+ <xsl:apply-templates mode="rozdzial"/>
+ </div>
+ </xsl:template>