Sträng-funktioner

Gemensamt för de två första templates är
		<xsl:template match="person">
			<xsl:for-each select=".">
			Denna rad varierar i respektive stylesheet
				<xsl:value-of select="name/firstname" /> 
				<xsl:value-of select="name/lastname" />,  
				<xsl:value-of select="age" />
				<br />
				</xsl:if>
			</xsl:for-each>
		</xsl:template>
		

Sträng som börjar med sökord

starts-with(string,string)

<xsl:if test="starts-with(name/lastname,'L')">

Sträng som innehåller sökord

contains(string,string)

<xsl:if test="contains(name/lastname,'A')">

Ersätta tecken i en sträng

translate(string,söktecken,ersättmedtecken)
Detta exempel byter små tecken mot stora.
Kommentar: tecknen byts position för position. Man kan alltså av misstag göra ett krypto
	<xsl:template match="person">
		<xsl:value-of select="name/firstname" /> 
		<xsl:value-of select="translate(name/firstname,'abcdefghijklmnopqrstuvwxyzåäö',
		  'ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ')"/>
		<br/>
	</xsl:template>
	

Plocka ut delsträng

substring-before(string,string)
substring-after(string,string)
Dessa returnerar en sträng fram till respektive efter angivet tecken, exklusive detta tecken
	<xsl:template match="persons">
		<table><thead><th>Sträng</th><th>before</th><th>after</th></thead>
			<xsl:for-each select="person">
			<tr>
			<td><xsl:value-of select="name/firstname" /></td>
			<td><xsl:value-of select="substring-before(name/firstname,'a')"/></td>
			<td><xsl:value-of select="substring-after(name/firstname,'a')"/></td>
			</tr>
			</xsl:for-each>
		</table>
	</xsl:template>
	

Räkna antalet tecken i en sträng

string-length(string)
	<xsl:template match="persons">
		<xsl:for-each select="person"> 
			<xsl:value-of select="name/firstname" /> 
			<i>Antal tecken i förnamnet  </i>
			<xsl:value-of select="string-length(name/firstname)" /><br/>
		</xsl:for-each>
	</xsl:template>
	

Diverse namn metoder

Returnerar nodnamnet, i dessa fall blir det samma resultat eftersom inget namespace använts

	<xsl:template match="persons">
		Local-name = <xsl:value-of select="local-name(.)" /><br/>
		Name = <xsl:value-of select="name(.)" /><br/>
	</xsl:template>