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.