]> git.draconx.ca Git - homepage.git/blobdiff - layouts/functions.xsl
Embed SVG icons directly into output.
[homepage.git] / layouts / functions.xsl
index d9c5748053bbf4a3759b4a572d05f5d90061c12f..a88c3380cc88f3bb0d59491bcb6e33f8316f8830 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   Nick's web site: XSLT helper functions.
 
-  Copyright © 2019-2020 Nick Bowler
+  Copyright © 2019-2021 Nick Bowler
 
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   along with this program.  If not, see <https://www.gnu.org/licenses/>
 -->
 <xsl:stylesheet version='1.0'
+  xmlns='http://www.w3.org/1999/xhtml'
   xmlns:xhtml='http://www.w3.org/1999/xhtml'
   xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
   xmlns:func='http://exslt.org/functions'
   xmlns:f='http://draconx.ca/my-functions'
   extension-element-prefixes='func f'>
 
+<xsl:output method='xml' encoding='UTF-8' indent='yes'
+  doctype-public='-//W3C//DTD XHTML 1.1//EN'
+  doctype-system='http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd' />
+
 <!-- Returns true iff the given element is an XHTML span-level element -->
 <func:function name='f:element-is-span'>
   <xsl:param name='node' select='.' />
                        or f:element-is-span($node)' />
 </func:function>
 
+<!-- f:ends-with(a, b) returns true iff a ends with b -->
+<func:function name='f:ends-with'>
+  <xsl:param name='str' />
+  <xsl:param name='suffix' />
+  <func:result select='$suffix=substring($str,
+    string-length($str)-string-length($suffix)+1)' />
+</func:function>
+
 <!-- Remove leading whitespace from a string -->
 <func:function name='f:strip-leading'>
   <xsl:param name='str' select='.' />