substring-before

Syntax

substring-before(value, substring) -> string


Argumente
Bezeichnung Datentyp Bedeutung
value string String; falls es sich bei dem Wert nicht um einen String handelt, wird dieser zunächst nach den Regeln der string( ) Funktion umgewandelt
substring string Teilstring; falls es sich bei dem Wert nicht um einen String handelt, wird dieser zunächst nach den Regeln der string( ) Funktion umgewandelt

substring-before( )

prüft, ob der Teilstring im String enthalten ist. Trifft dies zu, gibt die Funktion den Teilstring zurück, der vor seiner Position im String erscheint. Andernfalls wird ein leerer String zurückgegeben. Er ist auch dann leer, wenn vor dem Teilstring kein weiteres Zeichen existiert, gleiches gilt, wenn der String bzw. der Teilstring leer sind.


Definition

XPath Kapitel 4.2


Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
<xsl:output method="html"/>

<xsl:template match="/">
     <HTML>
          <HEAD>
               <TITLE>Funktion: substring-before() / Beispiel 01</TITLE>
          </HEAD>
          <BODY>
               <xsl:apply-templates select="shop"/>
          </BODY>
     </HTML>
</xsl:template>

<xsl:template match="shop">
     <TABLE BORDER="1">
          <TR>
               <TH WIDTH="150">Abteilung:</TH>
               <TH WIDTH="100">Artikel:</TH>
               <TH WIDTH="100">Preis:</TH>
          </TR>
          <xsl:apply-templates select="order/product"/>
     </TABLE>
     <A HREF="mailto:{customer/e-mail}">E-Mail</A>
     <BR/>
     <xsl:text>Benutzername: </xsl:text>
     <xsl:value-of select="substring-before(customer/e-mail, '@')"/>
</xsl:template>

<xsl:template match="product">
     <TR>
          <TD><xsl:value-of select="@department"/></TD>
          <TD><xsl:value-of select="name"/></TD>
          <TD ALIGN="RIGHT">
               <xsl:value-of select="price"/>
               <xsl:text> </xsl:text>
               <xsl:value-of select="currency"/>
          </TD>
     </TR>
</xsl:template>

</xsl:stylesheet>


© 2001 by Timo Schäfer