[xsl] Escaping special characters for *nix file path

Subject: [xsl] Escaping special characters for *nix file path
From: Lighton Phiri <lighton.phiri@xxxxxxxxx>
Date: Sun, 29 Jul 2012 04:43:49 +0200
I am trying to dynamically create a *nix compatible file path by
pulling information off of database tables. A number of resulting
paths have special characters that need to be escaped to be considered
valid file paths. The path below is an example of what I am dealing
with

/data/Sites/3218AD Eland's Bay/Bobbejaansberg/BB15/

For path above to be valid in *nix, I need to escape 'spaces', 'single
quote' with 'backslash' to get output below

/data/Sites/3218AD\ Eland\'s\ Bay/Bobbejaansberg/BB15/

I've been trying to play around with the 'replace' function and
'disable-output-escaping', but can't seem to make it work --see
snippet below.

 <xsl:value-of select="replace(replace(replace(replace(replace($filename,
' ', '\ '), '\&#40;', '\&#40;'), '&#41;', '\&#41;'), '&#91;',
'\&#91;'), '&#93;', '\&#93;')" disable-output-escaping="yes" />

How do I escape the special characters in my dynamically created path?

Lighton Phiri
http://lightonphiri.org

Current Thread