This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: HTML output generated by XALAN using Java Servlet terminates abruptly


I have had this as well.  With me it was a fault in the stylesheet (with no
error reporting...).
Cue tiresome XSLT debugging session.
Shaun.

-----Original Message-----
From: Humair Mohammed [mailto:humair@usa.net]
Sent: 15 June 2001 23:22
To: XSL-List@lists.mulberrytech.com
Subject: [xsl] HTML output generated by XALAN using Java Servlet
terminates abruptly


Hello,

I am using a Java Servlet to transform a XML/XSL files into HTML.
Everything
works fine except after I exceed certain number of lines on my XSL file the
servlet html output terminates abruptly. In other words I see partial
output.
I do not see any error messages!

Here's a part of the code from the servlet:

response.setContentType("text/html; charset=UTF-8");   
PrintWriter out = response.getWriter();
String serverName = request.getServerName();
String xslPath = request.getParameter("xsl");
		
try
{	
TransformerFactory tFactory = TransformerFactory.newInstance();
Source xmlSource = new StreamSource(new
URL(getViewURL(request)).openStream());
Source xslSource = new StreamSource(new URL("http://"; + serverName +
xslPath).openStream());
Transformer transformer = tFactory.newTransformer(xslSource);
transformer.transform(xmlSource, new StreamResult(out));
}
catch (Exception e)
{
out.write(e.getMessage());
e.printStackTrace(out);    
}

And here's the xsl code:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">


<xsl:template match="/">
	<html>
	
	<head>
	<title>Significant Litigation Ruling</title>
	<link rel="stylesheet" type="text/css"
href="/pmtln/css/caselist.css" />
	<script language="javascript" src="/pmtln/js/SLRView.js" />
	</head>
	
	<body onLoad="setImage()">
	
	<xsl:call-template name="nav" />
	
	<xsl:comment>
	
=====================================================================
	Generate the header
	
=====================================================================
	</xsl:comment>
	
	<table border="0" cellpading="0" cellspacing="0">
	<tr>
	<td width="98" class="header">Date 
	<a href="javascript:generateSortLink(0)"><img name="sort0"
src="/icons/dblsort.gif" border="0" /></a>
	</td>
	<td width="198" class="header">Case 
	<a href="javascript:generateSortLink(1)"><img name="sort1"
src="/icons/dblsort.gif" border="0" /></a>
	</td>
	<td width="300" class="header">Subject</td>
	</tr>
	</table>
	
	<xsl:comment>
	
=====================================================================
	Generate the data
	
=====================================================================
	</xsl:comment>
	
	<xsl:apply-templates select="viewentries/viewentry" />
	
	<xsl:comment>
	
=====================================================================
	Generate the footer
	
=====================================================================
	</xsl:comment>
	
	<xsl:variable name="start"
select="viewentries/viewentry[1]/@position" />
	<xsl:variable name="end"
select="viewentries/viewentry[last()]/@position" />
	<xsl:variable name="total"
select="viewentries/viewentry[last()]/@siblings"
/>
	<xsl:value-of select="concat('Records ', $start, ' - ', $end, ' of
',
$total)" />
	
	<xsl:call-template name="nav" />
	
	</body>
	</html>
</xsl:template>

<xsl:template match="viewentries/viewentry">
	<xsl:variable name="altcolor">
		<xsl:variable name="level" select="number(@position)" />
		<xsl:if test="$level mod 2 = 0">even</xsl:if>
		<xsl:if test="$level mod 2 = 1">odd</xsl:if>
	</xsl:variable>
	<table border="1" cellpading="0" cellspacing="0">
	<tr class="{$altcolor}">
	<td width="100" align="left"><xsl:value-of
select="entrydata[@columnnumber='0']" /></td>
	<td width="200" align="left"><a
href="/SLRDemo.nsf/CurrentRulings/{@unid}?OpenDocument" target="_blank">
	<xsl:value-of select="entrydata[@columnnumber='1']" /></a></td>
	<td width="300" align="left"><xsl:value-of
select="entrydata[@columnnumber='2']" /></td>
	</tr>
	</table>
</xsl:template>

<xsl:template name="nav">
	<table border="1" width="610" cellpading="0" cellspacing="0">
	<tr>
	<xsl:comment>
	
=====================================================================
	Add the previous arrow graphic and remove the link if no previous
	records exist
	
=====================================================================
	</xsl:comment>
	
	<td width="300" align="left">
	<xsl:if test="number(viewentries/viewentry[1]/@position) != 1">
		<xsl:variable name="start"
select="number(viewentries/viewentry[1]/@position) - 21" />
		<a href="javascript:generateNavLink({$start + 1},0)"><img
src="/icons/actn142.gif" border="0" alt="Previous" /></a>
	</xsl:if>
	
	<xsl:if test="number(viewentries/viewentry[1]/@position) = 1">
		<img src="/icons/actn142.gif" border="0" alt="Previous" />
	</xsl:if>
	
	<xsl:comment>
	
=====================================================================
	Add the next arrow graphic
	
=====================================================================
	</xsl:comment>
	
	<xsl:if test="number(viewentries/viewentry[last()]/@position) !=
number(viewentries/viewentry[last()]/@siblings)">
		<xsl:variable name="start"
select="number(viewentries/viewentry[last()]/@position)" />
		<img src="/icons/ecblank.gif" border="0" hspace="2" />
		<a href="javascript:generateNavLink({$start + 1},1)"><img
src="/icons/actn143.gif" border="0" alt="Next" /></a>
	</xsl:if>
	
	<xsl:if test="number(viewentries/viewentry[last()]/@position) =
number(viewentries/viewentry[last()]/@siblings)">
		<img src="/icons/ecblank.gif" border="0" hspace="2" />
		<img src="/icons/actn143.gif" border="0" alt="Next" />
	</xsl:if>
	</td>
	</tr></table>
</xsl:template>

</xsl:stylesheet>

____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=1

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]