XSLT <xsl:apply-templates>-elementti

Määritelmä ja käyttö

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

Jos lisäämme select-ominaisuuden <xsl:apply-templates>-elementtiin, se käsittelee vain niitä alisivuja, jotka vastaavat ominaisuuden arvoa. Voimme käyttää select-ominaisuutta määrittääksemme alisivujen käsittelyjärjestyksen.

Syntaksi

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

Ominaisuus

Ominaisuus Arvo Kuvaus
select Ilmaisu Valinnainen. Määrittää käsiteltävän solmun. Tähystä valitsee koko solmun joukon. Jos ominaisuutta ei mainita, valitaan nykyisen solmun kaikki alisivut.
mode Nimi Valinnainen. Jos useita käsittelymenetelmiä on määritetty samalle elementille, mode-ominaisuus voi erottaa ne toisistaan.

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

Käytä h1-elementtiä ympäröimään dokumentin kaikki kuuluvat message-elementtien title-elementit:

<?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

Käytä h1-elementtiä ympäröimään dokumentin kaikkia mode-ominaisuudella "big" varustettujen message-elementtien kaikki alisivut:

<?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>