Match element by attribute value : match « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0"?>

<greet>
 <greeting xml:lang="en">Welcome</greeting>
 <greeting xml:lang="fr">Bienvenue</greeting>
 <greeting xml:lang="es">Bienvenido</greeting>
 <greeting xml:lang="de">Willkommen</greeting>
</greet>


File: Transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" />

  <xsl:template match="greet">
    <xsl:apply-templates select="greeting[lang('fr')]" />
  </xsl:template>

  <xsl:template match="greeting[lang('fr')]">
    <xsl:text>French: </xsl:text>
    <xsl:value-of select="." />
  </xsl:template>

</xsl:stylesheet>

Output:

French: Bienvenue








5.60.match
5.60.1.match sixth child
5.60.2.Match element by attribute value
5.60.3.match = "* | text()"
5.60.4.match with operator |
5.60.5.match=county[starts-with(.,K)] priority=2
5.60.6.mode = toc