starts-with() Function |
Determines if the first argument string begins with the second argument.
Inputs
Two strings.
Output
If the first string begins with the second, starts-with() returns the boolean value true; otherwise it returns false.
Defined in
XPath section 4.2, String Functions.
Example
We'll use this sample XML document:
    <?xml version="1.0"?>
    <list>
      <title>A few of my favorite albums</title>
      <listitem>A Love Supreme</listitem>
      <listitem>Beat Crazy</listitem>
      <listitem>Here Come the Warm Jets</listitem>
      <listitem>Kind of Blue</listitem>
      <listitem>London Calling</listitem>
      <listitem>Remain in Light</listitem>
      <listitem>The Joshua Tree</listitem>
      <listitem>The Indestructible Beat of Soweto</listitem>
    </list>
This stylesheet outputs contents of all <listitem> elements that begin with the string "The":
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

      <xsl:output method="text"/>

      <xsl:variable name="newline">
    <xsl:text>
    </xsl:text>
      </xsl:variable>

      <xsl:template match="/">
        <xsl:value-of select="$newline"/>
        <xsl:for-each select="list/listitem">
          <xsl:if test="starts-with(., 'The')">
            <xsl:value-of select="position()"/>
            <xsl:text>. </xsl:text>
            <xsl:value-of select="."/>
            <xsl:value-of select="$newline"/>
          </xsl:if>
        </xsl:for-each>
      </xsl:template>

    </xsl:stylesheet>
Our stylesheet generates this result:
    7. The Joshua Tree
    8. The Indestructible Beat of Soweto