<commit_before><?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <!-- I can't believe I have to do this -->
    <!-- Based on this code:
            http://geekswithblogs.net/Erik/archive/2008/04/01/120915.aspx
    -->
    <xsl:template name="strreplace">
        <xsl:param name="string"/>
        <xsl:param name="token"/>
        <xsl:param name="newtoken"/>
        <xsl:choose>
            <xsl:when test="contains($string, $token)">
                <xsl:value-of select="substring-before($string, $token)"/>
                <xsl:value-of select="$newtoken"/>
                <xsl:call-template name="strreplace">
                    <xsl:with-param name="string" select="substring-after($string, $token)"/>
                    <xsl:with-param name="token" select="$token"/>
                    <xsl:with-param name="newtoken" select="$newtoken"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$string"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template match="/">
        <xsl:for-each select="gtester">
            <testsuite>
                <xsl:attribute name="name">
                    <xsl:value-of select="testbinary/@path"/>
                </xsl:attribute>
                <xsl:attribute name="tests">
                    <xsl:value-of select="count(testbinary/testcase)"/>
                </xsl:attribute>
                <xsl:attribute name="time">
                    <xsl:value-of select="sum(testbinary/testcase/duration)"/>
                </xsl:attribute>
                <xsl:attribute name="failures">
                    <xsl:value-of select="count(testbinary/testcase/status[@result='failed'])"/>
                </xsl:attribute>
                <xsl:for-each select="testbinary/testcase"><commit_msg>Whoops<commit_after><?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <!-- I can't believe I have to do this -->
    <!-- Based on this code:
            http://geekswithblogs.net/Erik/archive/2008/04/01/120915.aspx
    -->
    <xsl:template name="strreplace">
        <xsl:param name="string"/>
        <xsl:param name="token"/>
        <xsl:param name="newtoken"/>
        <xsl:choose>
            <xsl:when test="contains($string, $token)">
                <xsl:value-of select="substring-before($string, $token)"/>
                <xsl:value-of select="$newtoken"/>
                <xsl:call-template name="strreplace">
                    <xsl:with-param name="string" select="substring-after($string, $token)"/>
                    <xsl:with-param name="token" select="$token"/>
                    <xsl:with-param name="newtoken" select="$newtoken"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$string"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template match="/">
        <xsl:for-each select="gtester">
            <testsuite>
                <xsl:attribute name="name">
                    <xsl:value-of select="testbinary[1]/@path"/>
                </xsl:attribute>
                <xsl:attribute name="tests">
                    <xsl:value-of select="count(testbinary[1]/testcase)"/>
                </xsl:attribute>
                <xsl:attribute name="time">
                    <xsl:value-of select="sum(testbinary[1]/testcase/duration)"/>
                </xsl:attribute>
                <xsl:attribute name="failures">
                    <xsl:value-of select="count(testbinary[1]/testcase/status[@result='failed'])"/>
                </xsl:attribute>
                <xsl:for-each select="testbinary[1]/testcase">
{'fraction_non_alphanumeric': 0.16805845511482254, 'fraction_numerical': 0.013308977035490605, 'mean_word_length': 1.8455827765404602, 'pattern_counts': {'":': 0, '<': 81, '<?xml version=': 2, '>': 81, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '323505', 'n_tokens_mistral': 1209, 'n_tokens_neox': 1049, 'n_words': 163}