<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:saxon="http://saxon.sf.net/"
    xmlns:my="myFunctions"
    extension-element-prefixes="saxon my"
    >
    <xsl:function name="my:merge"><xsl:param name="a"/><xsl:value-of select="$a"/></xsl:function>
    <xsl:template match="/">
    <results>
    <xsl:for-each select="//li[@class='g']">
        <search-result>
            <title><xsl:value-of select="h3/a"/></title>
            <url><xsl:value-of select="h3/a/@href"/></url>
            <snippets><xsl:value-of select="my:merge(div[@class='s']/node()[not(self::cite or self::span or self::br)])"/></snippets>
        </search-result>
    </xsl:for-each>
    </results>
</xsl:template>
</xsl:stylesheet>
