starts-with Function
Returns true if the first argument string starts with the second argument string; otherwise returns false.
boolean starts-with(string, string)
Remarks
If an argument is not of type string, it is first converted to a string using the string() function and then the result of that conversion is evaluated.
Caution |
---|
String conversions for node sets that are passed as arguments to this function may yield unexpected results. For more information, see string Function. |
This function is case-sensitive.
Example
The following example illustrates how to use the starts-with()
function to query a collection of books whose title begins with a capital letter "W".
XML FILE (starts-with.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"
href="contains.xsl"?>
<bookstore>
<book>
<title>The Weather Pattern</title>
<author>Weather Man</author>
<price>100.00</price>
</book>
<book>
<title>Weaving Patterns</title>
<author>Weaver</author>
<price>150.00</price>
</book>
<book>
<title>Speech Pattern</title>
<author>Speaker</author>
<price>15.00</price>
</book>
<book>
<title>Writing Style</title>
<author>Writer</author>
<price>1500.00</price>
</book>
</bookstore>
XSLT FILE (starts-with.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
omit-xml-declaration="yes"/>
<xsl:template match="/">
<html>
<head><title>example</title></head>
<body>
<xsl:apply-templates select="//book"/>
</body>
</html>
</xsl:template>
<xsl:template match="book">
<xsl:if test="starts-with(title, 'W')">
<DIV>
<B><xsl:value-of select="title"/></B> by
<I><xsl:value-of select="author"/></I> costs
<xsl:value-of select="price"/>.
</DIV>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Output
This XSLT style sheet, when applied to the XML file (starts-with.xml) produces the following output:
Weaving Patterns by Weaver costs 150.00.
Writing Style by Writer costs 1500.00.