parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

egr 01.11.2004 21:05

йэх молодежь - последняя цифра определяется делением по модулю 10, две последние - делением по модулю на 100, вот как я это делал в XSLT:
	<!-- Надпись о сущностях прокручиваемых скроллером -->
	<xsl:template name="items_phrase">
		<xsl:variable name="last_digit">
			<xsl:value-of select="$set_size mod 10"/>
		</xsl:variable>
		<xsl:variable name="last_two_digits">
			<xsl:value-of select="$set_size mod 100"/>
		</xsl:variable>
		<xsl:choose>
			<xsl:when test="$last_digit = 1 and $last_two_digits != 11">
				<xsl:value-of select="$nominative"/>
			</xsl:when>
			<xsl:when
				test="
					$last_digit = 2 and $last_two_digits != 12
					or
					$last_digit = 3 and $last_two_digits != 13
					or
					$last_digit = 4 and $last_two_digits != 14
					"
			>
				<xsl:value-of select="$genitive_singular"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$genitive_plural"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
Думаю идея понятна