English | Français | Deutsch | Magyar | 中文 | >> Polski << ZVON > Tutorials > XSLT Tutorial
>> Strona 51 << | Poprzedni | Następny | Zawartość | Indeks elementu

Funkcja string-length() zwraca liczbę znaków w łańcuchu. Funkcja normalize-space() zwraca swój argument po znormalizowaniu białych znaków, czyli - usunięciu wszystkich początkowych i końcowych białych znaków oraz przez zastąpienie każdej ich sekwencji wewnątrz jedną spacją.

Arkusz stylów XSLT 1

Źródło XML
<source>

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

</source>

Dane wyjściowe
<TABLE>
  <TR>
     <TH colspan="4">Normalized text</TH>
  </TR>
  <TR>
     <TD>Starting length:</TD>
     <TD>15</TD>
     <TD>Normalized length:</TD>
     <TD>15</TD>
  </TR>
  <TR>
     <TH colspan="4">Sequences   of      whitespace characters</TH>
  </TR>
  <TR>
     <TD>Starting length:</TD>
     <TD>41</TD>
     <TD>Normalized length:</TD>
     <TD>34</TD>
  </TR>
  <TR>
     <TH colspan="4">    Leading and trailing whitespace.    </TH>
  </TR>
  <TR>
     <TD>Starting length:</TD>
     <TD>40</TD>
     <TD>Normalized length:</TD>
     <TD>32</TD>
  </TR>
</TABLE>

Widok HTML
Normalized text
Starting length: 15 Normalized length: 15
Sequences of whitespace characters
Starting length: 41 Normalized length: 34
Leading and trailing whitespace.
Starting length: 40 Normalized length: 32
Arkusz stylów XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE>
          <xsl:for-each select="//text">
               <TR>
                    <TH colspan="4">
                         <xsl:value-of select="."/>
                    </TH>
               </TR>
               <TR>
                    <TD>Starting length:</TD>
                    <TD>
                         <xsl:value-of select="string-length(.)"/>
                    </TD>
                    <TD>Normalized length:</TD>
                    <TD>
                         <xsl:value-of select="string-length(normalize-space(.))"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>