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>