XSLT current()-funktio

Määrittely ja käyttö

current()-funktio palauttaa solmusarjan, joka sisältää vain nykyisen solmun. Yleensä nykyinen solmu ja kontekstisolmu ovat samat.

<xsl:value-of select="current()"/>

on yhtä kuin

<xsl:value-of select="."/>

Mutta on muutama ero. Tarkastellaan seuraavaa XPath-lauseketta: "catalog/cd". Lauseke valitsee nykyisen solmun <catalog>-alasolmun ja sitten valitsee <catalog>-solmun <cd>-alasolmun. Tämä tarkoittaa, että "."-merkkiellä on eri merkitys jokaisessa laskennan vaiheessa.

Alla oleva rivi:

<xsl:apply-templates select="//cd[@title=current()/@ref]"/>

Käsittelee kaikkia cd-elementtejä, joiden title-ominaisuuden arvo on sama kuin nykyisen solmun ref-ominaisuuden arvo.

Eri tapauksessa:

<xsl:apply-templates select="//cd[@title=./@ref]"/>

Tämä käsittelee kaikkia cd-elementtejä, joilla title- ja ref-ominaisuudet ovat samat.

syntaksi

node-set current()

esimerkki

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="catalog/cd/artist">
    Nykyinen solmu: <xsl:value-of select="current()"/>
    <br />
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

查看 XML 文件查看 XSL 文件查看结果