diff options
Diffstat (limited to 'utils_xslt.py')
-rw-r--r-- | utils_xslt.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/utils_xslt.py b/utils_xslt.py index 2e09582..de4ec02 100644 --- a/utils_xslt.py +++ b/utils_xslt.py @@ -41,3 +41,18 @@ def xslt_params(**d): k, xslt_boolean(v) if isinstance(v, bool) else v ) return ret + + +def xslt_id_friendly(inner): + """Make the passed XPath expression yielding string XML ID friendly""" + # XXX apostrophe missing + return '''\ + translate( + translate( + {0}, + ' -/:', + '____' + ), + '!"#$%&()*+,;<=>?@[\]^`{{|}}~', + '' + )'''.format(inner) |