all in all front-end back-end linux web-services

Обёртка каждого символа в тег на XSLT / wrap each character XSLT

На одном проекте, использующем XSLT-шаблонизатор понадобилось каждую цифру числа обернуть в тег span.

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

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

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

03.12.2015

Комментарии

Бэкенд-разработка

«Невидимая магия»