XML Tutorial/XSLT stylesheet/string length

Материал из Web эксперт
Версия от 11:26, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

string-length() returns the number of characters in the string

   <source lang="xml">

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <Paragraph>

 <text>Normalized text</text>
 <text>Sequences   of      whitespace characters</text>
 <text>    Leading and trailing whitespace.    </text>

</Paragraph> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet

     version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="/">
<xsl:for-each select="//text"> </xsl:for-each>
             <xsl:value-of select="."/>
Starting length:
             <xsl:value-of select="string-length(.)"/>
Normalized length:
             <xsl:value-of select="string-length(normalize-space(.))"/>
   </xsl:template>

</xsl:stylesheet> Output:

<?xml version="1.0" encoding="UTF-8"?>
Normalized text
Starting length:15Normalized length:15
Sequences of whitespace characters
Starting length:41Normalized length:34
Leading and trailing whitespace.
Starting length:40Normalized length:32
</source>


Use string-length function in math calculation

   <source lang="xml">

File: Data.xml <?xml version="1.0"?> <numbers>

 <x>4</x>
 <y>3.2</y>
 <z>11</z>

</numbers>

File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes" />
 <xsl:template match="numbers">
   3.2 + string-length("3.2") =
   <xsl:value-of select="y + string-length(y)" />
 </xsl:template>

</xsl:stylesheet> Output:

   3.2 + string-length("3.2") =
   6.2</source>