path.xslt
Hilfsvorlagen zu Dateipfaden
2020-12-12
Herbert
Schiemann
h.schiemann@herbaer.de
Im allgemeinen sind relative Dateipfade absoluten Dateipfaden vorzuziehen.
Wenn man eine XML-Datei im Dateisystem verschiebt, die eine xml-stylesheet-Anweisung
mit einem relativen Verweis-Pfad enthält, dann ist die xml-stylesheet-Anweisung
anzupassen. XSLT-Anweisungen zur HTML-Ansicht erzeugen oft Verweise auf CSS- und
Javascript-Dateien. Die Pfade zu den Verweiszielen müssen ebenfalls angepasst werden.
Die Lösung: die XSLT-Datei enthält Dateipfade, die relativ zu der XSLT-Datei sind,
und kombiniert diese Dateipfade mit dem Dateipfad aus der xml-stylesheet-Anweisung
zum Ziel-Dateipfad. Diese Datei enthält die Vorlagen zu dieser Lösung.
Zum Test dienen die Dateien
KLEIDER/catalog/src/dbdump/test_path.xml
und
KLEIDER/catalog/src/dbdump/test_path.xslt.
Der Verzeichnis-Teil eines Dateipfades bis zum letzten '/'
Der Dateiname-Teil eines Dateipfades nach dem letzten '/'
Verzeichnis-Teil des Dateipfades der xml-stylesheet - Anweisung
Verkettet zwei Pfade
prf
(Wert "PRF")
und sfx
(Wert "SFX").
Wenn
prf leer oder "." ist
oder
sfx mit "/" beginnt,
ist das Ergebnis
"SFX".
Wenn
sfx leer ist, ist das Ergebnis
"PRF".
Wenn
prf "/" oder "/." ist,
ist das Ergebnis "/SFX".
Wenn prf den Wert
"./PRFREST" hat,
wird diese Vorlage mit den Parametern
"PRFREST" und
"SFX"
aufgerufen.
Wenn sfx den Wert
"./SFXREST" hat,
wird diese Vorlage mit den Parametern
"PRF"
und "SFXREST"
aufgerufen.
Wenn prf den Wert
"PRFSTART/"
oder "PRFSTART/." hat,
wird diese Vorlage mit den Parametern
"PRFSTART" und
"SFX"
aufgerufen.
Wenn sfx nicht mit "../" anfängt,
ist das Ergebnis
"PRF/SFX".
sfx hat den Wert
"../SF",
prf hat den Wert
"PDIRPLOCAL",
wobei "PLOCAL"
nicht leer ist und nicht das Zeichen "/" enthält.
Wenn
"PLOCAL" ".." ist,
ist das Ergebnis
"PRF/SFX".
Andernfalls wird diese Vorlage (path.cat)
mit den Parametern
"PDER"
und "SF"
aufgerufen.
Verkettet den Pfad aus der xml-stylesheet - Anweisung
mit einem relativen Pfad.