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>