xsl-list
[Top] [All Lists]

Re: XPath error in Xalan

2004-11-05 08:31:37
Try the string-length() function.

Worked for me in Xalan (though I have since switched to Saxon for other 
reasons).

Jay Bryant
Bryant Communication Services




"Thomson, Alisa" <Thomson(_at_)fhlb-of(_dot_)com> 
11/05/2004 07:20 AM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com


To
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
cc

Subject
[xsl] XPath error in Xalan






I have a template that was producing the exact output I need except that
I need the elements to be optional.  So, if an element is empty it
should not be processed.  I tried several different methods of testing
to see if an element is empty...all of which work fine through XMLSpy
(using the MSXML parser); however, will Xalan all of the methods break
with the following exception:

ERROR [2004-11-04 14:48:54,608] [woods][TFO] :
PDFGenerator.generatePDF::Caught
TransformerException; SystemID:
file:///c:/Projects/Eneg/dev/templates/couponRows.xsl; Line#: 56;
Column#: 41
javax.xml.transform.TransformerException: Unknown error in XPath
        at org.apache.xpath.XPath.bool(XPath.java:411)
        at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:198)
        at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Trans
formerImpl.java:2182)
        at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.j
ava:678)

Here are two samples of methods I tried:

  <xsl:if test="Determination[. != '']">
    <xsl:apply-templates select="Determination"/> 
  </xsl:if>

  <xsl:if test="string()">
    <xsl:apply-templates select="Determination"/> 
  </xsl:if>

I also tried placing the Xalan jar in the java_home/lib/endorsed
directory like the Xalan docs specify for JDK1.4 with the same results.
Below is the EnvironmentCheck output from Xalan:

C:\Projects\Eneg\dev\scripts\batch>java
org.apache.xalan.xslt.EnvironmentCheck
#---- BEGIN writeEnvironmentReport($Revision: 1.14 $): Useful stuff
found: ----
version.DOM.draftlevel=2.0fd
java.class.path=C:/Projects/Eneg/dev/dist/enegotiated.jar;C:/Projects/En
eg/dev/d
ist/enegotiated_web.jar;C:/bea/jdk141_05/lib/tools.jar;C:/Projects/Eneg/
dev/lib/
log4j-1.2.4.jar;C:/Projects/Eneg/dev/lib/xerces.jar;C:/Projects/Eneg/dev
/lib/fop
.jar;C:/Projects/Eneg/dev/lib/avalon-framework-4.1.5.jar;C:/Projects/Ene
g/dev/li
b/batik.jar;C:/bea/weblogic81/server/lib/jConnect.jar;C:/bea/weblogic81/
server/l
ib/jconn2.jar;C:/Projects/Eneg/dev/java/ear/war/WEB-INF/classes
version.JAXP=1.1
java.ext.dirs=C:\Program Files\Java\j2re1.4.2_03\lib\ext
version.xerces2=not-present
version.xerces1=Xerces 1.4.4
version.xalan2_2=Xalan Java 2.4.1
version.xalan1=not-present
version.ant=not-present
java.version=1.4.2_03
version.DOM=2.0
version.crimson=present-unknown-version
sun.boot.class.path=C:\Program
Files\Java\j2re1.4.2_03\lib\rt.jar;C:\Program Fil
es\Java\j2re1.4.2_03\lib\i18n.jar;C:\Program
Files\Java\j2re1.4.2_03\lib\sunrsas
ign.jar;C:\Program Files\Java\j2re1.4.2_03\lib\jsse.jar;C:\Program
Files\Java\j2
re1.4.2_03\lib\jce.jar;C:\Program
Files\Java\j2re1.4.2_03\lib\charsets.jar;C:\Pr
ogram Files\Java\j2re1.4.2_03\classes
#---- BEGIN Listing XML-related jars in: foundclasses.java.class.path
----
xerces.jar-path=C:\Projects\Eneg\dev\lib\xerces.jar
xerces.jar-apparent.version=xerces.jar from xalan-j_2_2_0
#----- END Listing XML-related jars in: foundclasses.java.class.path
-----
version.SAX=2.0
version.xalan2x=Xalan Java 2.4.1
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.

Any ideas would be appreciated.

Thanks,
Ci-Ci

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





<Prev in Thread] Current Thread [Next in Thread>