Hi, Ed,
The template is as such:
<xsl:template name="translate_type" >
<xsl:param name="db_type" />
<xsl:choose >
<xsl:when test="$db_type='CHAR'">String</xsl:when>
<xsl:when test="$db_type='VARCHAR'">String</xsl:when>
<xsl:when test="$db_type='LONGVARCHAR'">String</xsl:when>
<xsl:when test="$db_type='NUMERIC'">java.math.BigDecimal</xsl:when>
<xsl:when test="$db_type='DECIMAL'">java.math.BigDecimal</xsl:when>
<xsl:when test="$db_type='BIT'">boolean</xsl:when>
<xsl:when test="$db_type='TINYINT'">byte</xsl:when>
<xsl:when test="$db_type='SMALLINT'">short</xsl:when>
<xsl:when test="$db_type='INTEGER'"> int </xsl:when>
<xsl:when test="$db_type='BIGINT'"> long </xsl:when>
<xsl:when test="$db_type='REAL'"> float </xsl:when>
<xsl:when test="$db_type='FLOAT'"> double </xsl:when>
<xsl:when test="$db_type='DOUBLE'"> double </xsl:when>
<xsl:when test="$db_type='BINARY'"> byte[] </xsl:when>
<xsl:when test="$db_type='VARBINARY'"> byte[] </xsl:when>
<xsl:when test="$db_type='LONGVARBINARY'"> byte[] </xsl:when>
<xsl:when test="$db_type='DATE'"> java.sql.Date </xsl:when>
<xsl:when test="$db_type='TIME'"> java.sql.Time </xsl:when>
<xsl:when test="$db_type='TIMESTAMP'"> java.sql.Timestamp
</xsl:when>
<xsl:when test="$db_type='CLOB'"> Clob </xsl:when>
<xsl:when test="$db_type='BLOB'"> Blob </xsl:when>
<xsl:when test="$db_type='ARRAY'"> Array </xsl:when>
<xsl:when test="$db_type='DISTINCT'"> mapping of underlying type
</xsl:when>
<xsl:when test="$db_type='STRUCT'"> Struct </xsl:when>
<xsl:when test="$db_type='REF'"> Ref </xsl:when>
<xsl:when test="$db_type='JAVA_OBJECT'"> underlying Java class
</xsl:when>
</xsl:choose>
</xsl:template>
Regards,
Anthony
-----Original Message-----
From: Edward(_dot_)Middleton(_at_)nikonoa(_dot_)net
[mailto:Edward(_dot_)Middleton(_at_)nikonoa(_dot_)net]
Sent: Thursday, January 09, 2003 3:24 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] how to capture a value returned by a template call
into a variable
You need to post your translate_type template. What you have posted looks
fine.
Edward Middleton
-----Original Message-----
From: Anthony Kong [mailto:anthony(_dot_)kong(_at_)ufjia(_dot_)com]
Sent: Thursday, January 09, 2003 3:04 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] how to capture a value returned by a template call into a
variable
Hi, all,
I have tried to search by keyword "function" or "template" into the mailing
list but there are no many enties returned in the results. So i have to
venture to ask this question in this list. If the question has appeared
before, please kindly bear with me.
I would like to modularise some common code as a function. But in XSLT 1.0
there is no function facility. My common code involved is to tranlate a DB
type into a java type. That is what i have done:
<xsl:variable name="java_type">
<xsl:call-template name="translate_type">
<xsl:with-param name="db_type" select="@jdbc-type"/>
</xsl:call-template>
</xsl:variable>
I intended (wish, actually :-) to capture the result into variable
"java_type". However it failed.
What is a better way to achieve this?
Regards,
Anthony
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list