select element starting with K : starts with « XSLT stylesheet « XML Tutorial






File: Data.xml

<?xml version="1.0" encoding="US-ASCII"?>

<state name="New York">
 <county>Abc</county>
 <county>Kent</county>
 <county>Newport</county>
 <county>World</county>
 <county>Washington</county>
</state>


File: Transform.xslt

<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />

  <xsl:template match="/">
    <county state="{state/@name}">
      <xsl:apply-templates select="state" />
    </county>
  </xsl:template>

  <xsl:template match="state">
    <xsl:apply-templates select="county" />
  </xsl:template>

  <xsl:template match="state">
    <xsl:apply-templates select="county[starts-with(.,'K')]" />
  </xsl:template>

  <xsl:template match="county">
    <name>
      <xsl:apply-templates />
    </name>
  </xsl:template>

</xsl:stylesheet>

Output:
<?xml version="1.0" encoding="UTF-8"?>
<county state="New York">
   <name>Kent</name>
</county>








5.27.starts with
5.27.1.starts-with() returns true if the first argument string starts with the second argument string
5.27.2.select element starting with K
5.27.3.starts-with function
5.27.4.for-each select=addressbook/address[starts-with(state, M)]