You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Jakub Salanyk <ja...@gmail.com> on 2009/06/16 14:07:43 UTC

XPath select expression yields empty values with Xalan 2.7.1

Hello,

I'm trying to switch from an older Xalan-J version to the latest one
(2.7.1). Basically, I'm running Xalan from a servlet (on Tomcat 6) and
things seem to be working fine (no apparent errors) except that the
select expression as used in <xsl:value-of select="path/to/my/element"
/> returns empty values instead of the proper ones. And I'm quite sure
that the xml tree contains proper values. For example, given the
following (simplified) xml tree:

<root>
  <objects>
    <object>
      <title>Aaa</title>
    </object>
    <object>
      <title>Bbb</title>
    </object>
  </objects>
</root>

and the xsl stylesheet:

<xsl:template match="root">
  <xsl:value-of select="/root/objects/object[1]/title" />
</xsl:template>

the expression in the value-of element is empty.
Now, if I modify the stylesheet to:

<xsl:template match="root">
  <xsl:for-each select="objects/object">
    <xsl:value-of select="title" />
  </xsl:for-each>
</xsl:template>

then it works fine.
So it appears that only absolute paths in the select expressions don't
return node values.
I'd appreciate any clues on how to get this to work.

Here's my current environment settings
(org.apache.xalan.xslt.EnvironmentCheck displayed from the servlet):

#---- BEGIN writeEnvironmentReport($Revision$): Useful stuff found: ----
version.DOM.draftlevel=2.0fd
java.class.path=C:\Tomcat\bin\bootstrap.jar
version.JAXP=1.1 or higher
java.ext.dirs=C:\Program Files\Java\jre1.5.0_11\lib\ext
version.xerces2=Xerces-J 2.9.0
version.xerces1=not-present
version.xalan2_2=Xalan Java 2.7.1
version.xalan1=not-present
version.ant=not-present
java.version=1.5.0_11
version.DOM=2.0
version.crimson=not-present
sun.boot.class.path=C:\Program
Files\Java\jre1.5.0_11\lib\rt.jar;C:\Program
Files\Java\jre1.5.0_11\lib\i18n.jar;C:\Program
Files\Java\jre1.5.0_11\lib\sunrsasign.jar;C:\Program
Files\Java\jre1.5.0_11\lib\jsse.jar;C:\Program
Files\Java\jre1.5.0_11\lib\jce.jar;C:\Program
Files\Java\jre1.5.0_11\lib\charsets.jar;C:\Program
Files\Java\jre1.5.0_11\classes
version.SAX=2.0
version.xalan2x=Xalan Java 2.7.1
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.

Serializer version (from
org.apache.xml.serializer.Version.getVersion()) says: Serializer Java
2.7.1

For reference, here's my previous Xalan environment (i.e., the one
that worked flawlessly):

#---- BEGIN writeEnvironmentReport($Revision: 1.3 $): Useful
properties found: ----
java.version=1.5.0_11
version.JAXP=1.1
java.ext.dirs=C:\Program Files\Java\jre1.5.0_11\lib\ext
version.crimson=not-present
java.class.path=C:\Tomcat\bin\bootstrap.jar
version.xerces=not-present
sun.boot.class.path=C:\Program
Files\Java\jre1.5.0_11\lib\rt.jar;C:\Program
Files\Java\jre1.5.0_11\lib\i18n.jar;C:\Program
Files\Java\jre1.5.0_11\lib\sunrsasign.jar;C:\Program
Files\Java\jre1.5.0_11\lib\jsse.jar;C:\Program
Files\Java\jre1.5.0_11\lib\jce.jar;C:\Program
Files\Java\jre1.5.0_11\lib\charsets.jar;C:\Program
Files\Java\jre1.5.0_11\classes
version.DOM.draftlevel=2.0fd
version.xalan2=Xalan;Java;2.1.0;
version.DOM=2.0
version.xalan1=not-present
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.

--
Jakub Salanyk
jakub.salanyk@gmail.com