The EditGrid stylesheet that I have been using for Exhibit is below.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/
Transform">
<!-- Turns cell data to Exhibit JSONP, by Johan Sundström -->
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:text>editgridCallback({"items":[</xsl:text>
<xsl:for-each select="workbook/sheet/row[position()>1]">
<xsl:if test="position() > 1">,</xsl:if>
<xsl:text> {"type":</xsl:text>
<xsl:call-template name="string">
<xsl:with-param name="data" select="../@name"/>
</xsl:call-template>
<xsl:for-each select="cell[string-length(text()) > 0]">
<xsl:text>,</xsl:text>
<xsl:call-template name="string">
<xsl:with-param name="data"
select="../../row[1]/cell[current()/@col + 1]/text()"/>
</xsl:call-template>
<xsl:text>:</xsl:text>
<xsl:call-template name="string">
<xsl:with-param name="data" select="text()"/>
</xsl:call-template>
</xsl:for-each>
<xsl:text>}</xsl:text>
</xsl:for-each>
<xsl:text> ]})</xsl:text>
</xsl:template>
<xsl:template name="string">
<xsl:param name="data"/>
<xsl:text>"</xsl:text>
<xsl:call-template name="replace">
<xsl:with-param name="data">
<xsl:call-template name="replace">
<xsl:with-param name="data" select="$data"/>
<xsl:with-param name="src" select="' '"/>
<xsl:with-param name="dst" select="'\n'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="src" select="'"'"/>
<xsl:with-param name="dst" select="'\"'"/>
</xsl:call-template>
<xsl:text>"</xsl:text>
</xsl:template><!-- end of string -->
<xsl:template name="replace">
<xsl:param name="data"/>
<xsl:param name="src"/>
<xsl:param name="dst"/>
<xsl:choose>
<xsl:when test="contains($data,$src)">
<xsl:value-of select="concat(substring-before($data,$src),
$dst)"/>
<xsl:call-template name="replace">
<xsl:with-param name="data" select="substring-after($data,
$src)"/>
<xsl:with-param name="src" select="$src"/>
<xsl:with-param name="dst" select="$dst"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$data"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>