# 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>
+				&lt;
+				<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()"/>]
+				&gt;
+			</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+'"/>