string-length()

string-length()

Как можно предположить, функция string-length возвращает длину (length) переданной ей строки. Функция применяется таким образом:

number string-length(string?)

В следующем примере я определяю длину названия каждой планеты при помощи string-length:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="/PLANETS">

  <HTML>

   <HEAD>

    <TITLE>

     Length of Planet Names

    </TITLE>

   </HEAD>

   <BODY>

    <H1>

     Length of Planet Names

    </H1>

    <xsl:apply-templates/>

   </BODY>

  </HTML>

 </xsl:template>

 <xsl:template match="PLANET">

  <xsl:value-of select="NAME"/> is

  <xsl:value-of select-"string-length(NAME)"/>

  characters long.

  <BR/>

 </xsl:template>

 <xsl:template match="*">

 </xsl:template>

</xsl:stylesheet>

А вот результат:

<HTML>

 <HEAD>

  <TITLE>

   Length of Planet Names

  </TITLE>

 </HEAD>

 <BODY>

  <H1>

   Length of Planet Names

  </H1>

  Mercury is 7 characters long.

  <BR>

  Venus is 5 characters long.

  <BR>

  Earth is 5 characters long.

  <BR>

 </BODY>

</HTML>

Этот результирующий документ показан на рис. 8.2.

Рис. 8.2. Определение длины строк в XSLT