Home
Über mich
Veröffentlichungen

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

XPath / XPath-Funktionen / Zahlenfunktionen

Zahlenfunktionen

Zahlenfunktionen

➪ Dieser Abschnitt bietet eine Übersicht über Spezialfunktionen zur Auswertung von Zahlensequenzen: avg, count, max, min, number, sum. Zudem stehen mathematische Standardfunktionen bereit: acos, asin, atan, cos, log, log10, number, pi, pow, sin, sqrt, tan.

Auf dieser Seite:

In XSLT/XPath stehen mehrere Spezialfunktionen zur Auswertung von Zahlensequenzen zur Verfügung. Für einige Funktionen muss der Namespace


xmlns:math="http://www.w3.org/2005/xpath-functions/math"

eingebunden werden.

Siehe auch https://www.w3.org/TR/xpath-functions-30 : XPath and XQuery Functions and Operators 3.0.html

Siehe auch https://www.w3.org/TR/xpath-functions-31 : XPath and XQuery Functions and Operators 3.1.html..

abs gibt den Absolutwert einer Zahl zurück.
math:acos gibt den Arkus-Cosinus eines Wertes zurück.
math:asin gibt den Arkus-Sinus eines Wertes zurück.
math:atan gibt den Arkus-Tangens eines Wertes zurück.
avg berechnet den Durchschnitt mehrerer Zahlenwerte.
math:cos gibt den Cosinus eines Wertes zurück.
count zählt eine Anzahl Items in einer Sequenz.
math:exp gibt den Wert einer Potenzberechnung zur Basis der natürlichen Zahl e.
math:exp10 gibt den Wert einer Potenzberechnung zur Basis 10.
format-integer formatiert eine Integer-Zahl.
format-number formatiert eine Zahl nach einem vozugebendem Muster.
math:log gibt den natürlichen Logarithmus eines Wertes zurück.
math:log10 gibt den Logarithmus eines Wertes zur Basis 10 zurück.
max gibt den Maximalwert mehrerer Zahlenwerte zurück.
min gibt den Minimalwert mehrerer Zahlenwerte zurück.
number konvertiert einen String in eine Zahl.
math:pi() liefert eine Annäherung an die Zahl PI: 3.141592653589793.
math:pow liefert das Ergebnis einer Potenzrechnung.
math:sin gibt den Sinus eines Wertes zurück.
math:sqrt gibt die Quadratwurzel eines Wertes zurück.
sum summiert eine Liste von Zahlen.
math:tan gibt den Tangens eines Wertes zurück.
to generiert eine Sequenz von Zahlen.

Für weitergehende Berechnungsmöglichkeiten (Multiplikationen, Kumulierungen) siehe auch fold-left, for-each sowie xsl:call-template.

Wichtige Voraussetzung

Bei der Verwendung von nummerischen bzw. Rundungsfunktionen ist es wichtig, sicherzustellen, dass der Dateninput auch auswertbar ist. Folgendes sollte jedenfalls nicht passieren:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
  version="2.0">
  <xsl:output method="xml" indent="yes"/>
  <xsl:variable name="v">
    <werte>
      <wert>9</wert>
      <wert></wert>
      <wert/>
      <wert>-76</wert>
    </werte>    
  </xsl:variable>
  <xsl:template match="/">
    <Ergebnis>
      <xsl:for-each select="$v//wert">
        <Einzelwert>
          <xsl:value-of select="abs(.)"/>
        </Einzelwert>
      </xsl:for-each>
    </Ergebnis>
  </xsl:template>
</xsl:stylesheet>

In diesem Fall erhalten Sie eine Fehlermeldung, die je nach verwendetem XSL-Prozessor so aussehen könnte:


Fehlerlevel: fatal
String to double conversion: no digits found

Das Problem taucht im obigen Fall gleich doppelt auf, es liegt in diesen beiden Zeilen:


      <wert></wert>
      <wert/>

wg / 2. Mai 2021



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/Zahlenfunktionen_sum_count_avg.html