I have a template:
<xsl:template match="paragraph">
...
</xsl:template>
I call it:
<xsl:apply-templates select="paragraph"/>
For the first element I need to do:
<xsl:template match="paragraph[1]">
...
<xsl:apply-templates select="."/><!-- I understand that this does not work -->
...
</xsl:template>
How to call <xsl:apply-templates select="paragraph"/>
(for the first element paragraph
) from the template <xsl:template match="paragraph[1]">
?
So far that I have something like a loop.
I solve this problem so (but I do not like it):
<xsl:for-each select="paragraph">
<xsl:choose>
<xsl:when test="position() = 1">
...
<xsl:apply-templates select="."/>
...
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>