DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16312>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16312 javax.xml.transform.TransformerException: java.util.EmptyStackException Summary: javax.xml.transform.TransformerException: java.util.EmptyStackException Product: XalanJ2 Version: 2.4 Platform: HP OS/Version: HP-UX Status: NEW Severity: Blocker Priority: Other Component: javax.xml AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] javax.xml.transform.TransformerException: java.util.EmptyStackException is thrown during an xml transformation using Xalan. The transformation works fine on our development configuration which is Windows NT and throws the exception on HP-UX. However, we cannot isolate it as a JVM issue because our JDKs and surrounding software are identical in both environments (JDK 1.3.1). Here is the class: import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerConfigurationException; import com.is.util.*; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.io.Writer; import org.apache.log4j.*; import org.apache.log4j.Logger.*; public class XmlToHtml { protected static Logger log = null; static{ try{ //configure logging PropertyConfigurator.configure(new AppProperties ("imd.properties").getProperty("log4j")); log = Logger.getLogger("XmlToHtml"); } catch(Exception e) { System.out.println("Static init error in XmlToHtml.\n" + e); } } // end log static public String convertToXml(String szXmlIn, String szXslPath) throws TransformerException, TransformerConfigurationException, FileNotFoundException, IOException{ String szHtml=""; try{ TransformerFactory tFactory = new org.apache.xalan.processor.TransformerFactoryImpl(); Transformer transformer = tFactory.newTransformer(new javax.xml.transform.stream.StreamSource(szXslPath)); log.debug("XSLPath: " + szXslPath); //Code to transform from string to string Writer wr = new StringWriter(); StreamResult result = new StreamResult(wr); transformer.transform(new StreamSource(new StringReader(szXmlIn)),result); szHtml=wr.toString(); } catch(TransformerConfigurationException tce){ log.fatal("***Configuration error in XML transformer, detail: " + tce); } catch(TransformerException te){ log.info("Error transforming XML, detail: " + te); } log.debug("Prior to xml version strip: \n" + szHtml); try { szHtml = StringFormat.replaceInString(szHtml, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>", " "); } catch (Exception e) {} log.debug("Post xml version strip: \n" + szHtml); log.info("Transformation from XML to HTML complete."); return szHtml; } } Here is our XML: <SESSIONS><SESSION TYPE='SYNCIN' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-9-2003 8:55:39PM" DURATION="86" SUCCESS="0"><REFRESH ID="10" TYPE="PARTIAL"><ERROR ID="-1073731548" SEVERITY="32" TEXT="Last statement integrity constraints occurred: INSERT INTO CALL (ACTV_IND,ACTVT_TYPE_CD,CALL_CNT,CALL_DT,CALL_NMBR,CALL_TYPE_CD,CCRF_NMBR,CUST_K EY_CNTC_NMBR,CUST_LOC_NMBR,END_TM,FLD_ACTV_ACCT_NMBR,HOSP_DEPT_CD,ORGNTD_CALL_IN D,PDA_LAST_UPDT_DT_TM,PLAND_IND,STRT_TM,RMT_LAST_UPDT_USER_ID) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?). [23000 [Microsoft][ODBC SQL Server Driver] [SQL Server]Violation of PRIMARY KEY constraint 'CALL_PK'. Cannot insert duplicate key in object 'CALL'. 2627][01000 [Microsoft][ODBC SQL Server Driver] [SQL Server]The statement has been terminated. 3621][SQL = SELECT ACTV_IND, ACTVT_TYPE_CD, CALL_CNT, CALL_DT, CALL_NMBR, CALL_TYPE_CD, CCRF_NMBR, CUST_KEY_CNTC_NMBR, CUST_LOC_NMBR, END_TM, FLD_ACTV_ACCT_NMBR, HOSP_DEPT_CD, ORGNTD_CALL_IND, PDA_LAST_UPDT_DT_TM, PLAND_IND, STRT_TM, RMT_LAST_UPDT_USER_ID FROM dbo.CALL] [Parameters: 1:1:Y, 12:1:NULL, 5:-15:4, 11:11:{ts '2002-10-08 00:00:00.0'}, 5:-15:598, 12:1:LS, 12:1:NULL, 4:-16:NULL, 4:-16:1509807, 11:11: {ts '1980-01-01 08:00:00.0'}, 4:-16:9928325, 12:1:FZ, 1:1: , 11:11:NULL, 1:1:N, 11:11:{ts '1980-01-01 07:30:00.0'}, 12:1:NULL]." TIMESTAMP="01-9-2003 8:56:37PM"/><ERROR ID="10185" SEVERITY="32" TEXT="4131 integrity constraints occurred while processing the REFRESH data on table CALL." TIMESTAMP="01-9-2003 8:56:37PM"/></REFRESH><DELTA ID="11" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="12" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="13" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="14" TOTALOPS="3" TRANSACTIONS="3"/></SESSION><SESSION TYPE='SYNCIN' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-9-2003 8:38:36PM" DURATION="95" SUCCESS="0"><REFRESH ID="10" TYPE="PARTIAL"><ERROR ID="-1073731548" SEVERITY="32" TEXT="Last statement integrity constraints occurred: INSERT INTO CALL (ACTV_IND,ACTVT_TYPE_CD,CALL_CNT,CALL_DT,CALL_NMBR,CALL_TYPE_CD,CCRF_NMBR,CUST_K EY_CNTC_NMBR,CUST_LOC_NMBR,END_TM,FLD_ACTV_ACCT_NMBR,HOSP_DEPT_CD,ORGNTD_CALL_IN D,PDA_LAST_UPDT_DT_TM,PLAND_IND,STRT_TM,RMT_LAST_UPDT_USER_ID) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?). [23000 [Microsoft][ODBC SQL Server Driver] [SQL Server]Violation of PRIMARY KEY constraint 'CALL_PK'. Cannot insert duplicate key in object 'CALL'. 2627][01000 [Microsoft][ODBC SQL Server Driver] [SQL Server]The statement has been terminated. 3621][SQL = SELECT ACTV_IND, ACTVT_TYPE_CD, CALL_CNT, CALL_DT, CALL_NMBR, CALL_TYPE_CD, CCRF_NMBR, CUST_KEY_CNTC_NMBR, CUST_LOC_NMBR, END_TM, FLD_ACTV_ACCT_NMBR, HOSP_DEPT_CD, ORGNTD_CALL_IND, PDA_LAST_UPDT_DT_TM, PLAND_IND, STRT_TM, RMT_LAST_UPDT_USER_ID FROM dbo.CALL] [Parameters: 1:1:Y, 12:1:NULL, 5:-15:4, 11:11:{ts '2002-10-08 00:00:00.0'}, 5:-15:598, 12:1:LS, 12:1:NULL, 4:-16:NULL, 4:-16:1509807, 11:11: {ts '1980-01-01 08:00:00.0'}, 4:-16:9928325, 12:1:FZ, 1:1: , 11:11:NULL, 1:1:N, 11:11:{ts '1980-01-01 07:30:00.0'}, 12:1:NULL]." TIMESTAMP="01-9-2003 8:39:34PM"/><ERROR ID="10185" SEVERITY="32" TEXT="4131 integrity constraints occurred while processing the REFRESH data on table CALL." TIMESTAMP="01-9-2003 8:39:34PM"/></REFRESH><DELTA ID="11" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="12" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="13" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="14" TOTALOPS="3" TRANSACTIONS="3"/></SESSION><SESSION TYPE='SYNCIN' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-13-2003 7:25:44PM" DURATION="2" SUCCESS="1"><ERROR ID="-1073731533" SEVERITY="32" TEXT="SERVER DELTA 13 received out of order. Will process after receiving DELTAs 10 - 12." TIMESTAMP="01-13-2003 7:25:44PM"/><ERROR ID="-1073731533" SEVERITY="32" TEXT="SERVER DELTA 14 received out of order. Will process after receiving DELTAs 10 - 13." TIMESTAMP="01-13-2003 7:25:45PM"/></SESSION><SESSION TYPE='SYNCIN' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-9-2003 10:15:21PM" DURATION="95" SUCCESS="0"><REFRESH ID="10" TYPE="PARTIAL"><ERROR ID="-1073731548" SEVERITY="32" TEXT="Last statement integrity constraints occurred: INSERT INTO CALL (ACTV_IND,ACTVT_TYPE_CD,CALL_CNT,CALL_DT,CALL_NMBR,CALL_TYPE_CD,CCRF_NMBR,CUST_K EY_CNTC_NMBR,CUST_LOC_NMBR,END_TM,FLD_ACTV_ACCT_NMBR,HOSP_DEPT_CD,ORGNTD_CALL_IN D,PDA_LAST_UPDT_DT_TM,PLAND_IND,STRT_TM,RMT_LAST_UPDT_USER_ID) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?). [23000 [Microsoft][ODBC SQL Server Driver] [SQL Server]Violation of PRIMARY KEY constraint 'CALL_PK'. Cannot insert duplicate key in object 'CALL'. 2627][01000 [Microsoft][ODBC SQL Server Driver] [SQL Server]The statement has been terminated. 3621][SQL = SELECT ACTV_IND, ACTVT_TYPE_CD, CALL_CNT, CALL_DT, CALL_NMBR, CALL_TYPE_CD, CCRF_NMBR, CUST_KEY_CNTC_NMBR, CUST_LOC_NMBR, END_TM, FLD_ACTV_ACCT_NMBR, HOSP_DEPT_CD, ORGNTD_CALL_IND, PDA_LAST_UPDT_DT_TM, PLAND_IND, STRT_TM, RMT_LAST_UPDT_USER_ID FROM dbo.CALL] [Parameters: 1:1:Y, 12:1:NULL, 5:-15:4, 11:11:{ts '2002-10-08 00:00:00.0'}, 5:-15:598, 12:1:LS, 12:1:NULL, 4:-16:NULL, 4:-16:1509807, 11:11: {ts '1980-01-01 08:00:00.0'}, 4:-16:9928325, 12:1:FZ, 1:1: , 11:11:NULL, 1:1:N, 11:11:{ts '1980-01-01 07:30:00.0'}, 12:1:NULL]." TIMESTAMP="01-9-2003 10:16:20PM"/><ERROR ID="10185" SEVERITY="32" TEXT="4131 integrity constraints occurred while processing the REFRESH data on table CALL." TIMESTAMP="01-9-2003 10:16:20PM"/></REFRESH><DELTA ID="11" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="12" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="13" TOTALOPS="3" TRANSACTIONS="3"/><DELTA ID="14" TOTALOPS="3" TRANSACTIONS="3"/></SESSION><SESSION TYPE='SYNCOUT' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-9-2003 8:52:34PM" DURATION="12" SUCCESS="1"><DELTA ID="2" TOTALOPS="0" TRANSACTIONS="4"/></SESSION><SESSION TYPE='SYNCOUT' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-9-2003 8:35:33PM" DURATION="12" SUCCESS="1"><DELTA ID="1" TOTALOPS="0" TRANSACTIONS="4"/></SESSION><SESSION TYPE='SYNCOUT' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-13-2003 7:25:05PM" DURATION="12" SUCCESS="1"><DELTA ID="1" TOTALOPS="0" TRANSACTIONS="4"/></SESSION><SESSION TYPE='SYNCOUT' APPLICATION="INSIGHT" DBID="BREDENBE" STARTTIME="01-9-2003 10:12:30PM" DURATION="10" SUCCESS="1"><DELTA ID="2" TOTALOPS="0" TRANSACTIONS="4"/></SESSION></SESSIONS> Here is the XSL: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java"> <xsl:template match="/"> <TABLE border="1" cellspacing="0" cellpadding="0" width="800"> <TR class="header"> <TD align="center">User</TD> <TD align="center">Process Type</TD> <TD align="center">Session Date</TD> <TD align="center">Duration</TD> <TD align="center">Total Ops</TD> <TD align="center">Transactions</TD> <TD align="center">Status</TD> </TR> <xsl:for-each select="SESSIONS/SESSION"> <xsl:sort select='java:com.is.util.StringFormat.formatDate(@STARTTIME, "MM-d- yyyy H:mm:ssa", "MM-dd-yyyy HH:mm:ssa")' order="descending"/> <tr class="on"> <td> <p align="center"><xsl:value-of select="@DBID"/></p> </td> <td> <p align="center"><xsl:value-of select="@TYPE"/></p> </td> <td> <p align="center"><xsl:value-of select='java:com.is.util.StringFormat.formatDate(@STARTTIME, "MM-d-yyyy H:mm:ssa", "MM-dd-yyyy HH:mm:ssa")'/></p> </td> <td> <p align="center"><xsl:value-of select='format-number((@DURATION div 60),"###.00")'/></p> </td> <td> <p align="center"><xsl:value-of select="sum(DELTA/@TOTALOPS)"/></p> </td> <td> <p align="center"><xsl:value-of select="sum(DELTA/@TRANSACTIONS)"/></p> </td> <td> <xsl:choose> <xsl:when test="@SUCCESS='1'"> <b><p align="center">Success</p></b> </xsl:when> <xsl:when test="@SUCCESS='0'"> <b><p align="center"><font color="#FF0000">Failed</font></p></b> </xsl:when> <xsl:otherwise> <b><p align="center">Unknown</p></b> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:for-each> </TABLE> </xsl:template> </xsl:stylesheet> Exception occurs on line: transformer.transform(new StreamSource(new StringReader(szXmlIn)),result); Thanks for any information you can provide on whether or not this is a valid bug. [EMAIL PROTECTED]
