Главная -> XML&... -> XSLT в примерах 
>> Страница 49 << | Назад | Вперед | Содержание | Указатель

Функция starts-with() принимает на вход два строковых аргумента и возвращает "истину", если первая строка начинается второй, и "ложь" в противном случае. Функция contains() также принимает на вход два строковых аргумента и возвращает "истину", если первая строка содержит вторую, и "ложь" в противном случае.

Преобразование 1

Исходный XML
<source>

<text>Welcome to XSL world.</text>
<string>Welcome</string>
<string>XSL</string>
<string>XML</string>

</source>

Результат
<TABLE border="1">
  <TR>
     <TH colspan="3">Welcome to XSL world.</TH>
  </TR>
  <TR>
     <TH>string</TH>
     <TH>starts-with</TH>
     <TH>contains</TH>
  </TR>
  <TR>
     <TD>Welcome</TD>
     <TD>true</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>XSL</TD>
     <TD>false</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>XML</TD>
     <TD>false</TD>
     <TD>false</TD>
  </TR>
</TABLE>

Представление HTML
Welcome to XSL world.
string starts-with contains
Welcome true true
XSL false true
XML false false
Преобразование XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH colspan="3">
                    <xsl:value-of select="//text"/>
               </TH>
          </TR>
          <TR>
               <TH>string</TH>
               <TH>starts-with</TH>
               <TH>contains</TH>
          </TR>
          <xsl:for-each select="//string">
               <TR>
                    <TD>
                         <xsl:value-of select="."/>
                    </TD>
                    <TD>
                         <xsl:value-of select="starts-with(//text,.)"/>
                    </TD>
                    <TD>
                         <xsl:value-of select="contains(//text,.)"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>

Raleigh.ru Copyright © 2002