This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: HTML output generated by XALAN using Java Servlet terminates abruptly
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] HTML output generated by XALAN using Java Servlet terminates abruptly
- From: Shaun Smith <shauns at pixology dot com>
- Date: Mon, 18 Jun 2001 10:15:14 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
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