# HG changeset patch # User František Kučera <franta-hg@frantovo.cz> # Date 1318591954 -7200 # Node ID 969f001a0f5fbc6506ea3cef7568fecfd41cac30 # Parent 623025c704c579864531ce842c2b4368c6db917b Drupal: XSLT odstavce – textové vs. netextové uzly. diff -r 623025c704c5 -r 969f001a0f5f helpers/mimeXhtmlPart.xsl --- a/helpers/mimeXhtmlPart.xsl Fri Oct 14 12:41:14 2011 +0200 +++ b/helpers/mimeXhtmlPart.xsl Fri Oct 14 13:32:34 2011 +0200 @@ -79,7 +79,9 @@ <xsl:if test="$title and $isRoot"> <h1><xsl:value-of select="$title"/></h1> </xsl:if> - <xsl:apply-templates select="h:html/h:body/node()"/> + <xsl:call-template name="zpracujTělo"> + <xsl:with-param name="prvek" select="h:html/h:body/node()[1]"/> + </xsl:call-template> <xsl:if test="$wwwRead or $wwwPost"> <div class="wwwLinks"> @@ -150,11 +152,43 @@ <!-- Z neuzavřeného (nevalidně se vyskytujícího v body) textu uděláme odstavce. --> - <xsl:template match="h:body/text()"> - <xsl:call-template name="dělejOdstavce"> - <xsl:with-param name="blokTextu" select="."/> - </xsl:call-template> + <xsl:template name="zpracujTělo"> + <xsl:param name="prvek"/> + <xsl:if test="$prvek"> + <li> + < + <xsl:choose> + <xsl:when test="$prvek/self::text()"> + <!-- + Textový uzel → budeme dělat odstavce + (rekurzivně se opět zavolá šablona zpracujTělo) + <xsl:call-template name="dělejOdstavce"> + <xsl:with-param name="blokTextu" select="."/> + </xsl:call-template> + --> + [T] + </xsl:when> + <xsl:otherwise> + <!-- + Jiný uzel → aplikujeme obecné šablony + a zpracujeme následující uzel. + <xsl:apply-templates select="."/> + --> + [N] + </xsl:otherwise> + </xsl:choose> + [<xsl:value-of select="$prvek/name()"/>] + [<xsl:value-of select="$prvek/text()"/>] + [<xsl:value-of select="$prvek/self::text()"/>] + > + </li> + <xsl:call-template name="zpracujTělo"> + <xsl:with-param name="prvek" select="$prvek/following-sibling::node()[1]"/> + </xsl:call-template> + + </xsl:if> </xsl:template> + <xsl:template name="dělejOdstavce"> <xsl:param name="blokTextu"/> <xsl:variable name="oddělovač" select="'\n\s+\n\s+'"/>