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

Arkusz stylów XSLT 1 sortuje tekst, a Arkusz stylów XSLT 2 sortuje według wartości numerycznej. Należy zauważyć istotną różnicę: znak '2' jest w alfabetycznym porządku za znakiem '1', tak więc "2" występuje za "10" przy sortowaniu tekstowym.

Arkusz stylów XSLT 1

Źródło XML
<source>

<car id="11"/>
<car id="6"/>
<car id="105"/>
<car id="28"/>
<car id="9"/>

</source>

Dane wyjściowe
<TABLE>
  <TR>
     <TH>Car-105</TH>
  </TR>
  <TR>
     <TH>Car-11</TH>
  </TR>
  <TR>
     <TH>Car-28</TH>
  </TR>
  <TR>
     <TH>Car-6</TH>
  </TR>
  <TR>
     <TH>Car-9</TH>
  </TR>
</TABLE>

Widok HTML
Car-105
Car-11
Car-28
Car-6
Car-9
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="//car">
               <xsl:sort data-type="text" select="@id"/>
               <TR>
                    <TH>
                         <xsl:text>Car-</xsl:text>
                         <xsl:value-of select="@id"/>
                    </TH>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


Arkusz stylów XSLT 2

Źródło XML
<source>

<car id="11"/>
<car id="6"/>
<car id="105"/>
<car id="28"/>
<car id="9"/>

</source>

Dane wyjściowe
<TABLE>
  <TR>
     <TH>Car-6</TH>
  </TR>
  <TR>
     <TH>Car-9</TH>
  </TR>
  <TR>
     <TH>Car-11</TH>
  </TR>
  <TR>
     <TH>Car-28</TH>
  </TR>
  <TR>
     <TH>Car-105</TH>
  </TR>
</TABLE>

Widok HTML
Car-6
Car-9
Car-11
Car-28
Car-105
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="//car">
               <xsl:sort data-type="number" select="@id"/>
               <TR>
                    <TH>
                         <xsl:text>Car-</xsl:text>
                         <xsl:value-of select="@id"/>
                    </TH>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>