[ http://issues.apache.org/jira/browse/XALANJ-2038?page=all ]
Brian Minchau updated XALANJ-2038:
----------------------------------
Fix Version: 2.7
> Java Null pointer exception thrown in XSLTransform
> --------------------------------------------------
>
> Key: XALANJ-2038
> URL: http://issues.apache.org/jira/browse/XALANJ-2038
> Project: XalanJ2
> Type: Bug
> Components: Xalan
> Versions: 2.6
> Environment: P 4.0 Windows XP pro
> Reporter: Win
> Fix For: 2.7
>
> When using an XSLTransformer class to transform xml data, NullPointEXception
> is thrown for xsl for the following data and xsl files. The test can be run
> as:
> \j2sdk1.4.2_05\bin\java.exe -classpath
> .;.\lib\xml-apis.jar;.\lib\xercesImpl.jar;.\lib\xalan.jar
> org.apache.xalan.xslt.Process -in data.xml -xsl transform.xsl -out a1.html
> (It will through a null pointer exception when called from the java api
> XSLTransfomer.transform as well). These same file will transform correctly
> with other tools such as XMLSpy or Microsoft's
> Here are the data.xml and transform.xsl files:
> data.xml::
> ==========
> <?xml version="1.0" encoding="UTF-8"?>
> <processErrors reportDate="2005/01/10" reportTime="11:36:10"
> partnerName="TechData" lifecycleInstanceName="Lifecycle 2925870"
> lifecycleDefinitionName="850POTo856ShipNotice">
> <processError lifecycleexceptionid="6e04b6142d0375d70a80759722d891dca1fc64e0"
> errorDate="2004/09/01" errorTime="05:54:00" errorLevel="document" new="1"
> documentName="Purchase Order (850)"
> standardName="X12" specificationName="PO850"><error type="Timing Rule
> Failure" description="Process 'Lifecycle 2925870', document type '850':
> '0001', TimingRule 'complete coverage of 850 by 856 (part number) within 24
> hours': Start Date/Time was null" />
> <error type="Complete Coverage Unmatched Value" description="Process
> 'Lifecycle 2925870', document type '850': '0001', CompleteCoverageRule
> '850POTo856ShipNoticeCC2-PR': The '850' had values '[00001, 00002]', that
> were never matched by any observed, related documents." />
> </processError>
> </processErrors>
> transform.xsl::
> ===============
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
> <xsl:output method="html"/>
> <!-- summary -->
> <xsl:template name="reportSummary">
> <xsl:param name="processErrors"/>
> <table border="0" cellpadding="3" cellspacing="0" width="670">
> <tr>
> <td colspan="2" style="background-color: #02669a;
> font-family:verdana, sans-serif; font-size: 11px; font-weight: bold; color:
> #ffffff; border:#999999 1px solid;">Process Error Summary</td>
> </tr>
> <tr>
> <td width="35%" style="background-color: #bcd3e9;
> font-family:verdana, sans-serif; font-size: 10px; color: #000000;
> border-left:#999999 1px solid; border-bottom:#999999 1px
> solid;">Date/Time</td>
> <td width="65%" style="font-family:verdana, sans-serif;
> font-size: 10px; color: #000000; border-left:#999999 1px solid;
> border-right:#999999 1px solid;border-bottom:#999999 1px solid;">
> <xsl:value-of
> select="$processErrors/@reportDate"/>
> <xsl:text> </xsl:text>
> <xsl:value-of
> select="$processErrors/@reportTime"/>
> <xsl:text> CST</xsl:text>
> </td>
> </tr>
> <tr>
> <td width="35%" style="background-color: #bcd3e9;
> font-family:verdana, sans-serif; font-size: 10px; color: #000000;
> border-left:#999999 1px solid; border-bottom:#999999 1px solid;">Total
> Errors</td>
> <td width="65%"
> style="font-family:verdana, sans-serif; font-size: 10px; color: #000000;
> border-left:#999999 1px solid; border-right:#999999 1px
> solid;border-bottom:#999999 1px solid;">
> <!--xsl:value-of
> select="count($processErrors/processError/@new)"/-->
> <xsl:value-of
> select="count($processErrors/processError/@new)"/>
> </td>
> </tr>
> </table>
> </xsl:template>
> <!-- /summary -->
> <!-- main testReport.xsl -->
> <xsl:template match="*">
> <table border="0" cellspacing="0" cellpadding="0"
> width="100%">
> <tr>
> <td>
> <table border="0" cellpadding="10"
> cellspacing="0" width="100%">
> <tr>
> <td valign="top">
> <div id="ProcessSummaryReport">
> <a id="reportTop" name="reportTop"></a>
> <xsl:call-template name="reportSummary">
> <xsl:with-param name="processErrors"
> select="//processErrors" />
> </xsl:call-template>
> </div>
> <br/>
> </td>
> </tr>
> </table>
> </td>
> </tr>
> </table>
> </xsl:template>
> </xsl:stylesheet>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]