Оборачивание каждого символа в тег — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: « category:Верстка в XSLT '''Актуально для xslt-шаблонизатора''' Часто бывает нужно обернуть кажду…»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
[[category:Верстка в XSLT]]
+
'''Статья предоставлена партнером UMI.CMS [https://www.umi-cms.ru/find_webdevs/shiriev_artur_venerovich/ Шириевым Артуром]'''
  
'''Актуально для xslt-шаблонизатора'''
+
'''Актуально для версии 18 и xslt-шаблонизатора.'''
  
Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например для анимации расличных счетчиков.
+
Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например, для анимации различных счетчиков.
  
 
Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT:
 
Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT:
Строка 19: Строка 19:
 
</source>
 
</source>
  
Тег span можно заменить на любой другой тег, который нужен.
+
Тег span можно заменить на любой другой нужный тег.
 +
 
 +
[[category:Верстка в XSLT]]

Текущая версия на 10:45, 13 июня 2018

Статья предоставлена партнером UMI.CMS Шириевым Артуром

Актуально для версии 18 и xslt-шаблонизатора.

Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например, для анимации различных счетчиков.

Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT:

<xsl:template name="wrap-each-character">
    <xsl:param name="string"/>
    <xsl:if test="string-length($string) &gt; 0">
        <span><xsl:value-of select="substring($string,1,1)"/></span>
        <xsl:call-template name="wrap-each-character">
            <xsl:with-param name="string" select="substring($string,2)"/>
        </xsl:call-template>
    </xsl:if>
</xsl:template>

Тег span можно заменить на любой другой нужный тег.