XSL - Übersicht / xsl:function

xsl:function

xsl:function

In XSL 2.0 besteht auch die Möglichkeit, eigene Funktionen zu schreiben, denen Parameter übergeben können. Dabei können die Datentypen der übergebenen Parameter wie auch des Rückgabetyps klar definiert werden.

xsl:function

Um eine Funktion wie die folgende (Syntax etwa von C, C++, Java, C#.NET) in XSLT 2.0 abzubilden,


static int addiere (int a, int b)
{
  return a + b;
}

... genügt es, mit "xsl:function" zu arbeiten. Jedoch ist hier die Benennung eines Namespaces zwingend, ich habe hier mit "xmlns:wg='xsl20beispiele'" gearbeitet.

Obwohl nicht zwingend erforderlich, ist es vorteilhaft, die der übergebenen Parameter wie auch des Rückgabetyps klar zu definieren. Damit ist eine ebenso typsaubere Programmierung möglich, wie sie in C, C++, Java, C#.NET zwingend erforderlich ist.

pic/xsl_function.png

Die in XML Schema festgelegte Typdefinition erlaubt eine entsprechende Implementierung, die dem Developer die Kontrolle erlaubt, ob übergebene Parameter, deklarierte Variable und Funktionsrückgaben jenen Annahmen und Erwartungen entsprechen, auf denen die Implementierung beruht.


  <xsl:function name="wg:addiere" as="xs:integer">
    <xsl:param name="a" as="xs:integer"/>
    <xsl:param name="b" as="xs:integer"/>
    <xsl:sequence select="$a + $b"/>
  </xsl:function>

Der Aufruf ist dann ebenso einfach ...


    <erg>
      <xsl:value-of select="wg:addiere(4,5)"/>
    </erg>

... wie das Ergebnis:


    <erg>9</erg>

Siehe auch .

wg / 14. Januar 2018



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse





xsl:if



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info2018@wilfried-grupe.de

www.wilfried-grupe.de/XSL_function.html