Lehrer Nussbaumer - XML, XSL et cetera

XML

XSL

  1. XSLT
  2. XSLT-Elemente
  3. XSLT-Funktionen
  4. XPath
  5. XPath-Funktionen
  6. XSL-FO
  7. XSL Formatierungsobjekte
  8. XSL Eigenschaften
  9. Verschiedene Transformationen

Anwendungen 

Editoren

Parser u.a.

Schnittstellen


-----------------
letzte änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

XPath-Funktionen

Grundsätzlich unterscheiden wir 4 Gruppen von Funktionen:

  1. Funktionen für Knotenmengen
  2. Funktionen für Zeichenketten
  3. Funktionen für Boole'sche Werte
  4. Funktionen für Zahlenwerte

Funktionen für Knotenmengen

  • count(node-set) - gibt die Anzahl der Knoten an, die in der angegebenen Knotenmenge enthalten sind.
  • id(object) - Wählt Elemente anhand des eindeutigen Bezceichners aus.
  • last() - hat kein Argument und liefert die Nummer des letzten Knotens in der Knotenmenge.
  • local-name(node-set) - liefert den lokalen Teil des Namens der Knotenmenge (nur für Element- und Attributknoten)
  • name(node-set) - liefert den vollen, qualifizierten Namen der Knotenmenge (nur für Element- und Attributknoten)
  • namespace-uri(node-set) - liefert den Namensraum-URI des ersten Knotens in der angegebenen Knotenmenge
  • position() - hat kein Argument und liefert die Position des Knotens in der Kontextknotenmenge (die Nummerierung der Knoten in der Kontextknotenmenge beginnt dabei immer mit 1 !)
Zum Anfang

Funktionen für Zeichenketten

  • concat(string1, string2, ...) - verkettet die angegebenen Zeichenketten.
  • contains(string1, string2) - liefert den Boole'schen Wert, der angibt, ob die erste Zeichenkette string1 in der zweiten Zeichenkette string2 enthalten ist.
    Im folgenden Beispiel wird im gesamten Dokument nach dem Vorkommen der Kategoriebezeichnung "edv" gesucht:
    XPath - Zeichenkettenfunktion contains()
  • normalize-space(string) - liefert die angegebene Zeichenkette ohne Leerraum zurück.
  • starts-with(string1, string2) - liefert den Boole'schen Wert, der angeibt, wenn die erste Zeichenkette string1 mit der zweiten Zeichenkette string2 beginnt.
  • string(object) - liefert den Zeichenkettenwert des angegebenen Objektes
  • string-length(string) - gibt die Länge der angegebenen Zeichenkette zurück.
    string-length("Informatik")
    liefert (wenig überraschend ;-)
    10
  • substring(string, number1, number2) - Liefert die Teilzeichenkette, die an der Position beginnt, die die erste Zahl number1 festlegt. Die Länge der Teilzeichenkette entspricht der zweiten Zahl number2.
  • substring-after(string1, string2) - liefert die Teilzeichenkette aus der Zeichenkette string1, die nach der Zeichenette string2 beginnt.
    substring-after("Informatik ist super", "ist")
    liefert
    super
    Eine praktische Anwendung findet die Funktion bei Datumsangaben:
    substring-after("2004/04/12","20")
    liefert das Datum mit nur zwei Jahreszahlangaben:
    04/04/12
  • substring-before(string1, string2) - analog.
    substring-before("2004/04/12","/")
    liefert die Jahreszahl
    2004
  • translate(string1, string2, string3) - Gibt die erste Zeichenkette string1 zurück, in der alle Zeichen, die in string2 genannt werden durch die entsprechenden Zeichen in string3 ersetzt wurden.
    translate("Informatik ist super", "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
    liefert
    INFORMATIK IST SUPER
Zum Anfang

Funktionen für Boole'sche Werte

  • boolean(object) - liefert je nach dem angegebenen Objekt boolesche Werte zurück.
  • false() - liefert den Boole'schen Wert "false"
  • lang(string) - liefert "true", wenn der Kontextknoten in der Sprache auftritt, die durch das Attribut xml:lang festgelegt wurde.
  • not(boolean) - kehrt den Wahrheitswert des Argumentes in sein Gegenteil um.
  • true() - liefert den Boole'schen Wert "true"
Zum Anfang

Funktionen für Zahlen

  • ceiling(number) - liefert die kleinste Zahl, die größer oder gleich der angegebenen Zahl ist.
  • floor(number) - berechnet die größte Zahl, die kleiner oder gleich der angegebenen Zahl ist.
  • number(object) - gibt den Zahlenwert zurück, der aus dem angegebenen Objekt berechnet wird.
    number(true())
    liefert
    1
  • round(number) - liefert den (nach der 4/5-Regel) gerundeten Zahlenwert.
  • sum(node-set) - wandelt alle durch das Argument festgelegten Knotenwerte in Zahlenwerte um und ermittelt die Summe davon.
Zum Anfang

© Alfred Nussbaumer, Weblog