Home
Über mich
Veröffentlichungen

XML XML-Schema XPath XSL-T XSL-FO XQuery XProc SVG

XSL-T / Die XSLT - Struktur / xsl:function

xsl:function

xsl:function

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

Siehe

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 Datentypen der übergebenen Parameter wie auch den Rückgabetyp 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 Variablen 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 Anonyme Funktionen.

wg / 10. August 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






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: info10@wilfried-grupe.de

www.wilfried-grupe.de/XSL_function.html