Nice. I verified that this works for me with Saxon 9.5 (whatever's bundled
with Oxygen 16.1).
Cheers,
E.
bbbbb
Eliot Kimber, Owner
Contrext, LLC
http://contrext.com
On 11/6/14, 4:20 AM, "Costello, Roger L. costello@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>Hi Folks,
>
>So, you've got an XSLT program that is taking a long time to execute. You
>want to find out what part of the program is taking so much time. You
>need to insert some start/stop timers into your XSLT. Here's how to do it:
>
><?xml version="1.0" encoding="UTF-8"?>
><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:date="java:java.util.Date"
> version="2.0">
>
> <xsl:output method="text" />
> <xsl:output name="text-format" method="text"/>
>
> <xsl:template match="/">
> <!-- Start a timer -->
> <xsl:variable name="start" select="date:getTime(date:new())" />
>
> <!-- Do your XSLT processing -->
> <xsl:apply-templates />
>
> <!-- End the timer -->
> <xsl:variable name="end" select="date:getTime(date:new())" />
>
> <!-- Log the benchmarking results to a file, time-info.txt -->
> <xsl:result-document href="time-info.txt" format="text-format">
> start: <xsl:value-of select="$start" />
> end: <xsl:value-of select="$end" />
> diff: <xsl:value-of select="$end - $start" />
> </xsl:result-document>
>
> </xsl:template>
>
> <xsl:template match="*">
> <!-- Do something -->
> <xsl:text>Hello World </xsl:text>
> <xsl:value-of select="current-dateTime()" />
> </xsl:template>
>
></xsl:stylesheet>
|