[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] stylesheet functions or named templates
Are there distinctions to be drawn that are not merely idiomatic or stylistic between a stylesheet function and a named template? That is, are there runtime considerations between a pair of named templates like this: <xsl:template name="correctDate"> <xsl:param name="dateParts"/> <xsl:variable name="tokens" select="fn:tokenize($dateParts, '/')"/> <xsl:value-of select="$tokens[3]"/> <xsl:text>-</xsl:text> <xsl:call-template name="pad"> <xsl:with-param name="digits" select="$tokens[1]"/> </xsl:call-template> <xsl:text>-</xsl:text> <xsl:call-template name="pad"> <xsl:with-param name="digits" select="$tokens[2]"/> </xsl:call-template> </xsl:template> <xsl:template name="pad"> <xsl:param name="digits"/> <xsl:choose> <xsl:when test="fn:string-length($digits) = 1"> <xsl:value-of select="concat('0', $digits)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$digits"/> </xsl:otherwise> </xsl:choose> </xsl:template> And this pair of user defined functions: <xsl:function name="sfn:correctDate" as="xs:date"> <xsl:param name="s"/> <xsl:variable name="seq" select="fn:tokenize($s, '/')"/> <xsl:value-of select="concat($seq[3],'-',sfn:pad($seq[1]),'-',sfn:pad($seq[2]))"/> </xsl:function> <xsl:function name="sfn:pad"> <xsl:param name="digits"/> <xsl:choose> <xsl:when test="fn:string-length($digits) = 1"> <xsl:value-of select="concat('0',$digits)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$digits"/> </xsl:otherwise> </xsl:choose> </xsl:function> Both contain template bodies, the tree representing the named *correctDate* template is a few nodes bigger, perhaps. I can call functions from within XPath expressions. Anything else to consider in terms of execution efficiency? TIA, Mike ----------------------------------- Mike Haarman, XSL Developer, Internet Broadcasting Systems, Inc.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|