RE: [xsl] sum() Function Used With Variables

Subject: RE: [xsl] sum() Function Used With Variables
From: "Ryan Lubben" <ryanl@xxxxxxxxxxx>
Date: Wed, 14 Mar 2007 13:38:48 -0500
Sorry Charles, 

I will try to elaborate some more.  Here is a sample of the XML, my
stylesheet code, as well as the error that I get from Antenna House when I
try to render.

XML TABLE

<informaltable> 
	<tgroup cols="2"> 
	<colspec colname="col1" colwidth="1.5in"/> 
	<colspec colname="col2" colwidth="2.0in"/> 
		<tbody> 
			<row> 
				<entry colname="col1" > </entry> 
				<entry colname="col2" > </entry>
			</row> 
		</tbody> 
	</tgroup> 
</informaltable>

STYLESHEET

<xsl:template match="informaltable">
	<xsl:param name="colwidths">
		<xsl:choose>
			<xsl:when test="contains(tgroup/colspec/@colwidth,
'in')">
				<xsl:value-of
select="substring-before(tgroup/colspec/@colwidth,'in')"/>
			</xsl:when>
			<xsl:otherwise>0</xsl:otherwise> 
		</xsl:choose>
	</xsl:param>
		
	<xsl:param name="sum.colwidths" select="sum($colwidths)"/>

	<fo:block>Total Column Widths = <xsl:value-of
select="$sum.columns"/> 	</fo:block>

</xsl:template>

ANTENNAHOUSE ERROR

--- Format Abort ---
6145 (1801):Missing end tag. Line 477, Col 22,
C:\DOCUME~1\ryanl\LOCALS~1\Temp\xif1078_54dc.xml
source:XfoCommon::XmlParserImpl

Thanks,

Ryan


-----Original Message-----
From: cknell@xxxxxxxxxx [mailto:cknell@xxxxxxxxxx] 
Sent: Wednesday, March 14, 2007 1:24 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] sum() Function Used With Variables

A sample of your input would help, and while I can grasp that "my stylesheet
bottoms out" is not a good thing, it isn't specific enough to aid in
diagnosing the problem.
-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Ryan Lubben <ryanl@xxxxxxxxxxx>
Sent:     Wed, 14 Mar 2007 13:14:51 -0500
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject:  [xsl] sum() Function Used With Variables

Hi All,

I am currently attempting to use the sum() function in XSLT 1.0 to total up
various table column widths in order to determine whether or not the table
needs to span the entire width of the page. Unfortunately, the column width
attribute that exists in the XML has the inches designator included in the
width value.  I have set my stylesheet up so that the 'in' designator is
filtered through another variable using the substring-before() function, but
as soon as I attempt to use the sum() function with the first variable my
stylesheet bottoms out.  Any help would be greatly appreciated.  

<xsl:param name="colwidths">
	<xsl:choose>
		<xsl:when test="contains(tgroup/colspec/@colwidth, 'in')">
			<xsl:value-of
select="substring-before(tgroup/colspec/@colwidth,'in')"/>
		</xsl:when>
		<xsl:otherwise>0</xsl:otherwise> 
	</xsl:choose>
</xsl:param>
		
<xsl:param name="sum.colwidths" select="sum($colwidths)"/> 


Thanks in advance.

Ryan Lubben

Current Thread