XSLT <xsl:apply-templates> -elementti

Määrittely ja käyttö

<xsl:apply-templates>-elementti voi soveltaa malleja nykyiseen elementtiin tai nykyisen elementin lapsisoluun.

Jos lisäämme select-ominaisuuden <xsl:apply-templates>-elementtiin, se käsittelee vain arvoa vastaavia alisoluja. Voimme käyttää select-ominaisuutta määrittääksemme alisolujen käsittelyjärjestyksen.

Syntaksi

<xsl:apply-templates select="expression" mode="name">
  <!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>

Atribuutti

Atribuutti Arvo Kuvaus
select Ilmaisu Valinnainen. Määrittää käsiteltävän solmun. Tähystä valitsee koko solmujoukon. Jos tätä attribuuttia ei mainita, valitaan nykyisen solmun kaikki lapsisolmut.
mode Nimi Valinnainen. Jos samalle elementille on määritetty useita käsittelymenetelmiä, niitä voidaan erottaa mode-avaimella.

Esimerkki

Esimerkki 1

Käytä h1-elementtiä ympäröimään dokumentin jokainen title-elementti:

<?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="title">
  <h1><xsl:apply-templates/></h1>
</xsl:template>
</xsl:stylesheet>

Esimerkki 2

Ympäröi h1-elementillä kaikki message-elementin alisijainnit, joilla on title-elementti:

<?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="message">
  <h1><xsl:apply-templates select="title"/></h1>
</xsl:template>
</xsl:stylesheet>

Esimerkki 3

Ympäröi mode-ominaisuudella "big" asetetut message kaikkien alisijainten h1-elementillä:

<?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="message">
  <h1><xsl:apply-templates select="*" mode="big"/></h1>
</xsl:template>
</xsl:stylesheet>