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

Funkcja current() zwraca zbiór węzłów zawierający bieżący węzeł jako jego jedyny element. Dla najbardziej zewnętrznego wyrażenia (wyrażenia nie występującego wewnątrz innego wyrażenia), węzeł bieżący to zawsze węzeł kontekstu. Pomiędzy nawiasami kwadratowymi węzeł bieżący jest zazwyczaj różny od węzła kontekstu.

Arkusz stylów XSLT 1

Źródło XML
<source>

<AAA name="first">
     <BBB name="first">11111</BBB>
     <BBB name="second">22222</BBB>
</AAA>
<AAA name="second">
     <BBB name="first">33333</BBB>
     <BBB name="second">44444</BBB>
</AAA>

</source>

Dane wyjściowe
<TABLE border="1">
  <TR>
     <TH> . </TH>
     <TH>current()</TH>
  </TR>
  <TR>
     <TD>first</TD>
     <TD>first</TD>
  </TR>
  <TR>
     <TD>11111</TD>
     <TD>1111122222</TD>
  </TR>
  <TR>
     <TD>second</TD>
     <TD>second</TD>
  </TR>
  <TR>
     <TD>33333</TD>
     <TD/>
  </TR>
</TABLE>

Widok HTML
. current()
first first
11111 1111122222
second second
33333
Arkusz stylów XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH> . </TH>
               <TH>current()</TH>
          </TR>
          <xsl:apply-templates select="//AAA"/>
     </TABLE>
</xsl:template>

<xsl:template match="AAA">
     <TR>
          <TD>
               <xsl:value-of select="./@name"/>
          </TD>
          <TD>
               <xsl:value-of select="current()/@name"/>
          </TD>
     </TR>
     <TR>
          <TD>
               <xsl:apply-templates select="BBB[./@name='first']"/>
          </TD>
          <TD>
               <xsl:apply-templates select="BBB[current()/@name='first']"/>
          </TD>
     </TR>
</xsl:template>


</xsl:stylesheet>