O ja, en om de

O ja, en om de lelijke %20-dingen eruit te krijgen zou ik kunnen iets in deze zin doen:

<?xml version=”1.0″ encoding=”UTF-8″?>
<xsl:stylesheet version=”1.0 xmlns:xsl=”http://www.w3.org/1999/XSL/Transform“>
  <xsl:template name=”replace-string“>
    <xsl:param name=”text“/>
    <xsl:param name=”from“/>
    <xsl:param name=”to“/>
    <xsl:choose>
      <xsl:when test=”contains($text, $from)“>
        <xsl:variable name=”before select=”substring-before($text, $from)“/>
        <xsl:variable name=”after select=”substring-after($text, $from)“/>
        <xsl:variable name=”prefix select=”concat($before, $to)“/>
        <xsl:value-of select=”$before“/>
        <xsl:value-of select=”$to“/>
        <xsl:call-template name=”replace-string“>
          <xsl:with-param name=”text select=”$after“/>
          <xsl:with-param name=”from select=”$from“/>
          <xsl:with-param name=”to select=”$to“/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select=”$text“/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  <xsl:template match=”/“>
    <xsl:for-each select=”table/tr/td[2]/a“>
      <xsl:sort select=”@href“/>
      <xsl:for-each select=”@href“>
        <xsl:call-template name=”replace-string“>
          <xsl:with-param name=”text select=”.“/>
          <xsl:with-param name=”from select=”‘%20’“/>
          <xsl:with-param name=”to select=”‘ ‘“/>
        </xsl:call-template>
      </xsl:for-each>
      <br/>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

…maar da’s echt wel geek stuff denk ik.