Drupal: text/plain – sjednocení šablony pro ul a ol a odstranění nadbytečných prázdných řádků u vnořených seznamů
authorFrantišek Kučera <franta-hg@frantovo.cz>
Tue, 18 Oct 2011 20:54:14 +0200
changeset 96a0a93e49d055
parent 95 62b9b2533902
child 97 7520a9246ff5
Drupal: text/plain – sjednocení šablony pro ul a ol a odstranění nadbytečných prázdných řádků u vnořených seznamů
helpers/mimeTextPart.xsl
     1.1 --- a/helpers/mimeTextPart.xsl	Tue Oct 18 19:45:13 2011 +0200
     1.2 +++ b/helpers/mimeTextPart.xsl	Tue Oct 18 20:54:14 2011 +0200
     1.3 @@ -178,23 +178,13 @@
     1.4  	</xsl:template>
     1.5  	
     1.6  	
     1.7 -	<xsl:template match="h:ul">
     1.8 -		<xsl:apply-templates/>
     1.9 -		<xsl:text>&#10;</xsl:text>
    1.10 -	</xsl:template>
    1.11 -	
    1.12 -	
    1.13 -	<xsl:template match="h:ul/h:li">
    1.14 -		<xsl:text> - </xsl:text>
    1.15 -		<xsl:apply-templates/>
    1.16 -		<xsl:text>&#10;</xsl:text>
    1.17 -	</xsl:template>
    1.18 -	
    1.19 -	
    1.20 -	<xsl:template match="h:ol">
    1.21 +	<xsl:template match="h:ol|h:ul">
    1.22  		<xsl:variable name="úroveň" select="count(ancestor::h:li)"/>
    1.23  		<xsl:variable name="odsazení">
    1.24 -			<xsl:for-each select="1 to $úroveň+1">
    1.25 +			<!-- položky na nejvyšší úrovni odsazené jednou mezerou -->
    1.26 +			<xsl:value-of select="' '"/>
    1.27 +			<xsl:for-each select="2 to $úroveň+1">
    1.28 +				<!-- položky na druhé a vyšší úrovni odsazené vždy dvěma dalšími mezerami -->
    1.29  				<xsl:value-of select="'  '"/>
    1.30  			</xsl:for-each>
    1.31  		</xsl:variable>
    1.32 @@ -204,11 +194,17 @@
    1.33  		</xsl:if>
    1.34  		
    1.35  		<xsl:for-each select="h:li">
    1.36 -			<xsl:value-of select="concat($odsazení, position(), ') ')"/>
    1.37 +			<xsl:if test="parent::h:ol"><xsl:value-of select="concat($odsazení, position(), ') ')"/></xsl:if>
    1.38 +			<xsl:if test="parent::h:ul"><xsl:value-of select="concat($odsazení, '- ')"/></xsl:if>
    1.39  			<xsl:apply-templates/>
    1.40 +			<xsl:if test="$úroveň = 0 or not(position() = last())">
    1.41 +				<xsl:text>&#10;</xsl:text>
    1.42 +			</xsl:if>
    1.43 +		</xsl:for-each>		
    1.44 +		
    1.45 +		<xsl:if test="$úroveň = 0">
    1.46  			<xsl:text>&#10;</xsl:text>
    1.47 -		</xsl:for-each>		
    1.48 -		<xsl:text>&#10;</xsl:text>
    1.49 +		</xsl:if>
    1.50  	</xsl:template>
    1.51  	
    1.52