Meta-Funktionen


Table of Contents

1. Meta-Funktionen - internals.meta.xsl
2. Index

1. Meta-Funktionen - internals.meta.xsl

Filename: internals.meta.xsl

$Revision: 25 $, $Date: 2011-05-22 01:49:34 +0200 (Sun, 22 May 2011) $

Dieses Stylesheet enthält interne Templates und Funktionen zur Untersuchung von XSLT-Dateien.

Sie sind das Ergebnis von ein paar Experimenten zur Analyse von Stylesheets und sehr, sehr alpha.

Autor: Stefan Krause

Homepage: http://www.expedimentum.org/

Lizenz (duale Lizenzierung):

Dieses Stylesheet und die dazugehörige Dokumentation sind unter einer Creative Commons-Lizenz (CC-BY 3.0) lizenziert. Die Weiternutzung ist bei Namensnennung erlaubt.

Dieses Stylesheet und die dazugehörige Dokumentation sind unter der sogenannten Expat License (einer GPL-kompatiblen MIT License) lizensiert. Es darf – als Ganzes oder auszugweise – unter Beibehaltung der Copyright-Notiz kopiert, verändert, veröffentlicht und verbreitet werden. Die Copyright-Notiz steht im Quelltext des Stylesheets und auf der Startseite der Dokumentation.

Revision History
Revision 0.2.02011-05-14Stf
erste veröffentlichte Version
Revision 0.1292011-02-27Stf
Erweiterung der Lizenz auf Expath/MIT license
Revision 0.932010-05-30Stf
initiale Version, ausgelagert aus internals.stylecheck.xsl

intern:function-name(1) as="xs:string" (xsl:function)

ermittelt den Namen einer Funktion aus einem String, der wie eine Funktion aussieht

Die Eingabe eines Leerstringes gibt einen Leerstring zurück.

Die Eingabe eines ungültigen Strings gibt einen Leerstring zurück.

Revision History
Revision 0.932010-05-30Stf

Status: alpha

initiale Version

Parameter StringOfAFunctionCall as="xs:string?"

String, der wie ein Funktionsaufruf aussieht.

intern:function-arity(1) as="xs:integer" (xsl:function)

ermittelt die Arity (d.h. die Anzahl der Argumente) einer Funktion

Die Eingabe eines Leerstringes gibt 0 zurück.

Die Eingabe eines ungültigen Strings gibt 0 zurück.

Revision History
Revision 0.932010-05-30Stf

Status: alpha

initiale Version

Parameter StringOfAFunctionCall as="xs:string?"

String, der wie ein Funktionsaufruf aussieht.

intern:looks-like-a-function-call(1) as="xs:boolean" (xsl:function)

Diese Funktion überprüft eine String darauf, ob er wie der Aufruf einer XSLT-/Xpath-Funktion aussieht. Es werden nur zwei Dinge getestet:

  1. per regulärem Ausdruck wird geprüft, ob der String aus einem Namen + einem geklammerten Ausdruck besteht und

  2. per Simulation von castable as xs:Name wird geprüft, ob der vermeintliche Funktionsname ein XML-Name ist. Die Simulation ist notwendig, weil der Typ xs:Name nicht von einem Basic-XSLT-Prozessor unterstützt wird.

Die Eingabe eines Leerstringes gibt false() zurück.

Die Eingabe eines ungültigen Strings gibt false() zurück.

Revision History
Revision 0.932010-05-30Stf

Status: alpha

initiale Version

Parameter StringOfAFunctionCall as="xs:string?"

String, der wie ein Funktionsaufruf aussieht.

intern:castable-as-xs-name(1) as="xs:boolean" (xsl:function)

Diese Funktion überprüft eine String darauf, ob er als xs:Name gecastest werden kann. Diese Funktion ist notwendig, weil xs:Name resp. castable as xs:Name nicht von einem Basic-XSLT-Prozessor unterstützt werden.

Die Eingabe eines Leerstringes gibt false() zurück.

Die Eingabe eines ungültigen Strings gibt false() zurück.

Revision History
Revision 0.952010-06-28Stf

Status: alpha

initiale Version

Parameter string as="xs:string?"

String, der geprüft werden soll.

intern:castable-as-xs-ncname(1) as="xs:boolean" (xsl:function)

Diese Funktion überprüft eine String darauf, ob er als xs:NCName gecastest werden kann. Die Überprüfung erfolgt an Hand eines regulären Ausdruckes nach http://www.w3.org/TR/REC-xml/#NT-Name.

Diese Funktion ist notwendig, weil xs:NCName resp. castable as xs:NCName nicht von einem Basic-XSLT-Prozessor unterstützt werden.

Die Eingabe eines Leerstringes gibt false() zurück.

Die Eingabe eines ungültigen Strings gibt false() zurück.

Revision History
Revision 0.952010-06-28Stf

Status: alpha

initiale Version

Parameter string as="xs:string?"

String, der geprüft werden soll.

intern:function-argument-string(1) as="xs:string" (xsl:function)

Diese Funktion gibt aus einem String, der wie ein Funktionsaufruf aussieht, einen String der vermeintlichen Argumente zurück.

Die Eingabe eines Leerstringes gibt einen Leerstring zurück.

Die Eingabe eines ungültigen Strings (d.h. der String sieht nicht wie eine Funktion aus) gibt einen Leerstring zurück.

Revision History
Revision 0.932010-05-30Stf

Status: alpha

initiale Version

Parameter StringOfAFunctionCall as="xs:string?"

String, der wie ein Funktionsaufruf aussieht.

intern:function-arguments(1) as="xs:string*" intern:solved="EmptySequenceAllowed" (xsl:function)

Diese Funktion erzeugt eine Sequence von Strings der Argumente aus einem String, der wie eine Funktion aussieht.

Die Eingabe eines Leerstringes gibt eine Leersequenz zurück.

Die Eingabe eines ungültigen Strings (d.h. der String sieht nicht wie eine Funktion aus) gibt eine Leersequenz zurück (um <xsl:for-each/> effektiv nutzen zu können).

Revision History
Revision 0.932010-05-30Stf

Status: alpha

initiale Version

Parameter StringOfAFunctionCall as="xs:string?"

String, der wie ein Funktionsaufruf aussieht.

intern:replace-nested-brackets-with-dashes(1) as="xs:string" (xsl:function)

Diese Funktion ist eine Hilfsfunktion, die nur existiert, weil rekursive Aufrufe notwendig waren. Details sind nicht interssant.

Die Eingabe eines Leerstringes oder eine Leersequenz gibt einen Leerstring zurück.

Revision History
Revision 0.1162010-07-21Stf

Status: alpha

initiale Version

Parameter input as="xs:string?"

String, der wie ein Funktionsargument aussieht (wird nicht validiert).

2. Index

C F L R

C

F

L

R